diff --git a/DNN Platform/Admin Modules/Dnn.Modules.Console/Dnn.Modules.Console.csproj b/DNN Platform/Admin Modules/Dnn.Modules.Console/Dnn.Modules.Console.csproj index 97d47a456a3..c78a2f1bade 100644 --- a/DNN Platform/Admin Modules/Dnn.Modules.Console/Dnn.Modules.Console.csproj +++ b/DNN Platform/Admin Modules/Dnn.Modules.Console/Dnn.Modules.Console.csproj @@ -107,6 +107,7 @@ + diff --git a/DNN Platform/Admin Modules/Dnn.Modules.Console/module.rtl.css b/DNN Platform/Admin Modules/Dnn.Modules.Console/module.rtl.css new file mode 100644 index 00000000000..ed6cb86701d --- /dev/null +++ b/DNN Platform/Admin Modules/Dnn.Modules.Console/module.rtl.css @@ -0,0 +1,82 @@ +/* Persian-DnnSoftware */ +.console { width:95%; height:95%; } +.console select { margin-right:0px;margin-bottom:4px; } + +.console-none div { height:30px; margin:2px; width:180px; padding:5px; cursor:pointer; text-align:right; float:right; } +.console-none h3 { margin: 0px 28px 2px 2px; padding-top:5px; font-size:1em; line-height: 1.4em; font-weight: normal } +.console-none div div { display:none; } + +.console-none-detail div { padding:10px; clear:both; cursor:pointer; } +.console-none-detail h3 { margin: 2px 28px 2px 2px; padding-top:5px; font-size:1em; } +.console-none-detail div div { margin: 2px 28px 2px 2px; padding:0px; clear:none; } + +.console-small div { height:30px; margin:2px; width:180px; padding:5px; cursor:pointer; text-align:right; float:right; } +.console-small img { padding:4px; float:right; } +.console-small h3 { margin: 0px 28px 2px 2px; padding-top:5px; font-size:1em; line-height: 1.4em; font-weight: normal } +.console-small div div { display:none; } + +.console-small-detail div { padding:10px; clear:both; cursor:pointer; } +.console-small-detail img { padding:4px; float:right; } +.console-small-detail h3 { margin: 2px 28px 2px 2px; padding:0px; font-size:1em; } +.console-small-detail div div { margin: 2px 28px 2px 2px; padding:0px; clear:none; } + +.console-large div { margin:10px; width:130px; height:90px !important; padding:0px; cursor:pointer; text-align:center; float:right; } +.console-large img { float:none; padding: 10px 0px 0px 0px; } +.console-large h3 { margin:2px; width:130px; text-align:center; overflow:hidden; font-size:1em; line-height: 1.4em; padding-top:5px; font-weight: normal } +.console-large div div { display:none; } + +.console-large-detail div { margin:0px; padding:15px; clear:both; cursor:pointer; } +.console-large-detail img { padding:0px; float:right; } +.console-large-detail h3 { margin: 2px 44px 2px 2px; padding: 0px; font-size:1em; } +.console-large-detail div div { margin: 2px 44px 2px 2px; padding:0px; clear:none; } + +.console-mouseon { background-color:#ebedf0; } /*#f1f6f9*/ + +/*------------------------------------------------*/ +/* DEFAULT PROFILE STYLE */ +/*------------------------------------------------*/ + +.UserProfileControls ul li { + list-style-type: none; +} + +/*------------------------------------------------*/ +/* PROFILE STYLE */ +/*------------------------------------------------*/ +.console.profile { + /*width: 250px;*/ + width:100% !important; /* updated for responsive*/ + height: auto; + background-color: #484848; /* Menu Background Color */ +} + +.console.profile .console-none div { + cursor: pointer; + cursor: pointer; + float: right; + height: auto; + /*width: 250px;*/ + width:100% !important; /* updated for responsive*/ + padding: 0px; + margin: 0px; + text-align: right; +} + +.console.profile .console-none h3 { + padding: 10px 40px 10px 8px; + margin: 0; + border-bottom: solid 1px #fff; + background: url('../../images/arrow-right-white.png') 18px center no-repeat; + color: #eee; + font-size: 13px; + line-height: 1; + font-weight: bold; +} + +.console.profile .console-none div div { + display: none; +} + +.console.profile .console-mouseon { + background-color: #70b1c7; /* Menu Hover Background Color */ +} \ No newline at end of file diff --git a/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj b/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj index dba0b58db50..33fdeec8759 100644 --- a/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj +++ b/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj @@ -126,6 +126,7 @@ + diff --git a/DNN Platform/Connectors/GoogleTagManager/Module.rtl.css b/DNN Platform/Connectors/GoogleTagManager/Module.rtl.css new file mode 100644 index 00000000000..14502c227cd --- /dev/null +++ b/DNN Platform/Connectors/GoogleTagManager/Module.rtl.css @@ -0,0 +1,10 @@ +/* Persian-DnnSoftware */ +body { +} +.snippetTree { + float: right; + min-width: 17%; +} +.dnnDisabled { + +} \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Client/ClientResourceManager.cs b/DNN Platform/DotNetNuke.Web.Client/ClientResourceManager.cs index 8b5e2cff1f0..93def69c405 100644 --- a/DNN Platform/DotNetNuke.Web.Client/ClientResourceManager.cs +++ b/DNN Platform/DotNetNuke.Web.Client/ClientResourceManager.cs @@ -428,6 +428,19 @@ public static void RegisterStyleSheet(Page page, string filePath, int priority, return; } + /* START Persian-DnnSoftware */ + /* if ((System.Globalization.CultureInfo.CurrentCulture.TextInfo.IsRightToLeft && filePath.Contains(".css")) && !filePath.Contains("http")) //Comment for 404 Page Bug Fix, CurrentCulture => CurrentUICulture */ + if ((System.Globalization.CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft && filePath.Contains(".css")) && !filePath.Contains("http")) + { + string locfile = filePath.Replace(".css", ".rtl.css"); + if (FileExists(page, locfile)) + { + filePath = locfile; + } + } + + /* END Persian-DnnSoftware */ + var include = new DnnCssInclude { ForceProvider = provider, Priority = priority, FilePath = filePath, Name = name, Version = version }; if (htmlAttributes != null) { diff --git a/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDatePicker.cs b/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDatePicker.cs index f764d53d0bb..1859f883fca 100644 --- a/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDatePicker.cs +++ b/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDatePicker.cs @@ -48,16 +48,35 @@ public DateTime? SelectedDate /// protected override void OnPreRender(EventArgs e) { - base.OnPreRender(e); - - JavaScript.RequestRegistration(CommonJs.jQuery); - - ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/moment.min.js"); - ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/pikaday.js"); - ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/pikaday.jquery.js"); - - ClientResourceManager.RegisterStyleSheet(this.Page, "~/Resources/Shared/components/DatePicker/pikaday.css"); - + base.OnPreRender(e); + + JavaScript.RequestRegistration(CommonJs.jQuery); + + ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/moment.min.js"); + /* START Persian-DnnSoftware */ + if (CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft) + { + ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/persian.datepicker.js"); + } + else + { + ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/pikaday.js"); + } + + /* END Persian-DnnSoftware */ + ClientResourceManager.RegisterScript(this.Page, "~/Resources/Shared/components/DatePicker/pikaday.jquery.js"); + /* START Persian-DnnSoftware */ + if (CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft) + { + ClientResourceManager.RegisterStyleSheet(this.Page, "~/Resources/Shared/components/DatePicker/persian.datepicker.css"); + } + else + { + ClientResourceManager.RegisterStyleSheet(this.Page, "~/Resources/Shared/components/DatePicker/pikaday.css"); + } + + /* END Persian-DnnSoftware */ + this.RegisterClientResources(); } diff --git a/DNN Platform/Library/Common/Utilities/Calendar.cs b/DNN Platform/Library/Common/Utilities/Calendar.cs index e532649d870..64481e9c817 100644 --- a/DNN Platform/Library/Common/Utilities/Calendar.cs +++ b/DNN Platform/Library/Common/Utilities/Calendar.cs @@ -43,14 +43,36 @@ public static string InvokePopupCal(TextBox field) // Get the short date pattern for the culture string formatString = DateTimeFormatInfo.CurrentInfo.ShortDatePattern; - if (!field.Page.ClientScript.IsClientScriptIncludeRegistered("PopupCalendar.js")) + /* START Persian-DnnSoftware */ + if (System.Globalization.CultureInfo.CurrentCulture.ToString() == "fa-IR") { - ScriptManager.RegisterClientScriptInclude(field.Page, field.Page.GetType(), "PopupCalendar.js", ClientAPI.ScriptPath + "PopupCalendar.js"); + if (!field.Page.ClientScript.IsClientScriptIncludeRegistered("PersianCalendar.js")) + { + ClientAPI.RegisterClientScriptBlock(field.Page, "PersianCalendar.js", ""); + ClientAPI.RegisterClientScriptBlock(field.Page, "PersianCalendar.css", ""); + } + } + else + { + if (!field.Page.ClientScript.IsClientScriptIncludeRegistered("PopupCalendar.js")) + { + ScriptManager.RegisterClientScriptInclude(field.Page, field.Page.GetType(), "PopupCalendar.js", ClientAPI.ScriptPath + "PopupCalendar.js"); + } } + /* END Persian-DnnSoftware */ + string strToday = ClientAPI.GetSafeJSString(Localization.GetString("Today")); string strClose = ClientAPI.GetSafeJSString(Localization.GetString("Close")); string strCalendar = ClientAPI.GetSafeJSString(Localization.GetString("Calendar")); + + /* START Persian-DnnSoftware */ + if (System.Globalization.CultureInfo.CurrentCulture.ToString() == "fa-IR") + { + return "javascript:displayDatePicker('" + field.ClientID + "');"; + } + + /* END Persian-DnnSoftware */ return $"javascript:popupCal('Cal','{field.ClientID}','{formatString}','{monthNameString}','{dayNameString}','{strToday}','{strClose}','{strCalendar}',{(int)DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek});"; } diff --git a/DNN Platform/Library/Common/Utilities/DateUtils.cs b/DNN Platform/Library/Common/Utilities/DateUtils.cs index 9ac423b8508..60d52070df7 100644 --- a/DNN Platform/Library/Common/Utilities/DateUtils.cs +++ b/DNN Platform/Library/Common/Utilities/DateUtils.cs @@ -85,8 +85,20 @@ public static DateTime GetDatabaseLocalTime() /// DateTime in UTC. /// String representing the required date for display. public static string CalculateDateForDisplay(DateTime date) - { - var utcTimeDifference = GetDatabaseUtcTime() - date; + { + /* START Persian-DnnSoftware */ + string tempdate = date.ToString("yyyy/MM/dd HH:mm:ss"); + DateTime date1 = GetDatabaseUtcTime(); + TimeSpan utcTimeDifference; + + if (System.Globalization.CultureInfo.CurrentCulture.ToString() == "fa-IR") + { + date = DateTime.Parse(tempdate); + } + + utcTimeDifference = date1 - date; + /* END Persian-DnnSoftware */ + /* var utcTimeDifference = GetDatabaseUtcTime() - date; */ if (utcTimeDifference.TotalSeconds < 60) { diff --git a/DNN Platform/Library/Entities/Urls/AdvancedUrlRewriter.cs b/DNN Platform/Library/Entities/Urls/AdvancedUrlRewriter.cs index 6d61891069b..4bb93adef22 100644 --- a/DNN Platform/Library/Entities/Urls/AdvancedUrlRewriter.cs +++ b/DNN Platform/Library/Entities/Urls/AdvancedUrlRewriter.cs @@ -489,6 +489,16 @@ private static void Handle404OrException(FriendlyUrlSettings settings, HttpConte if (context != null) { + /* START Persian-DnnSoftware */ + /* 404 Page RLT Bug Fix */ + var portalInfo = PortalController.Instance.GetPortal(Host.HostPortalID); + if (portalInfo.CultureCode == "fa-IR") + { + var newCulture = Services.Localization.Persian.PersianController.NewCultureInfo(portalInfo.CultureCode); + System.Threading.Thread.CurrentThread.CurrentUICulture = newCulture; + } + + /* END Persian-DnnSoftware */ HttpRequest request = context.Request; HttpResponse response = context.Response; HttpServerUtility server = context.Server; @@ -762,7 +772,16 @@ private static void Handle404OrException(FriendlyUrlSettings settings, HttpConte // 881 : spoof the basePage object so that the client dependency framework // is satisfied it's working with a page-based handler - IHttpHandler spoofPage = new CDefault(); + /* START Persian-DnnSoftware */ + /* 404 Page RLT Bug Fix */ + /* IHttpHandler spoofPage = new CDefault(); */ + var spoofPage = new CDefault(); + if (portalInfo.CultureCode == "fa-IR") + { + spoofPage.Culture = "fa-IR"; + } + + /* END Persian-DnnSoftware */ context.Handler = spoofPage; server.Transfer("~/" + errUrl, true); } @@ -1393,28 +1412,39 @@ private static string MakeUrlWithAlias(Uri requestUri, PortalAliasInfo alias) /// private static bool IgnoreRequestForInstall(string physicalPath, string refererPath, string requestedDomain, string refererDomain) { - if (physicalPath.EndsWith("install.aspx", true, CultureInfo.InvariantCulture) + /* START Persian-DnnSoftware */ + try + { + /* END Persian-DnnSoftware */ + if (physicalPath.EndsWith("install.aspx", true, CultureInfo.InvariantCulture) || physicalPath.EndsWith("installwizard.aspx", true, CultureInfo.InvariantCulture) || physicalPath.EndsWith("upgradewizard.aspx", true, CultureInfo.InvariantCulture) || Globals.Status == Globals.UpgradeStatus.Install || Globals.Status == Globals.UpgradeStatus.Upgrade) - { - return true; - } + { + return true; + } - // 954 : DNN 7.0 compatibility - // check for /default.aspx which is default Url launched from the Upgrade/Install wizard page - // 961 : check domain as well as path for the referer - if (physicalPath.EndsWith(Globals.glbDefaultPage, true, CultureInfo.InvariantCulture) == false + // 954 : DNN 7.0 compatibility + // check for /default.aspx which is default Url launched from the Upgrade/Install wizard page + // 961 : check domain as well as path for the referer + if (physicalPath.EndsWith(Globals.glbDefaultPage, true, CultureInfo.InvariantCulture) == false && refererPath != null && string.Compare(requestedDomain, refererDomain, StringComparison.OrdinalIgnoreCase) == 0 && (refererPath.EndsWith("install.aspx", true, CultureInfo.InvariantCulture) || refererPath.EndsWith("installwizard.aspx", true, CultureInfo.InvariantCulture) || refererPath.EndsWith("upgradewizard.aspx", true, CultureInfo.InvariantCulture))) + { + return true; + } + + /* START Persian-DnnSoftware */ + } + catch (Exception) { - return true; } + /* END Persian-DnnSoftware */ return false; } @@ -3115,12 +3145,23 @@ private void SecurityCheck(HttpApplication app) // URL validation // check for ".." escape characters commonly used by hackers to traverse the folder tree on the server // the application should always use the exact relative location of the resource it is requesting - var strURL = request.Url.AbsolutePath; - var strDoubleDecodeURL = server.UrlDecode(server.UrlDecode(request.Url.AbsolutePath)) ?? string.Empty; - if (UrlSlashesRegex.Match(strURL).Success || UrlSlashesRegex.Match(strDoubleDecodeURL).Success) + /* START Persian-DnnSoftware */ + var regx = new Regex("[\\\\/]\\.\\.[\\\\/]", RegexOptions.Compiled); + string url = server.UrlDecode(server.UrlDecode(request.Url.AbsolutePath)) ?? string.Empty; + if (!regx.Match(request.Url.AbsolutePath).Success && !regx.Match(url).Success) { - throw new HttpException(404, "Not Found"); + return; } + + app.Context.Response.Redirect(app.Context.Request.Url.Host.ToString(), true); + + // var strURL = request.Url.AbsolutePath; + // var strDoubleDecodeURL = server.UrlDecode(server.UrlDecode(request.Url.AbsolutePath)) ?? string.Empty; + // if (UrlSlashesRegex.Match(strURL).Success || UrlSlashesRegex.Match(strDoubleDecodeURL).Success) + // { + // throw new HttpException(404, "Not Found"); + // } + /* END Persian-DnnSoftware */ } } } diff --git a/DNN Platform/Library/Properties/AssemblyInfo.cs b/DNN Platform/Library/Properties/AssemblyInfo.cs index 710153dea39..f2200a8573a 100644 --- a/DNN Platform/Library/Properties/AssemblyInfo.cs +++ b/DNN Platform/Library/Properties/AssemblyInfo.cs @@ -12,11 +12,11 @@ // associated with an assembly. // Review the values of the assembly attributes -[assembly: AssemblyTitle("DotNetNuke")] +[assembly: AssemblyTitle("DotNetNuke - Persian-DnnSoftware")] [assembly: AssemblyDescription("Open Source Web Application Framework")] [assembly: CLSCompliant(true)] -[assembly: AssemblyStatus(ReleaseMode.Alpha)] +[assembly: AssemblyStatus(ReleaseMode.Stable)]/* Persian-DnnSoftware */ // Allow internal variables to be visible to testing projects [assembly: InternalsVisibleTo("DotNetNuke.Tests.Core")] diff --git a/DNN Platform/Library/Security/Roles/RoleController.cs b/DNN Platform/Library/Security/Roles/RoleController.cs index 6cc608572d8..45e030921e8 100644 --- a/DNN Platform/Library/Security/Roles/RoleController.cs +++ b/DNN Platform/Library/Security/Roles/RoleController.cs @@ -641,7 +641,10 @@ private static void SendNotification(UserInfo objUser, RoleInfo objRole, PortalS preferredLocale = portalSettings.DefaultLanguage; } - var ci = new CultureInfo(preferredLocale); + /* START Persian-DnnSoftware */ + /* var ci = new CultureInfo(preferredLocale); */ + var ci = DotNetNuke.Services.Localization.Persian.PersianController.NewCultureInfo(preferredLocale); + /* END Persian-DnnSoftware */ UserRoleInfo objUserRole = RoleController.Instance.GetUserRole(portalSettings.PortalId, objUser.UserID, objRole.RoleID); custom.Add(Null.IsNull(objUserRole.EffectiveDate) ? DateTime.Today.ToString("g", ci) diff --git a/DNN Platform/Library/Services/FileSystem/FileServerHandler.cs b/DNN Platform/Library/Services/FileSystem/FileServerHandler.cs index 0a9afa0cf6a..c442018bf90 100644 --- a/DNN Platform/Library/Services/FileSystem/FileServerHandler.cs +++ b/DNN Platform/Library/Services/FileSystem/FileServerHandler.cs @@ -72,7 +72,10 @@ public void ProcessRequest(HttpContext context) if (LocaleController.Instance.IsEnabled(ref language, portalSettings.PortalId)) { - Localization.SetThreadCultures(new CultureInfo(language), portalSettings); + /* START Persian-DnnSoftware */ + /* Localization.SetThreadCultures(new CultureInfo(language), portalSettings); */ + Localization.SetThreadCultures(DotNetNuke.Services.Localization.Persian.PersianController.NewCultureInfo(language), portalSettings); + /* END Persian-DnnSoftware */ Localization.SetLanguage(language); } diff --git a/DNN Platform/Library/Services/Localization/LocaleController.cs b/DNN Platform/Library/Services/Localization/LocaleController.cs index 4e33bf79b47..ef42b268170 100644 --- a/DNN Platform/Library/Services/Localization/LocaleController.cs +++ b/DNN Platform/Library/Services/Localization/LocaleController.cs @@ -51,7 +51,10 @@ public bool CanDeleteLanguage(int languageId) /// culture list. public List GetCultures(Dictionary locales) { - return locales.Values.Select(locale => new CultureInfo(locale.Code)).ToList(); + /* START Persian-DnnSoftware */ + /* return locales.Values.Select(locale => new CultureInfo(locale.Code)).ToList(); */ + return locales.Values.Select(locale => Persian.PersianController.NewCultureInfo(locale.Code)).ToList(); + /* END Persian-DnnSoftware */ } /// Gets the current locale for current request to the portal. diff --git a/DNN Platform/Library/Services/Localization/Localization.cs b/DNN Platform/Library/Services/Localization/Localization.cs index 48b92417541..7b8e1415fea 100644 --- a/DNN Platform/Library/Services/Localization/Localization.cs +++ b/DNN Platform/Library/Services/Localization/Localization.cs @@ -150,7 +150,10 @@ public static string SystemTimeZone { get { - return "Pacific Standard Time"; + /* START Persian-DnnSoftware */ + /* return "Pacific Standard Time"; */ + return "Iran Standard Time"; + /* END Persian-DnnSoftware */ } } @@ -609,8 +612,10 @@ public static CultureInfo GetPageLocale(IPortalSettings portalSettings) } // finally set the cookie - SetLanguage(pageCulture.Name); - return pageCulture; + /* START Persian-DnnSoftware */ + /* return pageCulture; */ + return Persian.PersianController.NewCultureInfo(pageCulture); + /* END Persian-DnnSoftware */ } /// Tries to get a valid language from the browser preferences. @@ -1531,10 +1536,16 @@ public static int GetCultureLanguageID(string cultureCode) public string GetFixedCurrency(decimal expression, string culture, int numDigitsAfterDecimal) { string oldCurrentCulture = this.CurrentUICulture; - var newCulture = new CultureInfo(culture); + /* START Persian-DnnSoftware */ + /* var newCulture = new CultureInfo(culture); */ + var newCulture = Persian.PersianController.NewCultureInfo(culture); + /* END Persian-DnnSoftware */ Thread.CurrentThread.CurrentUICulture = newCulture; string currencyStr = expression.ToString(newCulture.NumberFormat.CurrencySymbol); - var oldCulture = new CultureInfo(oldCurrentCulture); + /* START Persian-DnnSoftware */ + /* var oldCulture = new CultureInfo(oldCurrentCulture); */ + var oldCulture = Persian.PersianController.NewCultureInfo(oldCurrentCulture); + /* END Persian-DnnSoftware */ Thread.CurrentThread.CurrentUICulture = oldCulture; return currencyStr; } @@ -1542,10 +1553,16 @@ public string GetFixedCurrency(decimal expression, string culture, int numDigits public string GetFixedDate(DateTime expression, string culture) { string oldCurrentCulture = this.CurrentUICulture; - var newCulture = new CultureInfo(culture); + /* START Persian-DnnSoftware */ + /* var newCulture = new CultureInfo(culture); */ + var newCulture = Persian.PersianController.NewCultureInfo(culture); + /* END Persian-DnnSoftware */ Thread.CurrentThread.CurrentUICulture = newCulture; string dateStr = expression.ToString(newCulture.DateTimeFormat.FullDateTimePattern); - var oldCulture = new CultureInfo(oldCurrentCulture); + /* START Persian-DnnSoftware */ + /* var oldCulture = new CultureInfo(oldCurrentCulture); */ + var oldCulture = Persian.PersianController.NewCultureInfo(oldCurrentCulture); + /* END Persian-DnnSoftware */ Thread.CurrentThread.CurrentUICulture = oldCulture; return dateStr; } @@ -1565,7 +1582,10 @@ internal static CultureInfo GetCultureFromString(int portalId, string language) { if (LocaleController.Instance.IsEnabled(ref language, portalId)) { - culture = new CultureInfo(language); + /* START Persian-DnnSoftware */ + /* culture = new CultureInfo(language); */ + culture = Persian.PersianController.NewCultureInfo(language); + /* END Persian-DnnSoftware */ } else { @@ -1581,7 +1601,10 @@ internal static CultureInfo GetCultureFromString(int portalId, string language) { if (localeCode.Split('-')[0] == preferredLanguage.Split('-')[0]) { - culture = new CultureInfo(localeCode); + /* START Persian-DnnSoftware */ + /* culture = new CultureInfo(localeCode); */ + culture = Persian.PersianController.NewCultureInfo(localeCode); + /* END Persian-DnnSoftware */ break; } } @@ -1859,7 +1882,10 @@ private static CultureInfo GetCultureFromPortal(IPortalSettings portalSettings) if (!string.IsNullOrEmpty(portalSettings.DefaultLanguage)) { // As the portal default language can never be disabled, we know this language is available and enabled - culture = new CultureInfo(portalSettings.DefaultLanguage); + /* START Persian-DnnSoftware */ + /* culture = new CultureInfo(portalSettings.DefaultLanguage); */ + culture = Persian.PersianController.NewCultureInfo(portalSettings.DefaultLanguage); + /* END Persian-DnnSoftware */ } else { @@ -1874,7 +1900,10 @@ private static CultureInfo GetCultureFromPortal(IPortalSettings portalSettings) { foreach (string localeCode in enabledLocales.Keys) { - culture = new CultureInfo(localeCode); + /* START Persian-DnnSoftware */ + /* culture = new CultureInfo(localeCode); */ + culture = Persian.PersianController.NewCultureInfo(localeCode); + /* END Persian-DnnSoftware */ break; } } diff --git a/DNN Platform/Library/Services/Localization/Persian/PersianController.cs b/DNN Platform/Library/Services/Localization/Persian/PersianController.cs index 1458cf4259e..4a17bde5592 100644 --- a/DNN Platform/Library/Services/Localization/Persian/PersianController.cs +++ b/DNN Platform/Library/Services/Localization/Persian/PersianController.cs @@ -8,7 +8,7 @@ namespace DotNetNuke.Services.Localization.Persian using System.Globalization; using System.Reflection; - internal class PersianController + public class PersianController /* Persian-DnnSoftware make class public */ { public static CultureInfo GetPersianCultureInfo() { @@ -64,10 +64,128 @@ public static void SetPersianDateTimeFormatInfo(DateTimeFormatInfo persianDateTi } public static void SetNumberFormatInfo(NumberFormatInfo persianNumberFormatInfo) - { - persianNumberFormatInfo.NumberDecimalSeparator = "/"; - persianNumberFormatInfo.DigitSubstitution = DigitShapes.NativeNational; - persianNumberFormatInfo.NumberNegativePattern = 0; - } + { + /* START Persian-DnnSoftware */ + // persianNumberFormatInfo.NumberDecimalSeparator = "/"; + // persianNumberFormatInfo.DigitSubstitution = DigitShapes.NativeNational; + // persianNumberFormatInfo.NumberNegativePattern = 0; + persianNumberFormatInfo.NumberDecimalSeparator = "."; + persianNumberFormatInfo.CurrencySymbol = string.Empty; + persianNumberFormatInfo.CurrencyDecimalDigits = 0; + /* END Persian-DnnSoftware */ + } + + public static CultureInfo GetGregorianCultureInfo(string cultureCode) /* Persian-DnnSoftware */ + { + var gregorianCultureInfo = new CultureInfo(cultureCode); + + var cal = new GregorianCalendar(); + + FieldInfo fieldInfo = gregorianCultureInfo.GetType().GetField("calendar", BindingFlags.NonPublic | BindingFlags.Instance); + if (fieldInfo != null) + { + fieldInfo.SetValue(gregorianCultureInfo, cal); + } + + FieldInfo info = gregorianCultureInfo.DateTimeFormat.GetType().GetField("calendar", BindingFlags.NonPublic | BindingFlags.Instance); + if (info != null) + { + info.SetValue(gregorianCultureInfo.DateTimeFormat, cal); + } + + return gregorianCultureInfo; + } + + /* START Persian-DnnSoftware */ + public static CultureInfo NewCultureInfo(string cultureCode) + { + if (string.IsNullOrEmpty(cultureCode)) + { + return null; + } + + if (cultureCode.StartsWith("fa-")) + { + CultureInfo persianCultureInfo = GetPersianCultureInfo(); + return persianCultureInfo; + } + + if (cultureCode.StartsWith("ar-")) + { + /* START Persian-DnnSoftware */ + CultureInfo gregorianCultureInfo = GetGregorianCultureInfo(cultureCode); + /* END Persian-DnnSoftware */ + return gregorianCultureInfo; + } + + return new CultureInfo(cultureCode, false); + } + + public static CultureInfo NewCultureInfo(CultureInfo cultureInfo) + { + if (cultureInfo != null) + { + if (cultureInfo.Name.StartsWith("fa-")) + { + CultureInfo persianCultureInfo = GetPersianCultureInfo(); + return persianCultureInfo; + } + + if (cultureInfo.Name.StartsWith("ar-")) + { + /* START Persian-DnnSoftware */ + CultureInfo gregorianCultureInfo = GetGregorianCultureInfo(cultureInfo.Name); + /* END Persian-DnnSoftware */ + return gregorianCultureInfo; + } + + return cultureInfo; + } + + return cultureInfo; + } + + public static void InvokePersianRadCalendar(System.Web.UI.Page page) + { + if (page == null) + { + page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler; + } + + string script = ""; + DotNetNuke.UI.Utilities.ClientAPI.RegisterStartUpScript(page, "shamsiRadPicker", script); + } + + public static void InvokePersianRadEditor(System.Web.UI.Page page) + { + if (page == null) + { + page = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler; + } + + string script = ""; + DotNetNuke.UI.Utilities.ClientAPI.RegisterStartUpScript(page, "shamsiRadEditor", script); + } + + public static void ChangeDateTimeFormatToEnglish() + { + CultureInfo info = new CultureInfo("en-US"); + DateTimeFormatInfo dateTimeFormat = info.DateTimeFormat; + dateTimeFormat.AMDesignator = "AM"; + dateTimeFormat.PMDesignator = "PM"; + dateTimeFormat.ShortDatePattern = "MM/dd/yyyy"; + CultureInfo.CurrentCulture.DateTimeFormat = dateTimeFormat; + CultureInfo.CurrentUICulture.DateTimeFormat = dateTimeFormat; + } + + /* END Persian-DnnSoftware */ } } diff --git a/DNN Platform/Library/Services/Tokens/BaseTokenReplace.cs b/DNN Platform/Library/Services/Tokens/BaseTokenReplace.cs index 7403518ea95..9b9624ce836 100644 --- a/DNN Platform/Library/Services/Tokens/BaseTokenReplace.cs +++ b/DNN Platform/Library/Services/Tokens/BaseTokenReplace.cs @@ -46,7 +46,10 @@ public virtual string Language set { this.language = value; - this.formatProvider = new CultureInfo(this.language); + /* START Persian-DnnSoftware */ + /* this.formatProvider = new CultureInfo(this.language); */ + this.formatProvider = DotNetNuke.Services.Localization.Persian.PersianController.NewCultureInfo(this.language); + /* END Persian-DnnSoftware */ } } diff --git a/DNN Platform/Library/Services/Tokens/PropertyAccess/CulturePropertyAccess.cs b/DNN Platform/Library/Services/Tokens/PropertyAccess/CulturePropertyAccess.cs index 2a188753777..f74a7d1a753 100644 --- a/DNN Platform/Library/Services/Tokens/PropertyAccess/CulturePropertyAccess.cs +++ b/DNN Platform/Library/Services/Tokens/PropertyAccess/CulturePropertyAccess.cs @@ -92,7 +92,10 @@ public string GetProperty(string propertyName, string format, CultureInfo format } else { - RegionInfo country = new RegionInfo(new CultureInfo(ci.Name, false).LCID); + /* START Persian-DnnSoftware */ + /* RegionInfo country = new RegionInfo(new CultureInfo(ci.Name, false).LCID); */ + RegionInfo country = new RegionInfo(DotNetNuke.Services.Localization.Persian.PersianController.NewCultureInfo(ci.Name).LCID); + /* END Persian-DnnSoftware */ return PropertyAccess.FormatString(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(country.EnglishName), format); } } diff --git a/DNN Platform/Library/Services/Upgrade/Internals/Steps/UpdateLanguagePackStep.cs b/DNN Platform/Library/Services/Upgrade/Internals/Steps/UpdateLanguagePackStep.cs index d21a9f320f4..7bbaa67c11b 100644 --- a/DNN Platform/Library/Services/Upgrade/Internals/Steps/UpdateLanguagePackStep.cs +++ b/DNN Platform/Library/Services/Upgrade/Internals/Steps/UpdateLanguagePackStep.cs @@ -25,8 +25,10 @@ public override void Execute() var installConfig = InstallController.Instance.GetInstallConfig(); string culture = installConfig.InstallCulture; - - if (culture.ToLowerInvariant() != "en-us") + + /* START Persian-DnnSoftware */ + /* if (culture.ToLowerInvariant() != "en-us") */ + if (culture.ToLowerInvariant() != "en-us" && culture.ToLowerInvariant() != "fa-ir") { try { diff --git a/DNN Platform/Library/UI/WebControls/CaptchaControl.cs b/DNN Platform/Library/UI/WebControls/CaptchaControl.cs index 6d34378f96f..5ea1eb83dba 100644 --- a/DNN Platform/Library/UI/WebControls/CaptchaControl.cs +++ b/DNN Platform/Library/UI/WebControls/CaptchaControl.cs @@ -34,7 +34,7 @@ public class CaptchaControl : WebControl, INamingContainer, IPostBackDataHandler private const int EXPIRATIONDEFAULT = 120; private const int LENGTHDEFAULT = 6; private const string RENDERURLDEFAULT = "ImageChallenge.captcha.aspx"; - private const string CHARSDEFAULT = "abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789"; + private const string CHARSDEFAULT = "abcdefghmnpqrstuv23456789"; /* Persian-DnnSoftware "abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789"; */ private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(CaptchaControl)); private static readonly string[] FontFamilies = { "Arial", "Comic Sans MS", "Courier New", "Georgia", "Lucida Console", "MS Sans Serif", "Tahoma", "Times New Roman", "Trebuchet MS", "Verdana" }; diff --git a/DNN Platform/Modules/CoreMessaging/DotNetNuke.Modules.CoreMessaging.csproj b/DNN Platform/Modules/CoreMessaging/DotNetNuke.Modules.CoreMessaging.csproj index 6c87f78f25e..1fa3cd8bb9e 100644 --- a/DNN Platform/Modules/CoreMessaging/DotNetNuke.Modules.CoreMessaging.csproj +++ b/DNN Platform/Modules/CoreMessaging/DotNetNuke.Modules.CoreMessaging.csproj @@ -129,6 +129,7 @@ Designer + diff --git a/DNN Platform/Modules/CoreMessaging/module.rtl.css b/DNN Platform/Modules/CoreMessaging/module.rtl.css new file mode 100644 index 00000000000..ca1b4fb6846 --- /dev/null +++ b/DNN Platform/Modules/CoreMessaging/module.rtl.css @@ -0,0 +1,465 @@ +/* Persian-DnnSoftware */ +@charset "utf-8"; +/* CSS Document */ + +/* RESET STYLES +----------------------------------------------- */ +/* GENERAL STYLES +----------------------------------------------- */ +#smMainContent{ + position:relative; + margin:0 auto; padding:25px 0 15px 25px; +} + +.dnnFormMessage{-moz-border-radius:3px;border-radius:3px;padding:10px 40px 10px 10px;line-height:1.4;margin:0.5em 1em;} +.dnnFormSuccess{background:#ecffeb url(../../../images/success-icn.png) no-repeat 10px center;border:2px #64b657 solid;color:#358927} + +/* ----- LINKS ----- */ + +.DnnModule-Messaging-Notifications a, .DnnModule-Messaging-Details a, .smListings li ul * { + -webkit-transition: all .15s ease; + -moz-transition: all .15s ease; + -o-transition: all .15s ease; + transition: all .15s ease; +} + +.DnnModule-Messaging-Notifications p a, +.DnnModule-Messaging-Details p a { border-bottom: 1px dashed #E5E5E5; } +.DnnModule-Messaging-Notifications p a:hover, +.DnnModule-Messaging-Details p a:hover {text-decoration:underline;} + +/* BUTTONS */ + + /* + - Messages / Notification Specific Button Styles + ------------------------------------------------------------------*/ + + + /* Select Drop Down with button style */ + .DnnModule-Messaging-Notifications .selectDrop {position:relative;z-index:1; width:auto;} + .DnnModule-Messaging-Notifications .selectDrop > a span{padding-left:5px;} + + /* Select Drop Down Arrow for regular, active, and disabled state */ + .selectDrop > a:after{ + display:none; + content:''; + position:relative; + display:inline-block; width:7px; height:9px; + background: url(images/icons.png) 0 3px no-repeat; + margin: 0 6px 0 0; + } + .selectDrop > a:hover:after{background: url(images/icons.png) -250px 3px no-repeat;} + .selectDrop > a.disabled:hover:after{background: url(images/icons.png) 0 3px no-repeat;} + + .selectDrop > a:active span{color:#ddd;} + .selectDrop > a:active:after{background: url(images/icons.png) -250px 3px no-repeat;} + .active > a:after{background: url(images/icons.png) -250px 3px no-repeat!important;} + .selectDrop > a.disabled:active:after{background: url(images/icons.png) 0 3px no-repeat;} + + /* Styles for select drop*/ + .DnnModule .selectDrop ul{ + display:none; + position:absolute; right:0; top:31px; + padding:15px!important; + min-width:150px; + border:1px solid #ccc; background:#fff; + + /*CSS3*/ + -moz-border-radius-bottomright: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-radius: 0px 3px 3px 0px; + border-radius: 0px 3px 3px 0px; + + -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + } + /* Styles for select button on active state*/ + .selectDrop.active {z-index:2; border:none;} + .selectDrop.active .dnnTertiaryAction{ + position:relative; z-index:3; + background:#666; + color:#ddd; + text-shadow:none; + + -webkit-box-shadow: inset 0px 0px 5px 0px #555; + -moz-box-shadow: inset 0px 0px 5px 0px #555; + box-shadow: inset 0px 0px 5px 0px #555; + } + .selectDrop.active > a:after{background: url(../images/icons.png) -250px 3px no-repeat;} + + /* Prevent default .select dropdown hoverstate when dropdown is open*/ + .selectDrop.active > a:active:after{background: url(../images/icons.png) 0 3px no-repeat;} + + /* when select drop down button is clicked toggle active class to show*/ + .selectDrop.active ul{display:block;} + .selectDrop ul li{margin-bottom:5px;} + + .clear{clear:both;} + + ul.token-input-list-facebook { width: 45% !important; margin-bottom: 18px !important; } + + +button, input[type="button"], input[type="reset"], input[type="submit"], .dnnPrimaryAction, .dnnSecondaryAction, .dnnTertiaryAction, ul.dnnAdminTabNav li a, .dnnLogin .LoginTabGroup span{ + min-width:55px; + } + +/* MODULE STRUCTURE +----------------------------------------------- */ +.DnnModule-Messaging-Notifications, +.DnnModule-Messaging-Details{position:relative;} + +.dnnForm{min-width:inherit; width:100%;} +.dnnCoreMessagingContent, .dnnMessagingHeader, .dnnCoreMessagingFooter{position:relative;z-index:0;} /* z-index needs to be set for header controls */ +.dnnCoreMessagingContent{z-index:1;} + +/* HEADER */ + +#composeMsgButton, #composeMsgButtonDetails{position:absolute;left:0;bottom:15px;text-decoration:underline;} +.dnnAdminTabNav a span{ + display:inline; + min-height:12px; + padding: 0.3em 7px; + margin-left:5px; + background: rgb(31,152,241); /* Old browsers */ + font-weight:normal; + font-size:11px; + + /*CSS3*/ + background: -moz-linear-gradient(top, rgba(31,152,241,1) 0%, rgba(2,111,196,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,rgba(31,152,241,1)), color-stop(100%,rgba(2,111,196,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* Opera 11.10+ */ + background: linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* W3C */ + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0px 1px 0px 0px #222222; + -moz-box-shadow: 0px 1px 0px 0px #222222; + box-shadow: 0px 1px 0px 0px #222222; +} + +/* CONTENT */ +.dnnCoreMessagingContent{padding-top:15px;} + + .messageControls{margin-bottom:15px; padding:15px 0; border-bottom:1px solid #ddd; } + .messageControls ul, .messageControls li{list-style:none;padding:0;margin:0;} + .messageControls a:hover{text-decoration:none;} + .DnnModule .messageControls .buttonGroup {margin-left:7px; padding-right:0;} + + /* Float Control Groups */ + .messageControls div{position:relative;float:right;z-index:1;} /*fix z-indexing issue between controls*/ + .messageControls div:hover{z-index:2;} + + .messageControls .messageFolders{float:left;} + .messageControls .messageSelect{margin-left:25px;} + .messageControls div.clear{float:none;} + + /*Group Contents */ + .messageControls div > ul {float:right;} + .messageControls div > ul > li{float:right; position:relative;} + + + /* Message Folder Specific Styles*/ + .messageFolders p{float:right; display:inline-block; padding: 8px 15px; color:#666;} + .messageFolders p strong{color:#444; font-weight:bold;} + + /* Message Group Selection Styles */ + /* .dnnTertiaryAction.ArchiveItems {padding: 8px 12px; overflow:hidden;} + .dnnTertiaryAction.ArchiveItems span{ + display:inline-block; + overflow:hidden; + width:10px; + background:url(images/icons.png) no-repeat -49px 2px; + text-indent:-9999px; + } + .dnnTertiaryAction.ArchiveItems:active span{background-position:-99px 2px;} */ + /* Message Order Styles */ + .messageActions > a.dnnTertiaryAction{float:right;} + .dnnTertiaryAction.ToggleOrder {padding: 9px 12px;} + .dnnTertiaryAction.ToggleOrder span{ + display:inline-block; + overflow:hidden; + width:10px; + background:url(images/icons.png) no-repeat -150px 3px; + text-indent:-9999px; + } + .dnnTertiaryAction.ToggleOrder:active span{background-position:-300px 3px;} + .dnnTertiaryAction.ToggleOrder.ascend span{background-position: -200px 3px;} + .dnnTertiaryAction.ToggleOrder.ascend:active span{background-position: -350px 3px;} + .dnnPrimaryAction.ComposeMessage { margin-bottom: 0; } + + /* AJAX load styles */ + #loadingMessages, #loadingNotifications { + text-align:center; + color:#999; + background:#f4f4f4; + padding:15px; + } + #loadingMessages img, #loadingNotifications img{margin-left:5px;} + + /* Message Header (subject and back button) */ + .messageHeader{padding:12px 0 20px 0;} + .messageHeader p{ font-size:18px; color:#444;float:right;} + .messageHeader p strong{ font-weight:bold; color:#333;} + .messageHeader .returnLink{float:left; font-weight:bold;} + + /* Message Header (subject and back button) */ + .morePrevMsgButton{ + padding:17px 15px 15px 15px; margin-bottom:15px; + display:block; + background:#F4F4F4 url(images/list-Icon.png) no-repeat 15px 18px; + border-bottom:1px solid #ddd; + text-align:center; + } + .morePrevMsgButton .replyView{ + display:block; + font-weight:bold; + margin:0 auto; + } + + /* Listing Styles */ + .smListings{width:100%; clear:both; margin-bottom:15px;} + + .DnnModule .smListings ul{ padding-right:0!important;} + .smListings > ul > li{overflow: auto; width:100%; background:#eee; border-bottom:1px solid #eee; } + .smListings > ul > li.active{background:none;} + + + .ListCol-1 dd, .ListCol-2 dd, .ListCol-3 dd, .ListCol-4 dd, + .ListCol-1 dt, .ListCol-2 dt, .ListCol-3 dt, .ListCol-4 dt, + .ListCol-1 dl, .ListCol-2 dl, .ListCol-3 dl, .ListCol-4 dl{margin:0;padding:0;font-family:inherit;} + + + .smListings [class^="ListCol-"]{ + display:block; float:right; + padding:2% 3px 2% 2%;/*Persian-DnnSoftware*/ + overflow:hidden; + word-wrap: break-word; + } + + .DnnModule-Messaging-Notifications .previousMessages .smListings [class^="ListCol-"]{ height:auto; } + + .DnnModule-Messaging-Notifications .smListings .ListCol-1{width:1%; padding-right:2%; min-width:25px;} + .DnnModule-Messaging-Notifications .smListings .ListCol-2{width:8%; min-width:65px;} + .DnnModule-Messaging-Notifications .smListings .ListCol-3{width:56%;} + .DnnModule-Messaging-Notifications .smListings .ListCol-4{width:25%; max-width:110px;float:left;} + + .DnnModule-Messaging-Details .smListings .ListCol-1{width:6%; padding-right:2%;} + .DnnModule-Messaging-Details .smListings .ListCol-2{width:61%;} + .DnnModule-Messaging-Details .smListings .ListCol-3{width:25%;} + + + /*Column 1 Styles*/ + .DnnModule-Messaging-Notifications .smListings .ListCol-1 input[type="checkbox"]{float:right;} + .DnnModule-Messaging-Notifications .smListings .ListCol-1 label{text-indent:-99999px;} + + .DnnModule-Messaging-Details .smListings .profileImg{ + display:block; + width:40px; height:40px; + background:#ddd; + border:3px solid #ddd; + } + .DnnModule-Messaging-Details .smListings .profileImg span{display:inline-block; width:40px; height:40px; overflow:hidden; border: transparent; text-decoration: none;} + .DnnModule-Messaging-Details .smListings .profileImg span em { display: table-cell; width: 40px; height: 40px; vertical-align: middle; } + .DnnModule-Messaging-Details .smListings .profileImg img{display: inline-block; border: none; width: 100%; -ms-interpolation-mode: bicubic; } + /*Column 2 Styles*/ + .DnnModule-Messaging-Notifications .smListings .profileImg{ + display:block; + width:40px; height:40px; + background:#ddd; + border:3px solid #ddd; + } + .DnnModule-Messaging-Notifications .smListings .profileImg span{display:inline-block; width:40px; height:40px; overflow:hidden; border: transparent; text-decoration: none;} + .DnnModule-Messaging-Notifications .smListings .profileImg span em { display: table-cell; width: 40px; height: 40px; vertical-align: middle; } + .DnnModule-Messaging-Notifications .smListings .profileImg img{display: inline-block; border: none; width: 100%; -ms-interpolation-mode: bicubic; } + .DnnModule-Messaging-Details .smListings .active .subject{font-weight:bold;} + .DnnModule-Messaging-Details .smListings .meta{margin-bottom:10px;} + .DnnModule-Messaging-Details .smListings .meta em{font-style:italic;} + .DnnModule-Messaging-Details .smListings .meta a{font-weight:bold;} + .DnnModule-Messaging-Details .smListings .message{color:#888; margin-bottom:15px;white-space: pre-wrap;} + .DnnModule-Messaging-Details .smListings .attatchements{margin-bottom:15px;} + .DnnModule-Messaging-Details .smListings .attatchements strong{ + display:block; + margin-bottom:15px; + font-weight:bold; + } + .DnnModule-Messaging-Details .smListings .attatchements li{ + background:url(images/page-Icon.png) no-repeat 0 2px; + padding:4px 20px; + } + + /*Column 3 Styles*/ + .DnnModule-Messaging-Notifications .smListings .active .subject{font-weight:bold;} + .DnnModule-Messaging-Notifications .smListings .meta{margin-bottom:10px;} + .DnnModule-Messaging-Notifications .smListings .meta em{font-style:italic;} + .DnnModule-Messaging-Notifications .smListings .meta a{} + .DnnModule-Messaging-Notifications .smListings .meta a:hover{/*baby blue*/} + .DnnModule-Messaging-Notifications .smListings .message{color:#888;white-space: pre-wrap;} + + .DnnModule-Messaging-Details .smListings .ListCol-3 ul{float:left;} + .DnnModule-Messaging-Details .smListings .ListCol-3 ul li{text-align:left; margin-bottom:8px; height:18px; list-style:none;} + .DnnModule-Messaging-Details .smListings .ListCol-3 ul li:first-child{color:#888;} + .DnnModule-Messaging-Details .smListings .active .ActiveToggle, .smListings .ActiveToggle:hover { + display:inline-block; + width:16px; height:16px; + margin-right:5px; + background: rgb(31,152,241); /* Old browsers */ + overflow:hidden; + text-indent:9999px; + + /*CSS3*/ + background: -moz-linear-gradient(top, rgba(31,152,241,1) 0%, rgba(2,111,196,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,rgba(31,152,241,1)), color-stop(100%,rgba(2,111,196,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* Opera 11.10+ */ + background: linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* W3C */ + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0px 1px 0px 0px #222222; + -moz-box-shadow: 0px 1px 0px 0px #222222; + box-shadow: 0px 1px 0px 0px #222222; + } + .DnnModule-Messaging-Details .smListings .active .ActiveToggle:hover, .smListings .ActiveToggle{ + display:inline-block; + width:16px; height:16px; + margin-right:5px; + background: rgb(227,227,227); /* Old browsers */ + overflow:hidden; + text-indent:9999px; + + /*CSS3*/ + + background: -moz-linear-gradient(top, rgba(227,227,227,1) 0%, rgba(199,200,202,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,rgba(227,227,227,1)), color-stop(100%,rgba(199,200,202,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(227,227,227,1) 0%,rgba(199,200,202,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(227,227,227,1) 0%,rgba(199,200,202,1) 100%); /* Opera 11.10+ */ + background: linear-gradient(top, rgba(227,227,227,1) 0%,rgba(199,200,202,1) 100%); /* W3C */ + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0px 1px 0px 0px #222222; + -moz-box-shadow: 0px 1px 0px 0px #222222; + box-shadow: 0px 1px 0px 0px #222222; + } + + /*Column 4 Styles*/ + .DnnModule-Messaging-Notifications .smListings .ListCol-4 ul{float:left;} + .DnnModule-Messaging-Notifications .smListings .ListCol-4 ul li{ + display:block; + line-height:20px; + margin-bottom:8px; + height:20px; + list-style:none; + text-align:left; + } + .DnnModule-Messaging-Notifications .smListings .ListCol-4 ul li:first-child{color:#888;} + .DnnModule-Messaging-Notifications .smListings li ul .hoverControls div{display:none; padding-top:5px;} + .DnnModule-Messaging-Notifications .smListings li:hover ul > .hoverControls div{display:block; margin-top: 15px; } + + .DnnModule-Messaging-Notifications .smListings .active .ActiveToggle, .smListings .ActiveToggle:hover { + display:inline-block; + width:16px; height:16px; + margin-right:5px; + background: rgb(31,152,241); /* Old browsers */ + overflow:hidden; + text-indent:9999px; + + /*CSS3*/ + background: -moz-linear-gradient(top, rgba(31,152,241,1) 0%, rgba(2,111,196,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,rgba(31,152,241,1)), color-stop(100%,rgba(2,111,196,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* Opera 11.10+ */ + background: linear-gradient(top, rgba(31,152,241,1) 0%,rgba(2,111,196,1) 100%); /* W3C */ + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0px 1px 0px 0px #222222; + -moz-box-shadow: 0px 1px 0px 0px #222222; + box-shadow: 0px 1px 0px 0px #222222; + } + .DnnModule-Messaging-Notifications .smListings .active .ActiveToggle:hover, .smListings .ActiveToggle{ + display:inline-block; + width:16px; height:16px; + margin-right:5px; + background: rgb(227,227,227); /* Old browsers */ + overflow:hidden; + text-indent:9999px; + + /*CSS3*/ + + background: -moz-linear-gradient(top, rgba(227,227,227,1) 0%, rgba(199,200,202,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,rgba(227,227,227,1)), color-stop(100%,rgba(199,200,202,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(227,227,227,1) 0%,rgba(199,200,202,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(227,227,227,1) 0%,rgba(199,200,202,1) 100%); /* Opera 11.10+ */ + background: linear-gradient(top, rgba(227,227,227,1) 0%,rgba(199,200,202,1) 100%); /* W3C */ + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: 0px 1px 0px 0px #222222; + -moz-box-shadow: 0px 1px 0px 0px #222222; + box-shadow: 0px 1px 0px 0px #222222; + } + + .DnnModule-Messaging-Notifications .notificationControls{margin-top:10px;} + + +/* FOOTER */ + .dnnCoreMessagingFooter{ width:100%; } + .DnnModule-Messaging-Notifications .footer a.dnnPrimaryAction{float:left;} + .DnnModule-Messaging-Details .footer a.dnnPrimaryAction{float:right; clear:right;} + + textarea#replyMessage{ + display:block; + width:70%; height:75px; + margin-bottom:15px; + margin-left:15px; + padding:15px; + + border:1px solid #BDB58E; + font-family:Arial, Helvetica, sans-serif; + color:#777; + + background:#F7F6E8; + + /*CSS3*/ + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + textarea#replyMessage:focus, textarea#replyMessage:active{ + background:#F9F8D2; + color:#333; + } + .notificationControls .dnnPrimaryAction{margin-left:5px;} + .troubleshoot{border:1px solid red;} + + /*composeMessageDialog*/ + .composeMessageDialog.dnnForm{ + padding-top: 18px; + } + .composeMessageDialog .fileUploadArea{ display: inline-block;vertical-align: top;} + .composeMessageDialog .dnnTertiaryAction{ margin: 0 0 0 10px;padding: 6px 6px;height: 32px;} + /*Attachments*/ + .composeMessageDialog .messageAttachments{ margin-top: 5px;} + /* File Upload */ + .composeMessageDialog .itemUpload{ clear: both;} + .composeMessageDialog .itemUpload .progress_bar_wrapper{ width: 500px;overflow: hidden;} + .composeMessageDialog .itemUpload .progress-bar div{ background-image: url('Images/progress.gif');position:relative;padding:0 !important;} + +/* ISSUE DNN-5754 */ +ul.messages dd.message img { + max-width: 100% !important; + height: auto !important; +} \ No newline at end of file diff --git a/DNN Platform/Modules/CoreMessaging/subscriptions.css b/DNN Platform/Modules/CoreMessaging/subscriptions.css index c2b5ed4e8f1..27cf21482f6 100644 --- a/DNN Platform/Modules/CoreMessaging/subscriptions.css +++ b/DNN Platform/Modules/CoreMessaging/subscriptions.css @@ -83,4 +83,31 @@ .subscriptions-count { float: right; line-height: 40px; -} \ No newline at end of file +} + +/* =========== Persian-DnnSoftware =========== */ + +.rtl #subscription-table thead > tr > th > span.sortable { + cursor: pointer; + float: right; +} + +.rtl #subscription-table thead > tr > th span.sortArrow { + box-shadow: none; + display: inline-block; + float: left; + height: 16px; + width: 15px; +} +.rtl .subscriptions-page-size, +.rtl .subscriptions-pager { + float: right; + line-height: 40px; + margin-right: auto; + margin-left: 10px; +} +.rtl .subscriptions-count { + float: left; + line-height: 40px; +} + diff --git a/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj b/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj index ffc4c58406d..e67fa0dfbd0 100644 --- a/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj +++ b/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj @@ -214,6 +214,7 @@ + Designer diff --git a/DNN Platform/Modules/Groups/module.rtl.css b/DNN Platform/Modules/Groups/module.rtl.css new file mode 100644 index 00000000000..ebc554c9a8b --- /dev/null +++ b/DNN Platform/Modules/Groups/module.rtl.css @@ -0,0 +1,153 @@ +/* Persian-DnnSoftware */ +.dnnForm.dnnGroupDirectory{margin:0 auto;padding:0 15px;min-width:inherit} +.dnnForm.dnnGroupDirectory p a {border-bottom:1px dashed #E5E5E5;} +.dnnForm.dnnGroupDirectory p a:hover {text-decoration:underline;} + +.createGroup{float:right;margin-top:-38px;margin-left: 30px; } +/* MODULE STRUCTURE----------------------------------------------- */ +.dnnForm.dnnGroupDirectory{margin:0 auto;padding:25px;width:auto;} + +.dgdMainContent{} + .dgdGroupQuickInfoWrap{border-bottom:1px #eaeaea solid;padding-bottom:10px;margin-bottom:10px;} + + .dgdAvatar{ + width:8%; height:auto; + padding:.5%; + margin-left:2%; + background:#fff; + border:1px #e7e7e7 solid; + -webkit-border-radius:3px; + -moz-border-radius:3px; + border-radius:3px; + overflow:hidden; + } + .dgdAvatar a { + display:block; + max-height:50px; + overflow:hidden; + } + .dgdAvatar img{width:100%;radius:3px;border-radius:3px;max-width:100%} + + .dgdGroupQuickInfo{width:88%} + .dgdGroupQuickInfo h3{margin:0;padding:0;} + .dgdGroupQuickInfo ul, .dgdGroupQuickInfo ul li{padding:0;margin:0;list-style:none;} + .dgdGroupQuickInfo ul li{display:block;float:right;line-height:26px;height:26px;font-weight:bold;padding:0 10px 0 20px;padding-right:22px;font-size:10px;color:#777;} + .dgdGroupQuickInfo ul li.posts-icn{background:url(images/posts-icn.png) right no-repeat;} + .dgdGroupQuickInfo ul li.member-icn{background:url(images/member-icn.png) right no-repeat;} + .dgdGroupQuickInfo ul li.photo-icn{background:url(images/photo-icn.png) right no-repeat;} + .dgdGroupQuickInfo ul li.docs-icn{background:url(images/docs-icn.png) right no-repeat;} + .dgdGroupQuickInfo ul li.join-group-icn{padding-right:0;} + .dgdLatestGroups .dgdGroupQuickInfo ul li.join-group-icn a{background:url(images/join-group-icn.png) right no-repeat;} + .dgdGroupQuickInfo ul li a{display:block;padding:0 20px;font-size:10px;} + +.dgdSidebar{} + .dgdCat ul, .dgdCat li{margin:0;padding:0;list-style:none;} + .dgdCat li a{display:block;padding:10px;border-bottom:1px #ccc dotted} + .dgdCat li a:hover{background:#f1f1f1} + + .dgdSideBar .dgdMyGroups h3 a, .dgdSideBar .dgdLatestGroups h3 a{font-size:12px;} + .dgdSideBar .dgdMyGroups .dgdAvatar, .dgdSideBar .dgdLatestGroups .dgdAvatar{width:15%;} + .dgdSideBar .dgdMyGroups .dgdAvatar img, .dgdSideBar .dgdLatestGroups .dgdAvatar img{padding:0;border:none;} + .dgdSideBar .dgdMyGroups .dgdGroupQuickInfo, .dgdSideBar .dgdLatestGroups .dgdGroupQuickInfo{width:78%} + +.dgdMoreActions ul, .dgdMoreActions li{list-style:none;padding:0;margin:0;min-height:32px;} + .dgdMoreActions ul{margin:10px 0 25px;overflow:hidden;} + .dgdMoreActions li.dgdLoadMore, .dgdMoreActions li.dgdCreateNew{width:48%;float:right;} + .dgdMoreActions li.dgdCreateNew{float:left;} + .dgdMoreActions a.dnnTertiaryAction{padding:9px 25px;margin:0;} + .dgdMoreActions a.dnnPrimaryAction{float:left;} + + +/* GENERAL STYLES + ----------------------------------------------- */ + .wizard {display:block; margin-bottom:15px; overflow:auto;} + .wizard li {float:right; margin-left:10px;} + .wizard li a{ + display:block; + background:#bbb; + width:30px; + padding:4px 0; + text-align:center; vertical-align:middle; + + border:1px solid #999; + -webkit-border-radius: 16px; + -moz-border-radius: 16px; + border-radius: 16px; + + -webkit-box-shadow: inset 0px 0px 5px 0px rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0px 0px 5px 0px rgba(0, 0, 0, 0.15); + box-shadow: inset 0px 0px 5px 0px rgba(0, 0, 0, 0.15); + + color:#fff; + font-weight:bold; + font-size:18px; + text-shadow: 0px 1px 0px rgba(0,0,0,0.25); + } + .wizard li a:hover, .wizard li a.active{ + background:#777; + border:1px solid #555; + } + + h2.WizardStepTitle{ + font-size:28px; + padding-bottom:5px; + margin-bottom:15px; + border-bottom:1px solid #ddd; + letter-spacing:-0.03em; + } + h2.WizardStepTitle strong{font-weight:bold;} + .thumb{ + float:right; + display:block; + margin-bottom:15px; + margin-top:10px; + } + .thumb span{ + position:relative; + display:block; + float:right; + padding:5px; + margin-left:10px; + border:1px solid #ddd; + } + .thumb img{ + display:block; + } + .thumb span a{ + display:none; + position:absolute; right:6px; top:6px; + padding:5px; + border:1px solid #ddd; + background:#fff; + } + .thumb span:hover a{display:block;} + .DnnModule-groupsWizard hr{ + display:block!important; + width:68%; + clear:both; + margin:15px 32% 15px 0; + } + .group-wizard-step-3 h3{font-size:15px; font-weight:bold; color:#333; margin-bottom:15px;} + .group-wizard-step-3 .leftColumn{float:right; width:57%; padding:15px 0 3% 0;} + .group-wizard-step-3 .rightColumn{ + float:left; + width:34%; + padding-top:15px; + padding-right:5%; + border-right:1px solid #ddd; + } + .group-wizard-step-3 .rightColumn input, + .group-wizard-step-3 .rightColumn textarea + {width:60%;} + .group-wizard-step-3 ul.mdMemberList{ + overflow-y:auto; + height:250px; + border:1px solid #ddd; + padding-top:10px; + } + .group-wizard-step-3 ul.mdMemberList li{width:230px; min-width:230px;} + .mdSearchBar{width:100%;} + +.groupPager{text-align:right;} +.groupPager a{display:inline-block; border:1px solid #cdcdcd; background-color:#fff; font-size:16px;padding:2px 8px 2px 8px;margin-left:4px; font-weight:bold;} +.groupPager a.pagerItemSelected{background-color:#ffffcc;} \ No newline at end of file diff --git a/DNN Platform/Modules/HTML/edit.css b/DNN Platform/Modules/HTML/edit.css index 997238d5869..295c2c0a36d 100644 --- a/DNN Platform/Modules/HTML/edit.css +++ b/DNN Platform/Modules/HTML/edit.css @@ -25,4 +25,9 @@ border-radius: 3px; font-weight: normal; text-align: center; -} \ No newline at end of file +} + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .dnnFormItem .dnnHTMLSRadioButtons label, .rtl .dnnFormItem .dnnPSRadioButtons input, .rtl .dnnFormItem .dnnHTMLSRadioButtons label, .rtl .dnnFormItem .dnnHTMLSRadioButtons input{float:right;padding:0;width:2%;text-align:right;} +.rtl .dnnFormItem .dnnHTMLSRadioButtons label{width:auto;padding:0 6px 0 15px;font-weight:normal} \ No newline at end of file diff --git a/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj b/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj index eeaaeddccef..ad97f22cb19 100644 --- a/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj +++ b/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj @@ -129,6 +129,7 @@ + diff --git a/DNN Platform/Modules/HtmlEditorManager/module.rtl.css b/DNN Platform/Modules/HtmlEditorManager/module.rtl.css new file mode 100644 index 00000000000..32f821aee67 --- /dev/null +++ b/DNN Platform/Modules/HtmlEditorManager/module.rtl.css @@ -0,0 +1,33 @@ +/* Persian-DnnSoftware */ +/* Legacy RADEditor Classes */ +.dnnProviderConfig{width:96%;margin:2em auto;} +.dnnpcTabs{float:left;width:73%;} +#dnnEditorConfig, #dnnToolbarConfig{padding-top: 20px;} + #dnnToolbarConfig textarea{width:82% !important;min-height:450px !important} +.dnnTreeArea{float:right;width:22%;margin-left:2%} +.dnnTreePages{margin-top:15px;} +.dnnProviderSelect{padding-bottom:10px;} + .dnnProviderSelect h3{margin-top:10px;font-size: 14px; } + .dtlItem{margin-right: 10px;white-space: nowrap;margin-top:5px;} + .dnnProviderSelect a.dnnPrimaryAction{padding:5px 8px;line-height:1.4;margin-top:5px;} +#dnnProviderConfig .dnnHSRadioButtons input{float:none;} +#dnnProviderConfig .dnnHSRadioButtons label{float:none;width:auto;display:inline;padding-right:4px;} +#dnnProviderConfig .ucLinkTypeRadioButtons{width:100%;} +#dnnProviderConfig .dotnetnuke_tree ul{border-bottom:none;} + #dnnProviderConfig .dotnetnuke_tree li{float:none;} +#dnnProviderConfig .dnnFormExpandContent {position:static;text-align:left;} +.dnnTreeExpand {position:static;text-align:left;padding-left:8px;} + #dnnProviderConfig .dnnCBItem label{width:auto;padding-right:2px;font-weight:normal;text-align:right;} +#dnnEditorConfig .dnnFormItem > div.languageComboBox{width: 47%;margin-bottom: 18px;max-width: 445px;display: inline-block !important;} + +/* New CK Editor Classes */ +.html-editor-manager { padding: 1em; background: #eee; color: #333 !important; border: solid 1px #ccc; overflow:hidden;} +/*.html-editor-manager h2 {float:left; width: 33%; padding:0;} +.html-editor-manager h2, .html-editor-manager h4 { display:inline-block; margin: 0;} +.html-editor-manager span {font-style:italic; color: #666;}*/ +.html-editor-manager .current-provider, .html-editor-manager .change-provider {float:right; text-align:left; width:30%; padding-right: 1em;} +.html-editor-manager .current-provider {padding-top: .5em; padding-bottom: .5em;} +.html-editor-manager .current-provider h4 { display:inline-block; margin: 0;} +/*.html-editor-manager .change-provider {float:right; }*/ +.html-editor-manager .change-provider select {padding: .5em; width: 70%;} +.html-editor-manager .change-provider select, .html-editor-manager .change-provider input {vertical-align: top;} diff --git a/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj b/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj index 751d90e14c6..f7a217f05e8 100644 --- a/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj +++ b/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj @@ -211,6 +211,7 @@ + diff --git a/DNN Platform/Modules/Journal/module.rtl.css b/DNN Platform/Modules/Journal/module.rtl.css new file mode 100644 index 00000000000..eb83a56bf88 --- /dev/null +++ b/DNN Platform/Modules/Journal/module.rtl.css @@ -0,0 +1,282 @@ +@charset "utf-8"; +/* Persian-DnnSoftware */ +/* CSS Document */ + + +#journalEditor, .jcmt .cmteditarea +{ + display:inline-block; + width:96%; + position:relative; + background: #fff url('Images/input-bg.png') right top no-repeat; + margin:10px 0 0; + padding:5px 2%; + border: 1px solid #bbb; + border-radius:3px; + -moz-border-radius:3px; + -webkit-border-radius:3px; + -webkit-box-shadow: 0 1px 1px #fff; + text-shadow: 0 0 1px #fff; + position:relative; + z-index:2; + overflow:visible; + zoom:1; +} + .jcmt .cmteditarea{z-index:0;} +.journalTools ul.jacmenu{display:none; position: absolute;z-index: 4; list-style-type:none;border:solid 1px #dcdcdc;background-color:#f5f5f5;} +.journalTools ul.jacmenu li{padding:2px;list-style-type:none;border-bottom:1px solid #dcdcdc;background-color:#f3f3f3;} + +#journalEditor #journalContent{overflow:auto;outline:none;} +#journalEditor #journalContent span{padding:0 2px 0 2px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;} +#journalEditor #journalContent .juser, .journalrow .juser{color:#000;border:1px solid #ccd5e4; background-color:#eff2f7;} +#journalEditor #journalContent .jtag, .journalrow .jtag{border:1px solid #ccc; background-color:#f5f5f5} + +#journalEditor #journalClose, #linkClose, .miniclose, .minidel{float:left;display:none;width:18px !important; height:18px !important; cursor:pointer; background-image:url('images/mini_del.gif'); background-repeat:no-repeat;} +#journalEditor .minidel{position:absolute;left:0px;} +#journalEditor #journalClose{position:absolute; left:6px; top:6px;} + +#journalEditor #journalClose{position:absolute;left:2px;} +#journalEditor #journalPlaceholder,.jcmt .cmteditarea .editorPlaceholder{font-size:14px;color:#999;height:24px;line-height:24px;padding-right:7px;} +#journalEditor #journalContent{font-family:Tahoma, Arial, Helvetica; float:right; display:none;height:1px;margin-bottom:4px;padding: 2px 4px 6px 4px;font-size:14px; border: none; -webkit-box-shadow: none; box-shadow: none; line-height:1.3em;width:99%;resize:none;} + + +#journalEditor .journalPlaceholder {width:100%;} +#journalEditor .dnnClear{height:0;} + +#journalEditor #tbar{ + position:absolute; + left:6px; bottom: 5px; + height:16px;width:78px; + margin:6px 16px 4px; + min-width:80px; +} +#journalEditor #tbar > span{display:block;height:16px;width:24px;float:left;background-image:url('images/journal-tools.png'); border:1px solid transparent} +.securityMenu > ul > li > span {display: inline-block; margin-left: 3px;} +#journalEditor #tbar span#tbar-photo{background-position:0 0;} +#journalEditor #tbar span#tbar-attach{background-position:-24px 0;} +#journalEditor #tbar span#tbar-perm{background-position:-81px 0;} +#journalEditor #tbar span#tbar-photo:hover,#journalEditor #tbar span#tbar-photo.selected{background-position:0 -16px;} +#journalEditor #tbar span#tbar-attach:hover,#journalEditor #tbar span#tbar-attach.selected{background-position:-24px -16px;} +#journalEditor #tbar span#tbar-attach:hover{background-position:-24px -16px;} +#journalEditor #tbar span#tbar-perm:hover{background-position:-81px -16px;} +.journalTools #journalOptionArea{background-color:#f5f5f5;display:none; border: 1px solid #bbb; border-top:0px none transparent; + -webkit-border-bottom-left-radius: 3px; +-webkit-border-bottom-right-radius: 3px; +-moz-border-radius-bottomright: 3px; +-moz-border-radius-bottomleft: 3px; +border-bottom-left-radius: 3px; +border-bottom-right-radius: 3px; + top: -10px; + position:relative; + width: 96%; +} + +.journalTools #journalOptionArea div{font-size:12px;padding:6px;padding-top:12px;padding-bottom:12px;} +.journalTools #journalOptionArea div span{font-weight:bold;color:#333;padding-left:12px;padding-right:12px;} + +.journalTools #journalOptionArea #itemUpload{margin:0;padding:0;} + + + +.journalTools #journalOptionArea .jpa{display:none;} +.journalTools #journalOptionArea #linkArea #imagePreviewer{width:150px; float:right;margin-left:12px;} +.journalTools #journalOptionArea #linkArea #imagePreviewer #image{width:140px; height:100px; overflow:hidden;} +.journalTools #journalOptionArea #linkArea #imagePreviewer #imgPrev,.journalTools #journalOptionArea #linkArea #imagePreviewer #imgNext{cursor:pointer;} +.journalTools #btnShare,.jcmt li.cmtbtn a{display: inline-block;display:none;outline: none;cursor: pointer;text-align: center;text-decoration: none; + padding: .7em 1.5em .77em;text-shadow: 0 1px 1px rgba(0,0,0,.3);-webkit-border-radius: .3em; -moz-border-radius: .3em;border-radius:.3em;-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2); box-shadow: 0 1px 2px rgba(0,0,0,.2); color: #fef4e9;cursor:pointer;float:right;background: #005cb2; + background: -webkit-gradient(linear, right top, right bottom, from(#298fd0), to(#005cb2)); + background: -moz-linear-gradient(top, #298fd0, #005cb2); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#298fd0', endColorstr='#005cb2');} + + .journalTools #btnShare:hover,.jcmt li.cmtbtn a:hover {text-decoration: none;background: #003465; + background: -webkit-gradient(linear, right top, right bottom, from(#156292), to(#003465)); + background: -moz-linear-gradient(top, #156292, #003465); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#156292', endColorstr='#003465');} + + .journalTools #btnShare:active,.jcmt li.cmtbtn a:active {position: relative;top: 1px;color: #fff; + background: -webkit-gradient(linear, right top, right bottom, from(#005cb2), to(#298fd0)); + background: -moz-linear-gradient(top, #005cb2, #298fd0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#005cb2', endColorstr='#298fd0');} + +.journalTools #btnShare.disabled,.jcmt li.cmtbtn a.disabled{background:#cdcdcd;color:#999;cursor:text;} +.journalTools ul.jacmenu li.liselected{background-color:#ffffcc;} + + +.journalrow {border-bottom:1px solid #e4e1e1;margin-bottom:20px;padding-bottom:10px;} +.journalrow div.author{overflow:hidden;float:right;} +.journalrow div.author img{width:40px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#fff;border:1px #ccc solid;padding:4px;} +.journalrow div.journalitem{margin-right:65px;overflow: hidden;word-break: break-all;} + +.journalrow div.journalitem p.journalfooter span{padding:0px 4px 0px 4px; font-weight:bold;} +.journalrow div.journalitem .authorname{padding-left:6px;} +.journalrow div.journalitem ul.jcmt,.journalrow div.journalitem .likes{width:100%;padding:0px;font-size:11px;} + +/*.journalrow div.journalitem ul.jcmt li{border-bottom: solid 1px #fff;}*/ + .journalrow div.journalitem ul.jcmt { + margin-right: 0px; + margin-bottom: 0px; + } +.journalrow div.journalitem ul.jcmt, .journalrow div.journalitem ul.jcmt li{list-style-type:none;} +.journalrow div.journalitem ul.jcmt li textarea{border:solid 0px #ccc;font-family:tahoma,verdana,arial,sans-serif;font-size:12px;padding:0px;height:20px;margin-right:0px;margin-left:0px;width:100%;} +.journalrow div.journalitem ul.jcmt li .miniclose{margin:2px;} +.journalrow div.journalitem ul.jcmt li:hover .miniclose, .journalrow:hover .minidel{display:block;} +.journalrow div.journalitem ul.jcmt li.cmtbtn a{display:none;} +.journalrow div.journalitem ul.jcmt li img{ float: right; + right: 0; + padding: 4px; + position: relative; + top: 0;} +.journalrow div.journalitem ul.jcmt li p{padding:4px 5px 4px 0px; margin:3px 0px 5px 42px;} +.journalrow div.journalitem ul.jcmt li p a{padding-left:6px;} +.journalrow div.journalitem ul.jcmt li p abbr{border-style: none; + display: block; + margin-bottom: 3px; + margin-top: 4px; + padding-right: 5px; + padding-top: 4px;} +.journalrow div.journalitem .journalfooter abbr {border-style:none;} +.journalrow div.journalitem .jlink img{float:right; margin-left:12px;max-width:150px;} +.journalrow div.journalitem .jlink div{max-width:450px;} +.journalrow div.journalitem .likes{padding:2px;} +.jcmt .cmteditor{max-width:445px;display:none;resize:none;outline:none;} +.jcmt .cmteditarea{margin: 2px 4px 4px 2px;} +.jcmt .cmteditarea .editorPlaceholder{height:18px;font-size:11px;line-height:18px;} + +/* Visibility and Security */ +.securityMenu{ + position: absolute; + left:-7px; + display:none; + min-width:200px; height:300px; + margin-top: 24px; + background-color:#fff; + z-index:1000; +} +.securityMenu .handle{ + z-index:1000; + position:absolute; left:2px; top:-28px; + width:26px; height:22px; + border:1px solid #ccc; + border-bottom:1px solid #fff; + + /*CSS3*/ + -moz-border-radius-topright: 3px; + -moz-border-radius-topleft: 3px; + -webkit-border-radius: 3px 0px 0px 3px; + border-radius: 3px 0px 0px 3px; +} +.DnnModule .securityMenu ul{ + position:absolute; top:-5px; left:2px; + padding:15px; + border:1px solid #ccc; + list-style:none; + background:#fff; + + -webkit-border-radius: 3px 3px 3px 0px; + border-radius: 3px 3px 3px 0px; + + -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + +} +.securityMenu ul li{list-style:none; margin-bottom: 4px;} + +.journalitem p{ + margin-bottom: 5px; +} + +/* File Upload */ +.progress_bar_wrapper{ width: 500px;overflow: hidden;} +.progress-bar div{ background-image: url('Images/progress.gif');position:relative;padding:0 !important;} + +#tbar-attach-Area input:not([type=file]){cursor:pointer; right: 0;top: 0;width: 150px;position:absolute; opacity:0; display:inline;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} + +.journalTools #journalOptionArea div span.browser-upload-btn{position:relative; font-weight: bold; padding-right:0px; cursor:pointer;display: block; } + .browser-upload-btn:hover{cursor:pointer;} +div.journalTools div#journalOptionArea div.fileUploadArea div#itemUpload div.filePreviewArea {padding:0;margin:0} +div.journalTools div#journalOptionArea div.fileUploadArea div#itemUpload div.progress_bar_wrapper{padding:0;margin:0;} + +.journalTools #journalOptionArea #itemUpload .filePreviewArea img { + background: none repeat scroll 0 0 #FFFFFF; + border: 1px solid #E0EFF7; + border-radius: 3px 3px 3px 3px; + margin: 0 0 12px 12px; + padding: 6px; +} + +.journalrow div.journalitem .jlink img{float:right; margin-left:12px;max-width:150px;padding:5px;border:1px #ccc solid;} + .journalrow div.journalitem .jlink a{font-weight:bold;display:block} + +div#journalItems div.journalrow div.journalitem ul.jcmt li.cmteditarea{display:none;overflow:auto;} +.journalrow .juser{ cursor: pointer;} + + +div#journalOptionArea > div.fileUploadArea { + background: #eff8ff; /* blue */ +} + +div#journalOptionArea div.journal_onlineFileShare, +div#journalOptionArea div.journal_localFileShare { + width: 50%; + float: right; + padding: 0; +} + +div#journalOptionArea div.journal_onlineFileShare { + border-left: 1px solid #cce8ff; + margin-left: 25px; +} +div#journalOptionArea div.journal_localFileShare { + width: 40%; +} + +div#journalOptionArea div.journal_onlineFileShare div { + margin: 0; + padding: 0; +} +div#journalOptionArea div.journal_onlineFileShare a.dnnSecondaryAction { + display: inline-block; + margin: 15px 0 0 15px; +} + +div#journalOptionArea div.journal_localFileShare .dnnInputFileWrapper { + display: inline-block; + margin: 15px 0 0 0; +} +/* Search Suggest */ +ul.ui-autocomplete, +ul.ui-autocomplete li{margin:0;padding:0;list-style:none;} + ul.ui-autocomplete{ + display:none; + position:absolute;top:46px;right:0; + width:auto; + border:1px solid #ccc; background:#fff; + z-index:5; + + /*CSS3*/ + -moz-border-radius-bottomright: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-radius: 0px 3px 3px 0px; + border-radius: 0px 3px 3px 0px; + + -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + } + ul.ui-autocomplete li{display:block;clear:both;overflow:hidden} + ul.ui-autocomplete li a{ + display:block; + padding:10px; + border-bottom:1px #e8e8e8 solid; + clear:both;overflow:hidden + } + ul.ui-autocomplete li a:hover, ul.ui-autocomplete li a.ui-state-focus{ + background:#FEFDDE; + cursor:pointer + } + ul.ui-autocomplete .ui-menu-item a img{ width: 24px;height: 24px;} + ul.ui-autocomplete .ui-menu-item a span.dn{ font-weight: bold;color: #000;margin: 0 4px;} + ul.ui-autocomplete .ui-menu-item a span.un{ color: #ccc;margin: 0 4px;} +.ui-helper-hidden-accessible { display:none; } \ No newline at end of file diff --git a/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj b/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj index e11eaa8eab2..fe3d8d5d4aa 100644 --- a/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj +++ b/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj @@ -136,6 +136,7 @@ Designer + diff --git a/DNN Platform/Modules/MemberDirectory/module.rtl.css b/DNN Platform/Modules/MemberDirectory/module.rtl.css new file mode 100644 index 00000000000..0ea8be85423 --- /dev/null +++ b/DNN Platform/Modules/MemberDirectory/module.rtl.css @@ -0,0 +1,343 @@ +@charset "utf-8"; +/* Persian-DnnSoftware */ +/* CSS Document */ + +/* GENERAL STYLES +----------------------------------------------- */ +.dnnMemberDirectory{width:100%;} + +/* SEARCH HEADER +----------------------------------------------- */ +.dnnMemberDirectory .mdSearch{ + position:relative; + z-index:1; + padding:15px 0; + margin-bottom:25px; + border-bottom:1px solid #ddd; +} +.dnnMemberDirectory .mdSearch:hover, .dnnMemberDirectory .mdSearch.active{ + zoom:1; /* quicks mode fix to make z-index work */ + z-index:10; +} + +.dnnMemberDirectory .mdSearchBar #refreshResults{ + display:block; + float:right; + height:18px; width:30px; + background:url(images/refresh.png) no-repeat 6px 2px; + border-left:1px solid #ddd; + margin:2px 0 0 0; + opacity:0.5; +} +.dnnMemberDirectory .mdSearchBar #refreshResults:hover{opacity:1.0;} +.dnnMemberDirectory .mdSearchBar #refreshResults.disabled{ + opacity:0.30; + cursor:default; +} + +.dnnMemberDirectory .mdSearchBar #refreshResults span{display:none;} +.dnnMemberDirectory .mdSearchBar input[type="text"]{ + float:right; + display:block; + width:452px; + /*padding:0 5px 5px 7px; + height:18px; + vertical-align:top; + border-color:transparent; + outline:none;*/ +} +.dnnMemberDirectory .mdSearchBar .dnnPrimaryAction{ + /*padding:2px 15px;*/ + float: right; + margin-right: 10px; +} + +/* Search Suggest */ +ul.ui-autocomplete, +ul.ui-autocomplete li{margin:0;padding:0;list-style:none;} + ul.ui-autocomplete{ + display:none; + position:absolute;top:46px;right:0; + width:auto; + border:1px solid #ccc; background:#fff; + z-index:10; + + /*CSS3*/ + -moz-border-radius-bottomright: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-radius: 0px 0px 3px 3px; + border-radius: 0px 0px 3px 3px; + + -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + } + ul.ui-autocomplete li{display:block;clear:both;overflow:hidden} + ul.ui-autocomplete li a{ + display:block; + padding:10px; + border-bottom:1px #e8e8e8 solid; + clear:both;overflow:hidden + } + ul.ui-autocomplete li a:hover{ + background:#FEFDDE; + cursor:pointer + } + + +/* Advanced Search Button */ +.dnnMemberDirectory .selectDrop{ + position:relative; + display:block; + float:left; + margin-left:0; +} +.dnnMemberDirectory #mdAdvancedSearch{margin-left:0; padding:9px 15px;} +.selectDrop #mdAdvancedSearch:hover{text-decoration:none;} +.dnnMemberDirectory .selectDrop #mdAdvancedSearch:after{ + display:inline-block; + margin-right:7px; + content:''; + position:relative; + width:7px; height:9px; + background: url(images/icons.png) 0 3px no-repeat; +} +.selectDrop #mdAdvancedSearch:hover:after{background: url(images/icons.png) -250px 3px no-repeat;} + + +/* Advanced Search Criteria */ +.dnnMemberDirectory .mdAdvancedSearchForm{ + display:none; + position:absolute; left:-1px; top:30px; + padding:15px!important; + width:275px; + border:1px solid #ccc; background:#fff; + + /*CSS3*/ + -moz-border-radius-bottomright: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-radius: 0px 3px 3px 0px; + border-radius: 0px 3px 3px 0px; + + -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); + box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); +} +.dnnMemberDirectory .mdAdvancedSearchForm label{ width:100px;display: inline-block; } +.dnnMemberDirectory .mdAdvancedSearchForm input[type="text"]{ width:130px; margin-left:0;display: inline-block;} +.dnnMemberDirectory .mdAdvancedSearchForm .dnnPrimaryAction{margin:0 105px 5px 0;} + +/* SEARCH LIST +----------------------------------------------- */ +.DnnModule #mdMemberList{ + + + display:inline-block; zoom:1; /*IE FIX for container child float collapse */ + position:relative; + z-index:1; + padding-right:0px; +} +.DnnModule #mdMemberList:hover{z-index:3;} +#mdMemberList > li,#mdMemberList > li * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +#mdMemberList > li{ + position:relative; + z-index:1; + float:right; + width:273px; + height:75px; + margin:0 0 15px 15px; + padding:15px 15px 45px 15px; + list-style:none; + + background:#fff; + border:1px solid #cbcbcb; + -webkit-border-radius: 5px; + border-radius: 5px; + + -webkit-transition: background 0.15s ease-in-out; + -moz-transition: background 0.15s ease-in-out; + -o-transition: background 0.15s ease-in-out; + -ms-transition: background 0.15s ease-in-out; + transition: background 0.15s ease-in-out; + + -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3); +} +#mdMemberList > li:hover{ + background:#f2f2f2; + z-index:2; /*bring current li to top for tooltip */ + + -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); +} + +/* PROFILE IMG */ +.mdMemberDetails .mdMemberImg{ + float:right; + display:block; + padding:3px; + min-width:50px; height:auto; + margin:0 0 15px 15px; + background:#fff; + border:1px solid #ddd; + border-radius:5px; +} + +.mdMemberDetails .mdMemberImg img{ + display:block; + min-width:50px; + background:#eee; +} +.mdMemberDetails .mdMemberImg span{ + display:block; + width:50px; max-height:50px; + overflow:hidden; +} + +/* MEMBER INFO */ +.DnnModule .mdMemberDetails ul, .mdMemberDetails li { + list-style:none; padding:0; margin:0; + color:#666; +} +.mdMemberDetails p{margin-bottom:0; padding:0; line-height:1.5em;} +.mdMemberDetails .mdDisplayName{margin-bottom:5px;} +.mdMemberDetails .mdDisplayName{font-weight:bold;} +.mdMemberDetails .mdTitle{font-style:italic;} + + +/* MEMBER ACTIONS */ + +.mdMemberDetails .mdHoverActions{ + clear:both; + position:absolute; + width:100%; + bottom:0; right:0; + height:32px; + border-top:1px solid #bbb; + font-size:11px; + background:#e7e7e7 url(Images/mdhoverActionsBg.png) repeat-x 0 -1px; + + text-shadow: 0px 1px 0px #ffffff; + filter: dropshadow(color=#ffffff, offx=0, offy=1); + +} +.mdMemberDetails .mdHoverActions li{float:right;} +.mdMemberDetails .mdHoverActions li:first-child{padding-right:7px;} +.mdMemberDetails .mdHoverActions li a, +.mdMemberDetails .mdHoverActions li p{ + display:block; + padding:10px 7px; + font-size:11px; + min-height:12px; + min-width:35px; +} +.mdMemberDetails .mdHoverActions li p{padding:9px 7px;} + +.mdMemberDetails .mdHoverActions .mdComposeMessage{ + display:block; + position:absolute; + left:0; bottom:0; + border-right: 1px solid #C7C7C7; +} +.mdMemberDetails .mdHoverActions .mdComposeMessage:hover{ + background:#b7b9bb url(Images/mdhoverActionsBg.png) repeat-x 0 -100px; + -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3); + box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.3); +} +.mdMemberDetails .mdHoverActions .mdComposeMessage a{ + border-right: 1px solid #FCFCFC; + background:url(Images/sendMessageSprite.png) no-repeat 17px 12px; +} +.mdMemberDetails .mdHoverActions .mdComposeMessage:hover a{border-right: 1px solid #888;} +.mdMemberDetails .mdHoverActions .mdComposeMessage a:hover{ + background-position:17px -91px; +} +.mdMemberDetails .mdHoverActions .mdComposeMessage span{display:none;} + +/* TOOL TIP STYLES */ +.mdMemberList .mdHoverContent +{ + display: none; + position:absolute; + right:12px; bottom:125px; + width:290px; + padding:15px 15px 40px 15px; + border:1px solid #ddd; + background:#fff; + font-size:12px; + color:#777; + + -webkit-border-radius: 5px; + border-radius: 5px; +} + +/* Tool tip prfile img */ +.mdMemberList .mdHoverContent .mdMemberImg{ + float:right; + display:block; + padding:3px; + min-width:50px; height:auto; + margin:0 0 15px 15px; + background:#fff; + border:1px solid #ddd; + border-radius:5px; +} + +.mdMemberList .mdHoverContent .mdMemberImg img{ + display:block; + min-width:50px; + background:#eee; +} +.mdMemberList .mdHoverContent .mdMemberImg span{ + display:block; + width:50px; max-height:50px; + overflow:hidden; +} +.DnnModule .mdHoverContent ul, .mdHoverContent li{ + padding:0; margin:0; list-style:none; +} +.mdMemberList .mdHoverContent .mdDisplayName{font-weight:bold; margin-bottom:5px;} +.mdMemberList .mdHoverContent .mdTitle{font-style:italic;} +.mdMemberList .mdHoverContent p, +.mdMemberList .mdHoverContent a +{padding:0; margin:0; line-height:1.4em;} + +/* Tool tip Actions List */ +.mdMemberList .mdHoverContent .mdHoverActions{ + position:absolute; + right:0; bottom:0; + width:100%; height:30px; + border-top:1px solid #ddd; + font-size:11px; +} +.mdMemberList .mdHoverContent .mdHoverActions li{ + padding:7px 7px 0 7px; + float:right; +} +.mdMemberList .mdHoverContent .mdHoverActions li:first-child{ + padding-right:15px; +} + + +.mdMemberList .mdHoverContent span.tooltipArrow { + display: block!important; + position:absolute; + right:50px; bottom: -15px; + height:15px; width:30px; + background:url(images/tooltipArrow.png) no-repeat 0 0; +} + +.dnnForm.dnnMemberDirectorySettings .dnnFormItem .dnnTooltip { width: 20%; } +.dnnForm .dnnFormItem .mdFilters td { width:auto; padding-left:10px;} +.dnnForm .dnnFormItem .mdFilters td label { width:auto; margin-top: 1px; white-space:nowrap; } + +.dnnForm .dnnFormItem .mdFilterLists { padding-right: 16px; } +.dnnForm .dnnFormItem .mdFilterLists input { float: none;} +.dnnForm .dnnFormItem .mdFilterLists input, .dnnForm .dnnFormItem .mdFilterLists select { width: 45%;} +.dnnForm .dnnFormItem .mdFilterBy { background-color: #F0F0F0; margin-right: 36%; width: 50%;} +.ui-helper-hidden-accessible { display:none; } diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx index f16207dc209..44d18e83d43 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx @@ -26,7 +26,9 @@ export class DnnActionCopyUrl { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx index 956cae8d6bd..572e5eb75ac 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx @@ -46,7 +46,9 @@ export class DnnActionCreateFolder { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx index a9ea5e89451..53e54b2737d 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx @@ -31,7 +31,9 @@ export class DnnActionDeleteItems { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx index deee0b7144e..eda99b7d7e9 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx @@ -26,7 +26,9 @@ export class DnnActionDownloadItem { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx index 43e22d45782..5edca7b6bc5 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx @@ -39,7 +39,9 @@ export class DnnActionEditItem { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx index f50394ab3d7..06cc01d84b7 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx @@ -31,7 +31,9 @@ export class DnnActionMoveItems { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx index 31b74111e1c..31e96ec19e6 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx @@ -31,7 +31,9 @@ export class DnnActionUnlinkItems { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx index f61e7a77347..ce7a1b109a2 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx @@ -42,7 +42,9 @@ export class DnnActionUploadFile { ); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss index 72d07bd8c1c..c6c9b4bbccd 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss @@ -59,4 +59,12 @@ dnn-vertical-overflow-menu{ } dnn-collapsible{ z-index: 1; -} \ No newline at end of file +} + +/* START Persian-DnnSoftware */ +@if "body has class $rtl"{ + button{ + font-family: IRANSans; + } +} +/* END Persian-DnnSoftware */ \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx index e1ac47ef275..66d6093024c 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx @@ -120,7 +120,10 @@ export class DnnRmActionsBar { {state.selectedItems.length > 0 && state.selectedItems.every(i => i.isFolder && i.unlinkAllowedStatus && i.unlinkAllowedStatus != "false") && } - {state.selectedItems.length == 1 && !state.selectedItems[0].isFolder && location.protocol == "https:" && + {/* START persian-dnnsoftware */} + {/* {state.selectedItems.length == 1 && !state.selectedItems[0].isFolder && location.protocol == "https:" && */} + {state.selectedItems.length == 1 && !state.selectedItems[0].isFolder && (location.protocol == "https:" || location.protocol == "http:" ) && + /* END Persian-DnnSoftware */ } {state.selectedItems.length == 1 && !state.selectedItems[0].isFolder && diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss index 6ef62fb2f88..af73dd90612 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-files-pane/dnn-rm-files-pane.scss @@ -3,3 +3,14 @@ padding-left: 32px; overflow-y: auto; } + +/* START Persian-DnnSoftware */ +@if "body has class $rtl"{ + :host { + display: block; + padding-right: 32px; + padding-left: unset; + overflow-y: auto; + } +} +/* END Persian-DnnSoftware */ \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss index b68aaf85f61..ec0cdc914c9 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-folder-list-item/dnn-rm-folder-list-item.scss @@ -10,6 +10,13 @@ font-weight: bolder; color: var(--dnn-color-primary-dark, #0D569E); } + /* START Persian-DnnSoftware */ + @if "body has class $rtl"{ + .item-name{ + font-family: IRANSans; + } + } + /* END Persian-DnnSoftware */ } button{ @@ -29,4 +36,12 @@ dnn-collapsible{ box-shadow: 2px 2px 4px -2px; background-color: white; z-index: 1; -} \ No newline at end of file +} + +/* START Persian-DnnSoftware */ +@if "body has class $rtl"{ + button{ + font-family: IRANSans; + } +} +/* END Persian-DnnSoftware */ \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss index a3397fc01af..414a14f09b0 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-cardview/dnn-rm-items-cardview.scss @@ -43,6 +43,14 @@ .item-name{ line-break: anywhere; } + + /* START Persian-DnnSoftware */ + @if "body has class $rtl"{ + .item-name{ + font-family: IRANSans; + } + } + /* END Persian-DnnSoftware */ } } dnn-collapsible{ diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/dnn-rm-items-listview.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/dnn-rm-items-listview.tsx index e5a5779598f..7d9942435a3 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/dnn-rm-items-listview.tsx +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-items-listview/dnn-rm-items-listview.tsx @@ -38,8 +38,10 @@ export class DnnRmItemsListview { private getLocalDateString(dateString: string) { const date = new Date(dateString); return
- {date.toLocaleDateString()} - {date.toLocaleTimeString()} + {/* START persian-dnnsoftware */} + { document.documentElement.lang.toLowerCase()!="fa-ir"?date.toLocaleDateString():date.toLocaleDateString("fa-IR")} + {document.documentElement.lang.toLowerCase()!="fa-ir"?date.toLocaleTimeString():date.toLocaleTimeString("fa-IR")} + {/* END persian-dnnsoftware */}
} diff --git a/DNN Platform/Modules/ResourceManager/module.css b/DNN Platform/Modules/ResourceManager/module.css index 0eb4a82dcf2..f05226ea9a3 100644 --- a/DNN Platform/Modules/ResourceManager/module.css +++ b/DNN Platform/Modules/ResourceManager/module.css @@ -4,3 +4,126 @@ .rm-container *{ box-sizing: border-box; } + +/* persian-dnnsoftware */ +.rtl .rm-container #Assets-panel #assets-header.socialpanelheader .right-container { + right: unset; + left: 0; +} + +.rtl .rm-container #Assets-panel .rm-button.secondary { + margin-right: unset; + margin-left: 10px; +} + +.rtl .rm-container #Assets-panel .assets-body .header-container .rm-folder-picker-refresh-sync-container .rm-refresh-sync-dropdown { + border-left: 1px solid #C8C8C8; +} + +.rtl .dnn-dropdown .collapsible-label .dropdown-prepend > strong { + margin-right: unset; + margin-left: 5px; +} + +.rtl .dnn-folder-selector:after { + right: unset; + left: 20px; +} + + +.rtl .dnn-dropdown .dropdown-icon { + right: unset; + left: 10px; +} + +.rtl .ReactCollapse--content div div div { + margin-right: 0px !important; +} + +.rtl .rm-container #Assets-panel .assets-body .header-container a.search-button { + left: 15px; + right: unset; +} + +.rlt .rm-container #Assets-panel .assets-body .header-container input[type='search'].assets-input { + padding-left: 29px; + padding-right: unset; +} + +.rtl .rm-container #Assets-panel .breadcrumbs-container > div:not(:last-child)::after { + left: -10px; + padding-left: 5px; + padding-right: 5px; + right: unset; + transform: rotate(180deg); +} + +.rtl .rm-container #Assets-panel .breadcrumbs-container > div:last-child { + padding-left: 10px; + margin-right: 5px; + padding-right: 0; + margin-left: 0; + font-family: inherit; +} + +.rtl .rm-container #Assets-panel .breadcrumbs-container > div:first-child:not(:last-child) { + padding-left: 0; + padding-right: 0; +} + +.rtl .rm-container #Assets-panel .breadcrumbs-container > div:not(:first-child):not(:last-child) { + padding-right: 10px; + margin-left: 10px; +} + +.rtl .rm-container #Assets-panel .breadcrumbs-container div > span { + padding-right: 3px; + padding-left: 10px; +} + +.rtl .rm-container #Assets-panel .breadcrumbs-container div { + font-family: inherit; +} + +.rtl .rm-container #Assets-panel .rm-card.selected > div.rm-actions, .rm-container #Assets-panel .rm-card:hover > div.rm-actions { + right: unset; + left: 0; +} + +.rtl .rm-container #Assets-panel .rm-card > div.rm-actions { + left: -32px; + right: unset !important; +} + +.rtl .rm-container #Assets-panel .rm-card.selected > div.rm-actions, .rm-container #Assets-panel .rm-card:hover > div.rm-actions { + right: unset !important; + left: 0; +} + +.rtl .rm-container #Assets-panel .rm-card.selected > div.rm-actions, .rm-container #Assets-panel .rm-card:hover > div.rm-actions { + left: 0; + right: unset !important; +} + +.rtl .rm-container #Assets-panel div.details-icon { + float: right !important; + margin: 0 0 25px 15px !important; +} + +.rtl .rm-container #Assets-panel div.details-field + div.line-break { + clear: left; +} + +.rtl .rm-container #Assets-panel .rm-card-container { + float: right; + margin-left: 3%; + margin-right: 0; +} + +.rtl .rm-container #Assets-panel div.save { + float: right; +} + +.rtl .rm-container #Assets-panel div.cancel { + float: right; +} diff --git a/DNN Platform/Skins/Xcillion/DotNetNuke.Skins.Xcillion.csproj b/DNN Platform/Skins/Xcillion/DotNetNuke.Skins.Xcillion.csproj index f7d3299a8d4..c583ece1844 100644 --- a/DNN Platform/Skins/Xcillion/DotNetNuke.Skins.Xcillion.csproj +++ b/DNN Platform/Skins/Xcillion/DotNetNuke.Skins.Xcillion.csproj @@ -125,15 +125,19 @@ + + + + @@ -168,6 +172,7 @@ + @@ -191,6 +196,7 @@ + @@ -200,6 +206,15 @@ + + + + + + + + + diff --git a/DNN Platform/Skins/Xcillion/Skin/404.ascx b/DNN Platform/Skins/Xcillion/Skin/404.ascx index cde462c0efa..95f6fb2108e 100644 --- a/DNN Platform/Skins/Xcillion/Skin/404.ascx +++ b/DNN Platform/Skins/Xcillion/Skin/404.ascx @@ -14,6 +14,16 @@ <%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %> <%@ Register TagPrefix="dnn" TagName="jQuery" src="~/Admin/Skins/jQuery.ascx" %> +<%--persian-dnnsoftware--%> + +<%--persian-dnnsoftware--%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + لغو + + + آیتمی در این لیست وجود ندارد + + + : + + + فایل + + + پوشه + + + پوشه من + + + شما مجوز لازم جهت مشاهده هیچ یک از فایل های سیستمی را ندارید. + + + خوب + + + ریشه سایت + + + ذخیره فایل + + + آپلود فایل + + + نوع فایل {1} وارد شده در این بخش معتبر نمی باشد. انواع معتبر فایل عبارتند از: {0} + + + کلمه‌عبور با تکرار آن مطابقت ندارد. + + + حداقل {0} کاراکتر + + + حداقل {0} کاراکتر ویژه (!,@,#,%) + + + یک کاراکتر با حروف کوچک + + + یک عدد + + + یک کاراکتر با حروف بزرگ + + + کاراکتر ویژه (!,@,#,%) + + + معمولی + + + - حداقل کاراکتر + + + قوی + + + ضعیف + + + همه موارد علامت‌گذاری شدند + + + علامت‌گذاری همه + + + بستن + + + بازکردن فایل + + + بازکردن فایل‌های فشرده + + + یکی از روش‌های زیر را برای آپلود فایل‌ها انتخاب نمایید + + + فایل‌های خود را اینجا رها کنید یا بر روی دکمه انتخاب کلیک نمایید + + + مرورگر شما از آپلود فایل خالی پشتیبانی نمی‌کند + + + خطا + + + فایلی که قصد آپلود آن را دارید از قبل در این پوشه موجود می‌باشد + + + حجم فایل بیشتر از {0} + + + آپلود لغو شد + + + فایل آپلود شد + + + آپلود ناموفق بود + + + تعدادی از فایل‌های انتخاب شده شامل پسوندهای نامعتبری بودند که از لیست آپلود حذف شدند. شما تنها مجاز به آپلود فایل‌هایی با پسوندهای مقابل می باشید: {0}. + + + نگاه‌داشتن + + + جایگزین‌کردن + + + آپلود فایل‌ها + + + شما مجاز به آپلود بیش از {0} فایل در آن‌واحد نمی باشید. + + + آپلود فایل + + + آپلود + + + از وب + + + آپلود فایل متوقف شد + + + آپلود در: + + + آدرس فایل را همچون مثال مقابل وارد نمایید: http://SomeWebSite.com/Images/About.png + + + مورد علامت‌گذاری شدند + + + عدم تطابق + + + موارد <b>1</b>-<b>{0}</b> خارج از <b>{1}</b> + + \ No newline at end of file diff --git a/DNN Platform/Website/Default.aspx.cs b/DNN Platform/Website/Default.aspx.cs index d8d61c5490a..9dcc20cf470 100644 --- a/DNN Platform/Website/Default.aspx.cs +++ b/DNN Platform/Website/Default.aspx.cs @@ -165,6 +165,22 @@ protected bool NonProductionVersion() protected override void OnInit(EventArgs e) { base.OnInit(e); + /* START Persian-DnnSoftware */ + + // 404 Page RLT Bug Fix + if (this.PortalSettings.CultureCode == "fa-IR") + { + var newCulture = Services.Localization.Persian.PersianController.NewCultureInfo("fa-IR"); + System.Threading.Thread.CurrentThread.CurrentUICulture = newCulture; + } + + // Right to Left Layout + if (CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft) + { + this.Body.Attributes.Add("class", "rtl "); + } + + /* END Persian-DnnSoftware */ // set global page settings this.InitializePage(); diff --git a/DNN Platform/Website/DesktopModules/Admin/Authentication/module.rtl.css b/DNN Platform/Website/DesktopModules/Admin/Authentication/module.rtl.css new file mode 100644 index 00000000000..7dc32bcabbf --- /dev/null +++ b/DNN Platform/Website/DesktopModules/Admin/Authentication/module.rtl.css @@ -0,0 +1,235 @@ +/* Persian-DnnSoftware */ +/* CSS Document */ + +.ContentPane * { + zoom: 1; +} +/* Trigger quirks mode for IE */ + +.dnnLogin { + width: 100%; +} + +.LoginPanel { + width: 500px; + padding-left: 50px; + /*float: right;*//*Persian-DnnSoftware*/ +} + +/* Tabs */ +.dnnAdminTabNav { + width: 500px; +} +.dnnLoginService { + /*padding-top: 25px;*/ +} +.dnnLoginService input[type="text"], .dnnLoginService input[type="password"] { + width: 200px; + min-width: 200px; + margin-bottom: 5px; +} +/*.dnnPrimaryAction { + margin-top: 18px; + margin-left: 34%; +}*/ + +/* +.dnnLoginRememberMe { + padding-left: 34%; +}*/ + +#socialControls { + float: right; + padding-top: 27px; +} + +#socialControls ul.buttonList { + list-style: none; + padding-right: 0; +} +ul.buttonList li { + float: none; + list-style: none; + width: 250px; + margin-bottom: 7px; +} +/* SET DEFUALT BUTTON STYLE */ +ul.buttonList li a { + clear: both; + overflow: auto; + position: relative; + display: block; + text-decoration: none; + text-shadow: 0px 1px 0px #fff; + font-weight: bold; + font-family: Tahoma, Arial, Helvetica, sans-serif; + font-size: 12px; + background: #e7e7e7 url(images/socialLoginbuttons-repeatingbg.png) repeat-x 0 -601px; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.7); + box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.7); +} +/* Use span to set dimensions; a and li will inherit */ +ul.buttonList li a img { + float: right; +} +ul.buttonList li a span { + float: right; + display: block; + padding: 10px 15px; +} +ul.buttonList li a:hover { + border-color: #a8a8a8; + text-shadow: 0px 1px 0px #e1e1e1; + background-position: 0 -650px; + background-color: #cacbcd; +} +ul.buttonList li a:active { + color: #fff; + text-shadow: 0px -1px 0px #666; + border-color: #a3a3a3; + background-position: 0 -700px; + background-color: #b7b9bb; + -webkit-box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3); + -moz-box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3); + box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3); +} +/* SET SOCIAL SPECIFIC STYLES */ +ul.buttonList .facebook a span, ul.buttonList .twitter a span, ul.buttonList .googleplus a span, ul.buttonList .windowslive a span { + padding-right: 45px; + background: url(images/socialLoginbuttons-icons.png) no-repeat 12px 7px; +} +ul.buttonList .facebook a:after, ul.buttonList .twitter a:after, ul.buttonList .googleplus a:after, ul.buttonList .windowslive a:after { + position: absolute; + right: 35px; + top: 0; + height: 100%; + width: 0; + content: ""; + border-right: 1px solid rgba(0,0,0,0.2); + border-left: 1px solid rgba(255,255,255,0.3); +} +/*FACEBOOK*/ +ul.buttonList .facebook a { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #286c93; /* dark blue */ + background-position: 0 0; + background-color: #5581bb; +} +ul.buttonList .facebook a:hover { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #286c93; /* dark blue */ + background-position: 0 -50px; + background-color: #729dcd; +} +ul.buttonList .facebook a:active { + background-position: 0 -100px; + border-color: #286c93; /* dark blue */ + background-color: #537fba; +} + +/*TWITTER*/ +ul.buttonList .twitter a { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #3d82a0; /* dark teal blue */ + background-position: 0 -150px; + background-color: #11a2d6; +} +ul.buttonList .twitter a:hover { + color: #fff; + border-color: #3d82a0; /* dark teal blue */ + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + background-position: 0 -200px; + background-color: #43c1e3; +} +ul.buttonList .twitter a:active { + background-position: 0 -250px; + border-color: #3d82a0; /* dark teal blue */ + background-color: #0597cc; +} +ul.buttonList .twitter a span { + background-position: 9px -40px; +} + +/*GOOGLE PLUS*/ +ul.buttonList .googleplus a { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #821e16; /* dark red */ + background-position: 0 -300px; + background-color: #b12e1e; +} +ul.buttonList .googleplus a:hover { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #821e16; /* dark red */ + background-position: 0 -350px; + background-color: #cc3633; +} +ul.buttonList .googleplus a:active { + background-position: 0 -400px; + border-color: #821e16; /* dark red */ + background-color: #a5281a; +} +ul.buttonList .googleplus a span { + background-position: 10px -90px; +} + +/*WINDOWS LIVE ID*/ +ul.buttonList .windowslive a { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #7a7a7a; /* dark grey*/ + background-position: 0 -450px; + background-color: #8f8f8f; +} +ul.buttonList .windowslive a:hover { + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #7a7a7a; /* dark grey*/ + background-position: 0 -500px; + background-color: #b3b3b3; +} +ul.buttonList .windowslive a:active { + background-position: 0 -550px; + border-color: #7a7a7a; /* dark grey*/ + background-color: #808080; +} +ul.buttonList .windowslive a span { + background-position: 9px -141px; +} + +/* clean some form style */ +.dnnFormItem{ + width: 100%; +} +.dnnFormItem > label.dnnFormLabel, .dnnFormItem > span.dnnFormLabel { + display: inline-block; + margin: 6px 0 0 18px; + width: 30%; + text-align: right; +} +div.dnnCaptcha +{ + width: 70% !important; + margin-right: 30%; + padding-right: 22px; +} +span.dnnFormMessage.dnnFormError.dnnCaptcha +{ + left: 24%; + bottom: -55px; +} +a.dnnDisabledAction:link, a.dnnDisabledAction:visited, a.dnnDisabledAction:active, a.dnnDisabledAction:hover { + text-decoration: none; + color: Silver; + opacity: 0.5; + /*IE8*/ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; +} \ No newline at end of file diff --git a/DNN Platform/Website/DesktopModules/Admin/SearchResults/dnn.searchResult.js b/DNN Platform/Website/DesktopModules/Admin/SearchResults/dnn.searchResult.js index 4af659163e4..0952bf804a8 100644 --- a/DNN Platform/Website/DesktopModules/Admin/SearchResults/dnn.searchResult.js +++ b/DNN Platform/Website/DesktopModules/Admin/SearchResults/dnn.searchResult.js @@ -389,6 +389,7 @@ var sterm = dnn.searchResult.queryOptions.searchTerm; var advancedTerm = dnn.searchResult.queryOptions.advancedTerm; if ((!sterm || $.trim(sterm).length <= 1) && (!advancedTerm || $.trim(advancedTerm).length <= 1)) { + dnn.searchResult.renderResults(null); return; } @@ -461,24 +462,51 @@ var htmlAdvancedTerm = advancedTerm.replace(/\[/g, '[ ').replace(/\]/g, ' ]') .replace(/after:/g, 'after: ').replace(/type:/g, 'type: '); var w = advancedTextCtrl.html(htmlAdvancedTerm).width(); - $('#dnnSearchResult_dnnSearchBox_input').val(term).css({ - left: w + 40, - width: wrapWidth - w - 165 - 8 - }); - advancedTextClear.css({ - left: w + 20 - }); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + $('#dnnSearchResult_dnnSearchBox_input').val(term).css({ + right: w + 40, + width: wrapWidth - w - 165 - 8 + }); + advancedTextClear.css({ + right: w + 20 + }); + } else { + $('#dnnSearchResult_dnnSearchBox_input').val(term).css({ + left: w + 40, + width: wrapWidth - w - 165 - 8 + }); + advancedTextClear.css({ + left: w + 20 + }); + } + /* END Persian-DnnSoftware */ } else { advancedTextCtrl.html('').hide(); var w1 = $('#dnnSearchResult_dnnSearchBox_input').next().next().next().width(); - $('#dnnSearchResult_dnnSearchBox_input').css({ - left: "", - width: wrapWidth - w1 - 50 - 8 - }); + + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + $('#dnnSearchResult_dnnSearchBox_input').css({ + right: "", + width: wrapWidth - w1 - 50 - 8 + }); + + $('#dnnSearchResult_dnnSearchBox_input').next().css({ + left: w1 + 35 + }); + } else { + $('#dnnSearchResult_dnnSearchBox_input').css({ + left: "", + width: wrapWidth - w1 - 50 - 8 + }); + + $('#dnnSearchResult_dnnSearchBox_input').next().css({ + right: w1 + 35 + }); + } + /* END Persian-DnnSoftware */ - $('#dnnSearchResult_dnnSearchBox_input').next().css({ - right: w1 + 35 - }); advancedTextClear.removeClass('dnnShow'); } diff --git a/DNN Platform/Website/DesktopModules/Admin/SearchResults/module.rtl.css b/DNN Platform/Website/DesktopModules/Admin/SearchResults/module.rtl.css new file mode 100644 index 00000000000..e67846bbdb4 --- /dev/null +++ b/DNN Platform/Website/DesktopModules/Admin/SearchResults/module.rtl.css @@ -0,0 +1,343 @@ +/* Persian-DnnSoftware */ +.dnnSearchBoxPanel { + width: 100%; + max-width: 980px; + padding: 10px 0 10px 0; + background-color: #ddd; +} + + .dnnSearchBoxPanel .dnnSearchBox { + margin-right: 10px; + margin-left: 105px; + display: block; + } + + .dnnSearchBoxPanel > div { + margin-right: 10px; + } + +.dnnSearchResultAdvancedTip { + float: left; + display: block; + margin: 10px 0 0 13px; +} + +.dnnSearchResultPanel { + width: 100%; + max-width: 980px; + margin: 0 0 0 0;/*Persian-DnnSoftware*/ + padding: 10px 0 7px 0; + background-color: #ddd; +} + + .dnnSearchResultPanel .selectize-control { + width: 100px; + } + + .dnnSearchResultPanel .dnnRight { + margin-left: 10px; + } + + .dnnSearchResultPanel .dnnSearchResultSortOptions { + margin: 0 0 0 0; + padding: 0 0 0 5px; + list-style-type: none; + border-radius: 3px; + border: 1px solid #ccc; + } + + .dnnSearchResultPanel .dnnSearchResultSortOptions > li { + list-style: none; + display: inline-block; + margin: 0 0 0 -5px; + padding: 0; + border-right: 1px solid #ccc; + } + + .dnnSearchResultPanel .dnnSearchResultSortOptions > li:first-child { + border-right: none; + } + + .dnnSearchResultPanel .dnnSearchResultSortOptions > li > a { + display: block; + padding: 7px 15px 7px 15px; + margin: 0; + color: #666; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + } + + .dnnSearchResultPanel .dnnSearchResultSortOptions > li.active > a, + .dnnSearchResultPanel .dnnSearchResultSortOptions > li.active > a:hover { + background-color: #e8f1fa; + background: -moz-linear-gradient(top, #ccc 0%, #fff 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ccc), color-stop(100%,#fff)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #ccc 0%,#fff 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #ccc 0%,#fff 100%); /* W3C */ + color: #333; + } + + .dnnSearchResultPanel > .dnnRight > span.dnnSearchResultCountPerPage { + display: inline-block; + margin: 10px 0 0 5px; + color: #666; + vertical-align: top; + } + +.dnnSearchResultContainer { + margin: 30px 0 0 0; +} + +.dnnSearchLoading { + position: absolute; + background-color: #fff; + background-color: rgba(255,255,255,0.7); + background-image: url(../../../images/loading.gif); + background-repeat: no-repeat; + background-position: center center; + margin: 30px 0 30px 0; +} + + +.dnnSearchResultContainer > .dnnSearchResultItem { + width: 100%; + margin: 0 0 30px 0; +} + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Title { + font-size: 17px; + font-weight: bold; + margin: 0 0 6px 0; + } + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Title b { + font-style: italic; + } + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Description { + color: #666; + margin: 0 0 6px 0; + } + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Description b { + color: #000; + } + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Others span { + font-weight: bold; + color: #777; + } + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Others span + label { + font-weight: normal; + } + + .dnnSearchResultContainer > .dnnSearchResultItem > .dnnSearchResultItem-Others a { + display: inline-block; + margin: 0 0 0 2px; + vertical-align: top; + } + +.dnnSearchResultContainer > .dnnSearchResultItem-Subset { + margin: -10px 30px 30px 10px; +} + + .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Title { + font-weight: bold; + margin: 0 0 3px 0; + } + + .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Description { + color: #666; + margin: 0 0 6px 0; + } + + .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Description b { + color: #000; + } + + .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Others span { + font-weight: bold; + color: #777; + } + + .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Others span + label { + font-weight: normal; + } + + .dnnSearchResultContainer > .dnnSearchResultItem-Subset > .dnnSearchResultItem-Others a { + display: inline-block; + margin: 0 0 0 2px; + vertical-align: top; + } + + +.dnnSearchResultPager { + margin: 30px 0 0 0; + padding: 15px 0 15px 0; + border-top: 1px solid #ccc; +} + +.dnnSearchResultPager.dnnSearchResultPagerTop { + border-top: none; + border-bottom: 1px solid #ccc; + margin: 10px 0 30px 0; +} + + .dnnSearchResultPager span { + display: inline-block; + color: #666; + margin: 6px 0 0 3px; + vertical-align: top; + } + + .dnnSearchResultPager span.dnnPager-current { + margin: 6px 0 0 20px; + + } + + .dnnSearchResultPager a { + -webkit-box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.4), inset 0 1px 0 0 rgba(255, 255, 255, 1); + background: #fff; /* Old browsers */ + background: -moz-linear-gradient(top, #fff 0%, #eee6e5 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #eee6e5)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%, #eee6e5 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fff 0%, #eee6e5 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fff 0%,#eee6e5 100%); /* IE10+ */ + background: linear-gradient(top, #fff 0%,#eee6e5 100%); /* W3C */ + border: 1px solid #dddddd; + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.4), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); + color: #555; + display: inline-block; + height: 32px; + margin-top: -6px; + text-shadow: 0 1px 0 #ffffff; + width: 25px; + vertical-align: top; + } + + .dnnSearchResultPager a.dnnPager-next { + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + background-image: url("../../../icons/sigma/left.png"); + background-position: center; + background-repeat: no-repeat; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; + } + + .dnnSearchResultPager a.dnnPager-prev { + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + background-image: url("../../../icons/sigma/right.png"); + background-position: center; + background-repeat: no-repeat; + border-bottom-right-radius: 3px; + border-left: none; + border-top-right-radius: 3px; + } + + .dnnSearchResultPager a.dnnPager-disable { + opacity: 0.65; + } + +#dnnSearchResultAdvancedForm { + margin: 20px 0 0 0; + width: 450px; +} + + #dnnSearchResultAdvancedForm .dnnFormItem { + margin-bottom: 5px; + } + + #dnnSearchResultAdvancedForm.dnnForm .dnnFormItem > .selectize-control { + width: 235px; + margin-bottom: 0; + } + + #dnnSearchResultAdvancedForm .dnnActions { + margin: 10px 20px 5px 0; + padding: 0; + } + +#dnnSearchResult-advancedTipContainer { + margin-left: 10px; + display: none; +} + +.dnnSearchResult-hint-tbl { + margin: 20px 0 10px 0; + width: 100%; + background-color: #fff; + border-collapse: collapse; +} + +@media only screen and (max-width: 715px) { + .dnnSearchBox_advanced_dropdown { + width: 420px; + right: -254px; + } +} + +@media only screen and (max-width: 580px) { + + #dnnSearchResultAdvancedForm { + width: 250px; + } + + .dnnSearchBox_advanced_dropdown { + right:-150px !important; + width: 250px; + } + + #dnnSearchResultAdvancedForm .dnnLabel { + white-space: nowrap; + margin-left: 1em; + text-align: right; + float:none; + display:block; + width:100%; + } + + #dnnSearchResultAdvancedForm .dnnLabel label { + margin-left:.3em; + } + + #dnnSearchResultAdvancedForm .dnnFormHelp { + position:relative !important; + width:20px; + } + + #dnnSearchResultAdvancedForm .dnnTooltip { + right:30% !important; + white-space:normal; + } + + #dnnSearchResultAdvancedForm .dnnCheckbox { + position: absolute; + top: -8px; + right: 135px; + } +} + +@media only screen and (max-width: 475px) { + .dnnSearchBox_advanced_dropdown { + right: -48px !important; + } +} + + +@media only screen and (max-width: 390px) { + .dnnSearchBox_advanced_dropdown { + right: -5px !important; + } +} + +/* Persian-DnnSoftware */ +dnnSearchResultItem-Link { + direction:ltr; + text-align:left; +} \ No newline at end of file diff --git a/DNN Platform/Website/DesktopModules/Admin/Security/Profile.ascx.cs b/DNN Platform/Website/DesktopModules/Admin/Security/Profile.ascx.cs index 6593fa30962..bf303a97865 100644 --- a/DNN Platform/Website/DesktopModules/Admin/Security/Profile.ascx.cs +++ b/DNN Platform/Website/DesktopModules/Admin/Security/Profile.ascx.cs @@ -119,7 +119,10 @@ protected override void OnInit(EventArgs e) if (basePage != null) { // Check if culture is RTL - this.ProfileProperties.LabelMode = basePage.PageCulture.TextInfo.IsRightToLeft ? LabelMode.Right : LabelMode.Left; + /* START Persian-DnnSoftware */ + // this.ProfileProperties.LabelMode = basePage.PageCulture.TextInfo.IsRightToLeft ? LabelMode.Right : LabelMode.Left; + this.ProfileProperties.LabelMode = LabelMode.Left; + /* END Persian-DnnSoftware */ } this.ProfileProperties.LocalResourceFile = this.LocalResourceFile; diff --git a/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx b/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx index cec2ba0e55c..450203086d4 100644 --- a/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx +++ b/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx @@ -3,8 +3,8 @@
- - + <%--Persian-DnnSoftware--%> + <%--Persian-DnnSoftware--%> diff --git a/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx.designer.cs b/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx.designer.cs index c46cca1228f..591a5f298a9 100644 --- a/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx.designer.cs +++ b/DNN Platform/Website/DesktopModules/Admin/Security/ProfileDefinitions.ascx.designer.cs @@ -1,8 +1,4 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. // @@ -11,29 +7,43 @@ // //------------------------------------------------------------------------------ -namespace DotNetNuke.Modules.Admin.Users { - - - public partial class ProfileDefinitions { - /// grdProfileProperties control. +namespace DotNetNuke.Modules.Admin.Users +{ + + + public partial class ProfileDefinitions + { + + /// + /// grdProfileProperties control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.DataGrid grdProfileProperties; - /// actionsRow control. + + /// + /// actionsRow control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.HtmlControls.HtmlGenericControl actionsRow; - /// cmdAdd control. + + /// + /// cmdAdd control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.HyperLink cmdAdd; - /// cmdRefresh control. + + /// + /// cmdRefresh control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. diff --git a/DNN Platform/Website/DesktopModules/Admin/Security/module.rtl.css b/DNN Platform/Website/DesktopModules/Admin/Security/module.rtl.css new file mode 100644 index 00000000000..5b5c8f85705 --- /dev/null +++ b/DNN Platform/Website/DesktopModules/Admin/Security/module.rtl.css @@ -0,0 +1,649 @@ +/* Persian-DnnSoftware */ +.ContentPane *{zoom:1;} /* Trigger quirks mode for IE */ + +.dnnSecurityRoles, .dnnManageUsers, .dnnProfileProperties, .dnnEditProfileDef, .dnnPassword, .dnnProfile, .dnnRoleDetails, .dnnManageSecurityRoles, .dnnUserSettings +{ + margin: 1em auto 2.5em; +} +.dnnSecurityRoles .dnnGrid td, .dnnGrid.dnnSecurityRoles td +{ + padding: 12px 10px; +} +.dnnProfileProperties .dnnGridHeader +{ + font-size: 11px; + text-align: right; +} +.dnnGrid.dnnSecurityRolesGrid td +{ + padding: 8px 5px; +} +.dnnGrid.dnnSecurityRolesGrid +{ + margin-bottom: 1em; +} +.dnnGrid.dnnSecurityRolesGrid .rgRow td, .dnnGrid.dnnSecurityRolesGrid .rgAltRow td { + max-width: 200px; + word-wrap: break-word; +} +.dnnSecurityRoles{ + width: 100%; +} + +.dnnSecurityRoles td .dnnLabel{ + text-align: center; + width: auto !important; + margin-bottom: 5px; +} +.dnnSecurityRoles .inlineButton { + position: relative; + top: -33px; + vertical-align: bottom; + margin-right: 4px; +} + +.dnnFormItem input.dnnUserSearchInput +{ + width: 40%; +} +#dnnUsers select.dnnUsersSearchFilter +{ + padding: 5px; + margin: 0 8px; + width: 20%; +} +#dnnUsers .uLetterSearch li +{ + list-style-type: none; + display: inline; + padding-right: 1em; +} +.uLetterSearch +{ + padding-top: 10px; + padding-bottom: 10px; + text-align: center; +} + +#dnnManageUsers .dnnUser, #dnnManageUsers .dnnMembership +{ + /*width: 45%;*/ + float: right; + margin-left: 10px; +} +#dnnManageUsers .dnnMembership{ + margin-right: 30px; + padding: 15px 25px 0 0; + background-color :#eaeaea; +} + + +#dnnEditUser .dnnUserVanityUrl { + width: 35%; +} + +#dnnEditUser .dnnFormGroup { + width: 60%; +} + +.dnnUser.register{ + width: 100%; +} +.dnnProfileDetails .dnnFormItem .dnnTooltip +{ + width: 20%; +} +.dnnProfileDetails .dnnFormItem select.dnnFormVisibility +{ + width: 100px; +} + + +.dnnUserSettings .dnnFormItem input[type="radio"] +{ + float: none; +} +.dnnUserSettings .dnnFormItem .dnnFormInput span +{ + margin: 0px 10px 0px 10px; +} +.dnnEditRole .dnnFormItem input[type="checkbox"] +{ + width: auto; +} +.dnnEditRole .dnnFormItem input[type="text"] +{ + margin-left: 10px; +} +.erasContent .dnnFormMessage +{ + display: block; +} +.dnnEditRole .erasContent .urlControl .dnnFormItem +{ + margin: 0; + padding: 0; +} +.dnnEditRole .erasContent .urlControl .dnnFormLabel +{ + font-weight: normal; +} +.dnnSecurityRoles .dnnFormItem label, .dnnUser .dnnFormItem .dnnFormLabel +{ + width: 100%; +} +p.dnnFormRequired span +{ + border-right: 5px #F00 solid; + padding-right: 0.5em; +} +.dnnUser a.dnnPrimaryAction, .dnnUser a.dnnPrimaryAction:link, .dnnUser a.dnnPrimaryAction:visited +{ + color: White; +} +.dnnPassword a.dnnPrimaryAction, .dnnPassword a.dnnPrimaryAction:link, .dnnPassword a.dnnPrimaryAction:visited +{ + color: White; +} +.dnnProfile .dnnFormRadioButtons input +{ + float: none; + margin-left: 5px; + margin-right: 5px; +} +.dnnProfile .dnnFormRadioButtons select +{ + margin-left: 10px; + margin-right: 10px; +} +.dnnProfile .dnnFormItem input[type="text"], .dnnProfile .dnnFormItem select, .dnnProfile .dnnFormItem textarea +{ + margin-left: 10px; +} + +.dnnProfileDetails .dnnFormItem > span:hover { + cursor: pointer; +} + +.dnnProfileDetails .dnnFormItem > span { + margin-left: 14px; + margin-bottom: 18px; + background: #dbdbdb; + padding: 7px; + margin-top: 0; +} + +.dnnProfileDetails .dnnFormItem input[type="text"], +.dnnProfileDetails .dnnFormItem textarea, +.dnnProfileDetails .dnnFormItem select, +.dnnProfileDetails .RadPicker{ + display: block; + float: right; + width: 85%; + box-sizing: border-box; +} +.dnnProfileDetails .dnnFormItem > span +{ + box-sizing: + border-box; + display: inline; + float: none; + width: auto; + background-color: + transparent; padding: 4px; +} +.dnnProfileDetails .dnnFormItem .dnnDropDownList input[type="text"] { + float: none; +} +.dnnProfileDetails .RadPicker .riTextBox { + height: auto; +} +.dnnProfileDetails .dnnFormItem select{ + width: 315px; +} + +.dnnLeft{ + margin-bottom: 20px; +} + +.dnnProfileDetails .dnnFormItem > .dnnLeft{ + width:325px; +} + +.dnnProfileDetails .dnnFormItem .dnnLeft select{ + display: block; + float: right; +} +.dnnProfileDetails .dnnFormItem .dnnFormVisibility +{ + width: 10%; + float: right; +} + +#dnn_ctr_ManageUsers_Profile_ProfileProperties_Photo_PhotoFileControl{ + float: right; +} + +#dnn_ctr_ManageUsers_Profile_ProfileProperties_Photo_PhotoFileControl span{ + width: auto !important; +} + +/* +#dnn_ctr_ManageUsers_Profile_ProfileProperties_Photo_PhotoFileControl input[type="file"]{ + width: auto !important; + margin: 0 10px 10px 0; +} +*/ +/* +.dnnProfileDetails .dnnForm .dnnFormVisibility ul li +{ + list-style-type: none; +} +.dnnProfileDetails .dnnFormItem .dnnFormVisibility input[type="radio"] +{ + width: 8%; + float: none; +} +.dnnProfileDetails .dnnFormItem .dnnFormVisibility input[type="checkbox"] +{ + width: 8%; + float: none; + margin-left: 30px; +} +.dnnProfileDetails .dnnFormItem .dnnFormVisibility > ul +{ + z-index: 200; + position: absolute; + background-color: white; + border: turquoise 1px solid; + padding: 5px; + width: 200px; +} +.dnnProfileDetails .dnnFormItem .dnnFormVisibility > a +{ + padding-top: 8px; + padding-left: 3px; + padding-right: 3px; + padding-bottom: 3px; + margin-top: 3px; +} +.dnnProfileDetails .dnnFormItem .dnnFormVisibility > a.dnnFormActive +{ + border: turquoise 1px solid; +} +*/ + +.dnnProfileDetails .dnnFormItem .dnnFormInput input[type="radio"] +{ + width: 8%; + float: none; +} + +/*.dnnManageUsers .dnnFormItem span.dnnFormMessage.dnnFormError +{ + position: absolute; + left: 68%; + top: 0; + z-index: 9999; +} +*/ +.dnnEditProfileDef .dnnFormMessage +{ + display: block; +} + +.dnnManageSecurityRoles .dnnFormItem .dnnTooltip +{ + width: 100%; +} +.dnnManageSecurityRoles .dnnFormItem input +{ + float: none; +} + +div.dnnRegistrationForm +{ + width: 96%; + min-width: 620px; +} +div.dnnRegistrationForm .dnnForm +{ + float: right; + min-width: 50px; + width: 60%; +} +div.dnnRegistrationForm div.dnnCaptcha { + width: 60%; +} +span.dnnFormMessage.dnnFormError.dnnCaptcha +{ + bottom: -55px; +} +.dnnSocialRegistration +{ + float: right; + width: 35%; +} +div.dnnCaptcha +{ + min-width: 50px; + width: 70%; +} +span.dnnFormMessage.dnnFormError.dnnCaptcha +{ + top: auto; +} + +#mainContainer +{ + position: relative; + margin: 0 auto; + padding-bottom: 25px; + padding-left: 25px; +} +ul.buttonList +{ + list-style: none; +} +ul.buttonList li +{ + float: none; + line-height: normal; + list-style: none; + width: 250px; + margin-bottom: 7px; +} +/* SET DEFUALT BUTTON STYLE */ +ul.buttonList li a +{ + clear: both; + overflow: auto; + position: relative; + display: block; + text-decoration: none; + text-shadow: 0px 1px 0px #fff; + font-weight: bold; + font-family: Tahoma, Arial, Helvetica, sans-serif; + font-size: 12px; + background: #e7e7e7 url(images/socialLoginbuttons-repeatingbg.png) repeat-x 0 -601px; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.7); + box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.7); +} +/* Use span to set dimensions; a and li will inherit */ +ul.buttonList li a img +{ + float: right; +} +ul.buttonList li a span +{ + float: right; + display: block; + padding: 10px 15px; +} +ul.buttonList li a:hover +{ + border-color: #a8a8a8; + text-shadow: 0px 1px 0px #e1e1e1; + background-position: 0 -650px; + background-color: #cacbcd; +} +ul.buttonList li a:active +{ + color: #fff; + text-shadow: 0px -1px 0px #666; + border-color: #a3a3a3; + background-position: 0 -700px; + background-color: #b7b9bb; + -webkit-box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3); + -moz-box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3); + box-shadow: inset 0px 0px 4px 0px rgba(0, 0, 0, 0.3); +} +/* SET SOCIAL SPECIFIC STYLES */ +ul.buttonList .facebook a span, ul.buttonList .twitter a span, ul.buttonList .googleplus a span, ul.buttonList .windowslive a span +{ + padding-right: 45px; + background: url(images/socialLoginbuttons-icons.png) no-repeat 12px 7px; +} +ul.buttonList .facebook a:after, ul.buttonList .twitter a:after, ul.buttonList .googleplus a:after, ul.buttonList .windowslive a:after +{ + position: absolute; + right: 35px; + top: 0; + height: 100%; + width: 0; + content: ""; + border-right: 1px solid rgba(0,0,0,0.2); + border-left: 1px solid rgba(255,255,255,0.3); +} +/*FACEBOOK*/ +ul.buttonList .facebook a +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #286c93; /* dark blue */ + background-position: 0 0; + background-color: #5581bb; +} +ul.buttonList .facebook a:hover +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #286c93; /* dark blue */ + background-position: 0 -50px; + background-color: #729dcd; +} +ul.buttonList .facebook a:active +{ + background-position: 0 -100px; + border-color: #286c93; /* dark blue */ + background-color: #537fba; +} + +/*TWITTER*/ +ul.buttonList .twitter a +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #3d82a0; /* dark teal blue */ + background-position: 0 -150px; + background-color: #11a2d6; +} +ul.buttonList .twitter a:hover +{ + color: #fff; + border-color: #3d82a0; /* dark teal blue */ + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + background-position: 0 -200px; + background-color: #43c1e3; +} +ul.buttonList .twitter a:active +{ + background-position: 0 -250px; + border-color: #3d82a0; /* dark teal blue */ + background-color: #0597cc; +} +ul.buttonList .twitter a span +{ + background-position: 9px -40px; +} + +/*GOOGLE PLUS*/ +ul.buttonList .googleplus a +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #821e16; /* dark red */ + background-position: 0 -300px; + background-color: #b12e1e; +} +ul.buttonList .googleplus a:hover +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #821e16; /* dark red */ + background-position: 0 -350px; + background-color: #cc3633; +} +ul.buttonList .googleplus a:active +{ + background-position: 0 -400px; + border-color: #821e16; /* dark red */ + background-color: #a5281a; +} +ul.buttonList .googleplus a span +{ + background-position: 10px -90px; +} + +/*WINDOWS LIVE ID*/ +ul.buttonList .windowslive a +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #7a7a7a; /* dark grey*/ + background-position: 0 -450px; + background-color: #8f8f8f; +} +ul.buttonList .windowslive a:hover +{ + color: #fff; + text-shadow: 0px -1px 0px rgba(0,0,0,0.4); + border-color: #7a7a7a; /* dark grey*/ + background-position: 0 -500px; + background-color: #b3b3b3; +} +ul.buttonList .windowslive a:active +{ + background-position: 0 -550px; + border-color: #7a7a7a; /* dark grey*/ + background-color: #808080; +} +ul.buttonList .windowslive a span +{ + background-position: 9px -141px; +} +.dnnButtonIcon{ + background: transparent url(../../../images/visibility.png) no-repeat center; +} +.PagingTable{ + width: 100%; +} +.PagingTable td{ + padding: 3px; +} + +/* Biography */ +#dnn_ctr_ManageUsers_Profile_ProfileProperties_Biography_Biography_Label + .dnnLeft +{ + margin-top:5px; + width:69%; + padding-left:10px; + clear:right; +} +.dnnLeft #dnn_ctr_ManageUsers_Profile_ProfileProperties_Biography_Biographyedit +{ + width:100%!important; +} + +.dnnProfileDetails .dnnFileUploadScope .dnnFoldersLabel { + width: 120px; +} + +.dnnProfileDetails .dnnFileUploadScope .dnnFileUploadFolder { + height: 30px; +} + +.dnnProfileDetails .dnnDropDownList.aspNetDisabled { + display: none; +} + +/* fixed profile image upload */ +.dnnProfile .dnnFileUploadScope { + display: inline-block; + background-color: #F0F0F0; + margin-bottom: 10px; + margin-left: 10px; + padding: 0; + width: 475px; +} + + .dnnProfile .dnnFileUploadScope > div:first-child { + float: left; + width: 250px; + } + + .dnnProfile .dnnFileUploadScope .dnnLeft .dnnFormItem { + width: 250px; + } + + .dnnProfile .dnnFileUploadScope .dnnLeft .dnnFormItem .dnnDropDownList { + width: 85%; + } + + .dnnProfile .dnnFileUploadScope .dnnLeft .dnnFormItem input[type="button"] { + width: 85%; + } + + .dnnProfile .dnnFileUploadScope .dnnLeft .dnnFormItem.dnnFileUploadFolder { + display: none !important; + } + +/*DNN Profile Page Manage Services Tab Table(DNN-9321)*/ +@media only screen and (max-width: 570px) { + #dnn_ctr_EditUser_MemberServices_grdServices { + margin:1em auto; + } + #dnn_ctr_EditUser_MemberServices_grdServices table, #dnn_ctr_EditUser_MemberServices_grdServices thead,#dnn_ctr_EditUser_MemberServices_grdServices tbody,#dnn_ctr_EditUser_MemberServices_grdServices th,#dnn_ctr_EditUser_MemberServices_grdServices td,#dnn_ctr_EditUser_MemberServices_grdServices tr { + display: block; + } + #dnn_ctr_EditUser_MemberServices_grdServices tr.dnnGridHeader { + position: absolute; + top: -9999px; + right: -9999px; + } + + #dnn_ctr_EditUser_MemberServices_grdServices tr { + border: 1px solid; + margin-bottom:1em; + } + + #dnn_ctr_EditUser_MemberServices_grdServices tr:last-of-type { + margin-bottom:0; + } + + #dnn_ctr_EditUser_MemberServices_grdServices td:not(:nth-child(1)) { + border: none; + border-bottom: 1px solid; + position: relative; + padding-right: 50%; + min-height:35px; + } + + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-child(1) { + text-align:center; + padding-top:10px; + height:20px; + } + + #dnn_ctr_EditUser_MemberServices_grdServices td:before { + position: absolute; + top: 6px; + right: 6px; + width: 45%; + padding-left: 10px; + white-space: nowrap; + } + + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(1):before { content: ""; } + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(2):before { content: ""; } + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(3):before { content: "Name"; font-weight:bold; } + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(4):before { content: "Description"; font-weight:bold;} + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(5):before { content: "Fee"; font-weight:bold;} + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(6):before { content: "Trial"; font-weight:bold;} + #dnn_ctr_EditUser_MemberServices_grdServices td:nth-of-type(7):before { content: "Expiry Date"; font-weight:bold;} +} \ No newline at end of file diff --git a/DNN Platform/Website/DotNetNuke.Website.csproj b/DNN Platform/Website/DotNetNuke.Website.csproj index 1283603f3e9..551e935b17f 100644 --- a/DNN Platform/Website/DotNetNuke.Website.csproj +++ b/DNN Platform/Website/DotNetNuke.Website.csproj @@ -579,7 +579,22 @@ + + + + + + + + + + + + + + + @@ -596,6 +611,10 @@ stylecop.json + + + + AuthenticationEditor.ascx @@ -822,9 +841,12 @@ + + + @@ -1210,6 +1232,8 @@ + + @@ -3473,6 +3497,13 @@ + + + + GlobalResourceProxyGenerator + WebControls.fa-IR1.designer.cs + + diff --git a/DNN Platform/Website/Icons/Sigma/BreadcrumbArrows_16x16_Gray.rtl.png b/DNN Platform/Website/Icons/Sigma/BreadcrumbArrows_16x16_Gray.rtl.png new file mode 100644 index 00000000000..37606eb5d1d Binary files /dev/null and b/DNN Platform/Website/Icons/Sigma/BreadcrumbArrows_16x16_Gray.rtl.png differ diff --git a/DNN Platform/Website/Icons/Sigma/Cancel_16X16_Standard_dark.png b/DNN Platform/Website/Icons/Sigma/Cancel_16X16_Standard_dark.png new file mode 100644 index 00000000000..855e81fd460 Binary files /dev/null and b/DNN Platform/Website/Icons/Sigma/Cancel_16X16_Standard_dark.png differ diff --git a/DNN Platform/Website/Icons/Sigma/Checked_16x16_Standard_dark.png b/DNN Platform/Website/Icons/Sigma/Checked_16x16_Standard_dark.png new file mode 100644 index 00000000000..2392e2b6296 Binary files /dev/null and b/DNN Platform/Website/Icons/Sigma/Checked_16x16_Standard_dark.png differ diff --git a/DNN Platform/Website/Install/App_LocalResources/Installwizard.aspx.fa-IR.resx b/DNN Platform/Website/Install/App_LocalResources/Installwizard.aspx.fa-IR.resx new file mode 100644 index 00000000000..add9522a70d --- /dev/null +++ b/DNN Platform/Website/Install/App_LocalResources/Installwizard.aspx.fa-IR.resx @@ -0,0 +1,544 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + به منظور تکمیل فرآیند نصب، اطلاعات زیر را وارد نمایید + + + اطلاعات مدیریتی + + + شما باید نوع پایگاه داده را انتخاب نمایید + + + ادامه + + + تکرار کلمه عبور + + + سفارشی + + + نام فایل + + + اطلاعات پایگاه داده + + + نام پایگاه داده + + + پیشوند جداول + + + کلمه عبور پایگاه داده + + + اجرای پایگاه داده به صورت + + + امنیت + + + نام سرور + + + برپایی پایگاه داده + + + پیش فرض + + + نوع پایگاه داده + + + نام کاربری پایگاه داده + + + یکپارچه + + + تعریف شده توسط کاربر + + + بررسی سطح دسترسی فایل ها و پوشه ها + + + بررسی ساخت فایل + + + بررسی حذف فایل + + + بررسی ساخت پوشه + + + بررسی حذف پوشه + + + نصب {0} - {1} + + + نصب زبان ها + + + نصب + + + <a class="videoLink" href="http://www.dotnetnuke.com/Resources/Training/Training-Videos/Installation.aspx" target="new">مشاهده فیلم نصب</a> + + + بررسی توانایی کاربر پایگاه داده برای اجرا عملیات ضروری. + + + کاربر پایگاه داده شما مجوز لازم (dbo) برای نصب را ندارد. + + + کاربر پایگاه داده شما مجوز dbo را ندارد. + + + این برنامه نیازمند .net 4.0 یا بالاتر می باشد. + + + بررسی نسخه پایگاه داده که SQL 2008 (express یا full product) یا بالاتر است یا خیر. + + + این برنامه نیازمند SQL 2008 (express یا full product) یا بالاتر می باشد. + + + زبان + + + کلمه عبور + + + فایل یا محتوای پایگاه داده در نود connection درون فایل DotNetNuke.Install.Config الزامی می باشد. + + + فایل SQL Server Express + + + پایگاه داده SQL Server یا SQL Server Express + + + شکست در مرحله - {0} + + + نام کاربری + + + اطلاعات وب سایت + + + نام وب سایت + + + قالب + + + هلندی + + + انگلیسی + + + فرانسوی + + + آلمانی + + + ایتالیایی + + + اسپانیایی + + + قالب پیش فرض + + + قالب موبایل + + + قالب برنامه + + + جهت اطمینان، کلمه عبوری را که در فیلد بالا نوشتید را دوباره وارد نمایید. + + + نام پایگاه داده شما. + + + در صورت وارد کردن پیشوند، این پیشوند ابتدای نام تمام جداول پایگاه داده شما قرار می گیرد. + + + مالک پایگاه داده (Owner) + + + کلمه عبور پایگاه داده شما + + + اجرای پایگاه داده در حالت انتخابی کاربر. + + + نوع امنیت استفاده شده برای پایگاه داده شما. + + + نام سرور پایگاه داده شما. + + + برپایی پایگاه داده به صورت استاندارد یا پیشرفته + + + نوع پایگاه داده که می خواهید برای نصب استفاده نمایید. + + + نام کاربری پایگاه داده شما. + + + زبانی که می خواهید برای وب سایت خود انتخاب نمایید. + + + نام کاربری مدیر ارشد سایت. + + + نامی که می خواهید برای وب سایت خود استفاده کنید را وارد نمایید. + + + نوع وب سایتی که قصد راه اندازی آن را دارید. + + + نصب پایگاه داده + + + نصب افزونه ها + + + بررسی سطح دسترسی فایل ها و پوشه ها + + + اجرای نصب کننده + + + دیدن گزارش + + + ساخت مدیر ارشد + + + مشاهده وب سایت + + + ساخت وب سایت + + + ساخت مدیر ارشد + + + ساختن سایت [{0}] + + + ساختن مدیر ارشد + + + حذف فایل های قدیمی برای + + + انجام شد + + + نصب اسکریپت پایگاه داده + + + نصب اسکریپت های پایگاه داده عضویت + + + اعمال اسکریپت ارتقاء + + + نام دامنه [{0}] از قبل وجود دارد. رد شدن از این مرحله. + + + به‌روزرسانی کانفیگ برای + + + ارتقاء برنامه + + + ارتقاء برنامه به نسخه + + + تلاش مجدد + + + بررسی تنظیمات IIS + + + مقدار دهی اولیه تنظیمات میزبان + + + خطا رخ داد - {0} + + + AppPool در IIS باید در حالت Integrated باشد. + + + کلمه عبور وارد شده فاقد حداقل الزامات کلمه عبور می باشد. + + + خالی بودن فیلد الزامی + + + این بسته زبان قدیمی تر از نسخه برنامه جاری می باشد: + + + قالب خالی + + + هیچ گزارش نصبی وجود ندارد. + + + هیچ خطای نصبی گزارش نشده است. + + + نام فایل پایگاه داده + + + این محصول در حال نصب می باشد. از شکیبایی شما متشکریم ... + + + فعالسازی لایسنس + + + اطلاعات کاربری خود را وارد کنید + + + شروع فرآیند نصب + + + مشاهده وب سایت + + + خطا + + + نصب بسته هایی از نوع - {0} + + + خطا در ارتباط با پایگاه داده + + + ناتوانی در ارتباط با پایگاه داده + + + هیچ اتصال به پایگاه داده پیش فرضی یافت نشد. گزینه برپایی پایگاه داده به صورت استاندارد در دسترس نمی باشد. + + + شناسایی اتصال به پایگاه داده + + + ثانیه + + + پیشوند جدول می بایست با یک حرف انگلیسی شروع شده و کمتر از 20 کاراکتر باشد. + + + نصب با موفقیت انجام شد! + + + نصب + + + دقیقه + + + کلمه عبور با تکرار کلمه عبور یکسان نمی باشد. + + + تکرار کلمه عبور الزامی است + + + وارد نمودن نام فایل پایگاه داده الزامی است. + + + وارد کردن نام پایگاه داده الزامی است. + + + وارد کردن کلمه عبور پایگاه داده الزامی است. + + + وارد نمودن نام سرور پایگاه داده الزامی است. + + + وارد کردن نام کاربری الزامی است. + + + وارد کردن کلمه عبور الزامی است. + + + وارد کردن نام کاربری الزامی است + + + وارد کردن نام وب سایت الزامی است. + + + نامی که برای مدیر ارشد انتخاب کرده اید شامل حروف غیرقانونی می باشد (تنها حروف الفبا، اعداد، خط تیره و نقطه مجاز می باشد). شما باید نام مدیر ارشد را اصلاح نمایید. + + + <div class="permission"><img alt="تصویر نمایش دهنده تنظیمات امنیتی پوشه اصلی وب سایت شما که باید شامل خواندن، نوشتن و تغییر کنترل برای کاربر ASPNET یا NT AUTHORITY/NETWORK SERVICE باشد." src="..\403-3.gif" align="right" hspace="10"/> +<p><b><font color='red'>سایت شما در بررسی سطح دسترسی با شکست مواجه شد.</font></b></p> +با استفاده از کاوشگر ویندوز، به پوشه وب سایت خود ( {0} ) رفته، بر روی پوشه راست کلیک کرده و عنوان Security را از منوی باز شده انتخاب نمایید. به تب Security رفته، کاربر مناسب را افزوده و مجوز لازم را به ایشان اعطا نمایید. +<br/><br/> +<h3>اگر از ویندوز 2000 - IIS5 استفاده می کنید.</h3> +<p>کاربر ASPNET می بایست مجوز خواندن، نوشتن و تغییر کنترل در سطح روت (پوشه اصلی) وب سایت را داشته باشد.</p> +<h3>اگر از ویندوز 2003، ویندوز ویستا یا ویندوز سرور 2008 و IIS6 یا IIS7 استفاده می کنید 2008 and IIS6 or IIS7</h3> +<p>کاربری به نام NT AUTHORITY\NETWORK SERVICE می بایست مجوز خواندن، نوشتن و تغییر کنترل در سطح روت (پوشه اصلی) وب سایت را داشته باشد.</p> + + + افزودن نسخه نصب + + + آدرس ایمیل این کاربر را وارد نمایید. + + + آدرس ایمیل وارد شده صحیح نمی‌باشد + + + وارد کردن آدرس ایمیل الزامی می‌باشد + + + آدرس ایمیل: + + + Adding FcnMode + + + برنامه بهبود محصول این فرصت را برای ما فراهم می‌کند که با چگونگی بهبود دی‌ان‌ان برای شما آشنا شویم. تمام داده‌ها به صورت ناشناس و صرفا برای مصرف داخلی استفاده می‌شوند. درباره <a href="http://www.dnnsoftware.com/dnn-improvement-program" target="_blank">برنامه بهبود محصول</a> بیشتر بدانید. + + + ارسال ناشناس اطلاعات استفاده به شرکت دی‌ان‌ان + + + مشارکت در بهبود محصول + + + کلمه عبور مدیر ارشد. + + \ No newline at end of file diff --git a/DNN Platform/Website/Install/App_LocalResources/Locales.xml b/DNN Platform/Website/Install/App_LocalResources/Locales.xml index 0a72d991f0a..041f0e1c911 100644 --- a/DNN Platform/Website/Install/App_LocalResources/Locales.xml +++ b/DNN Platform/Website/Install/App_LocalResources/Locales.xml @@ -1,6 +1,7 @@  + diff --git a/DNN Platform/Website/Install/App_LocalResources/UpgradeWizard.aspx.fa-IR.resx b/DNN Platform/Website/Install/App_LocalResources/UpgradeWizard.aspx.fa-IR.resx new file mode 100644 index 00000000000..6d4c51c3631 --- /dev/null +++ b/DNN Platform/Website/Install/App_LocalResources/UpgradeWizard.aspx.fa-IR.resx @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + اطلاعات حساب + + + شما قصد ارتقاء وب سایت خود به نسخه جدیدتری از این برنامه را دارید. ارتقاء برنامه به یک نسخه منسجم تر، همواره یکی از بهترین راه ها برای اطمینان از یکپارچگی برنامه و امنیت کاربران و وب سایت شما می باشد. قبل از شروع فرآیند خودکار ارتقاء، لطفا اطمینان حاصل نمایید که: + + + نسخه فعلی - {0} + + + بروزرسانی پایگاه داده + + + خطا + + + خطا رخ داد - {0} + + + بروزرسانی افزونه ها + + + <p>به صفحه ارتقاء نسخه دی ان ان خوش آمدید.</p> +<p>قدم اول انتخاب زبانی است که می خواهید فرآیند ارتقاء با آن انجام شود.</p> + + + نام کاربری و کلمه عبور وارد شده قابل شناسایی نمی باشد. + + + شروع ارتقاء + + + فاقد گزارش نصب + + + کلمه عبور مدیر ارشد سایت. + + + کلمه عبور: + + + تلاش مجدد + + + مشاهده گزارش ها + + + دقیقه + + + ارتقاء + + + ارتقاء + + + ارتقاء با موفقیت انجام شد + + + آپگرید پایگاه داده + + + نام کاربری مدیر ارشد سایت. + + + نام کاربری مدیر ارشد (host): + + + ارتقاء - نسخه {0} + + + مشاهده وب سایت + + + مشاهده وب سایت + + + Upgrade Started at + + + نسخه نرم‌افزار با پایگاه‌داده مطابقت دارد - هیچ چیزی برای ارتقا وجو ندارد. + + + نسخه نرم‌افزار با پایگاه‌داده مطابقت دارد - شما می‌توانید به یک نسخه افزایشی ارتقاء دهید. + + \ No newline at end of file diff --git a/DNN Platform/Website/Install/Install.css b/DNN Platform/Website/Install/Install.css index 319a4edeae1..c42f14d9146 100644 --- a/DNN Platform/Website/Install/Install.css +++ b/DNN Platform/Website/Install/Install.css @@ -438,3 +438,172 @@ a.videoLink:hover { display: block; padding: 6px 0 100px 0; } + +/* =========== persian-dnnsoftware =========== */ + +.rtl .install { + background-color: white; + padding: 20px 20px 20px 20px; + margin-top: 20px; + box-shadow: 5px 5px 20px grey; + /*IE8*/ -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#808080')"; + text-align: right; /*persian-dnnsoftware*/ +} + +.rtl div#tabs .installIntro { + font-size: 1.5em; + font-weight: lighter; + color: grey; + margin-left: auto; + margin-right: -10px; +} + +.rtl .dnnFormItem .installRadioButtons label { + width: 90%; + text-align: right; + font-weight: normal; + margin-left: auto; + margin-right: 5px; +} + +.rtl .dnnFormItem .permissionsCheckBoxes label { + width: 200px; + text-align: right; + font-weight: normal; + margin-left: auto; + margin-right: 5px; + display: inline-block; +} + +.rtl .dnnFormItem .fullWidth { + width: 100%; + text-align: right; +} + +.rtl .dnnFormItem .information { + width: 55%; + margin-left: auto; + margin-right: 22%; + text-align: right; +} + +.rtl .dnnFormItem.information-checkbox .dnnLabel { + margin-left: auto; + margin-right: -7%; +} + +.rtl .dnnFormItem .databaseRadioButtons label { + width: auto; + text-align: right; + font-weight: normal; + margin: 0px 5px 0px 10px; + display: inline-block; +} + +.rtl div#installation-progress { + width: 520px; + float: right; + margin-left: auto; + margin-right: -20px; +} + + .rtl div#installation-progress hr { + margin-left: auto; + margin-right: 0px; + } + +.rtl div#installation-steps { + width: 290px; + float: left; + padding: 15px; + background-color: #eee; +} + + .rtl div#installation-steps > p { + padding: 0 0 0 0; + margin: 0 8px 8px 0; + } + +.rtl span.states-icons { + width: 25px; + height: 16px; + background-image: url("../images/installer-feedback-states-sprite.rtl.png"); /*persian-dnnsoftware*/ + background-repeat: no-repeat; +} + +.rtl p.step-notstarted > span.states-icons { + background-position: -1000px -1000px; +} + +.rtl p.step-running > span.states-icons { + background-position: -42px 4px; +} + +.rtl p.step-done > span.states-icons { + background-position: 8px 4px; /*persian-dnnsoftware*/ +} + +.rtl p.step-error > span.states-icons { + background-position: -99px 3px; +} + +.rtl div#banners { + margin-left: auto; + margin-right: -20px; +} + +.rtl .visitSiteLink { + float: left; + min-width: 150px; +} + +.rtl .dnnFormItem hr { + margin-left: auto; + margin-right: -20px; + padding-top: 10px; + padding-bottom: 10px; +} + +.rtl img#finishImage { + border: 0; + padding-top: 8px; + padding-right: 0; + padding-left: 5px; +} + +.rtl .permissionCheck { + width: 100%; + margin-bottom: 4px; + text-align: right; + padding-left: 0; + padding-right: 4px; +} + +.rtl a.videoLink { + padding-left: 0; + padding-right: 24px; + margin-left: auto; + margin-right: 20px; + background-position: 100% 0; /*persian-dnnsoftware*/ +} + +.rtl .accept-terms input#chkAcceptTerms + span { + margin: 8px 20px 0 0; +} + + .rtl .accept-terms input#chkAcceptTerms + span + span + span.dnnFormMessage.dnnFormError { + right: auto; + left: 12%; + text-align: right; + } + + .rtl .accept-terms input#chkAcceptTerms + span + span + span.dnnFormMessage.dnnFormError:after { + left: auto; + right: 15px; + } + +/* =========== persian-dnnsoftware =========== */ + +.rtl #txtWebsiteName { + text-align: right; +} diff --git a/DNN Platform/Website/Install/Language/installlanguage.resources b/DNN Platform/Website/Install/Language/installlanguage.resources new file mode 100644 index 00000000000..a0b2638f6bf Binary files /dev/null and b/DNN Platform/Website/Install/Language/installlanguage.resources differ diff --git a/DNN Platform/Website/Install/UpgradeWizard.aspx b/DNN Platform/Website/Install/UpgradeWizard.aspx index 44443554136..4bebbaf0de9 100644 --- a/DNN Platform/Website/Install/UpgradeWizard.aspx +++ b/DNN Platform/Website/Install/UpgradeWizard.aspx @@ -4,12 +4,17 @@ <%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.UI.WebControls.Internal" Assembly="DotNetNuke.Web" %> <%@ Import Namespace="DotNetNuke.Services.Localization" %> - +<%--START persian-dnnsoftware--%> +<%----%> + +<%--END persian-dnnsoftware--%> - + <%--START persian-dnnsoftware--%> + <%----%> + <%--END persian-dnnsoftware--%> @@ -17,7 +22,10 @@ - +<%--START persian-dnnsoftware--%> +<%----%> + +<%--END persian-dnnsoftware--%>
diff --git a/DNN Platform/Website/Install/UpgradeWizard.aspx.cs b/DNN Platform/Website/Install/UpgradeWizard.aspx.cs index 588b71a1e3a..ccf7153f7db 100644 --- a/DNN Platform/Website/Install/UpgradeWizard.aspx.cs +++ b/DNN Platform/Website/Install/UpgradeWizard.aspx.cs @@ -287,6 +287,43 @@ protected override void OnLoad(EventArgs e) this.Response.Redirect("Install.aspx", true); } + /* START Persian-DnnSoftware */ + string defaultCSSPath = "../Resources/Shared/stylesheets/dnndefault/7.0.0/default.css"; + if (culture == null) + { + culture = "fa-IR"; + Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture); + } + + if (culture.ToLower() == "fa-ir") + { + defaultCSSPath = "../Resources/Shared/stylesheets/dnndefault/7.0.0/default.rtl.css"; + this.Body.Attributes.Add("class", "rtl"); + } + else + { + this.Body.Attributes.Add("class", string.Empty); + } + + System.Web.UI.HtmlControls.HtmlLink css = new System.Web.UI.HtmlControls.HtmlLink(); + css.Href = defaultCSSPath; + css.Attributes["rel"] = "stylesheet"; + css.Attributes["type"] = "text/css"; + this.SCRIPTS.Controls.Add(css); + + System.Web.UI.HtmlControls.HtmlLink css2 = new System.Web.UI.HtmlControls.HtmlLink(); + css2.Href = Globals.ApplicationPath + "/Install/Install.css"; + css2.Attributes["rel"] = "stylesheet"; + css2.Attributes["type"] = "text/css"; + this.SCRIPTS.Controls.Add(css2); + + System.Web.UI.HtmlControls.HtmlLink css3 = new System.Web.UI.HtmlControls.HtmlLink(); + css3.Href = Globals.ApplicationPath + "/Resources/Shared/stylesheets/dnn.PasswordStrength.css"; + css3.Attributes["rel"] = "stylesheet"; + css3.Attributes["type"] = "text/css"; + this.SCRIPTS.Controls.Add(css3); + /* END Persian-DnnSoftware */ + base.OnLoad(e); this.pnlAcceptTerms.Visible = this.NeedAcceptTerms; diff --git a/DNN Platform/Website/Install/UpgradeWizard.aspx.designer.cs b/DNN Platform/Website/Install/UpgradeWizard.aspx.designer.cs index 84f45ef313e..51adaca8742 100644 --- a/DNN Platform/Website/Install/UpgradeWizard.aspx.designer.cs +++ b/DNN Platform/Website/Install/UpgradeWizard.aspx.designer.cs @@ -14,238 +14,315 @@ namespace DotNetNuke.Services.Install public partial class UpgradeWizard { - /// ClientDependencyHeadCss control. + /// + /// ClientDependencyHeadCss control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.PlaceHolder ClientDependencyHeadCss; - /// ClientDependencyHeadJs control. + /// + /// ClientDependencyHeadJs control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.PlaceHolder ClientDependencyHeadJs; - /// SCRIPTS control. + /// + /// SCRIPTS control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.PlaceHolder SCRIPTS; - /// ClientResourceIncludes control. + /// + /// Body control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlGenericControl Body; + + /// + /// ClientResourceIncludes control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.PlaceHolder ClientResourceIncludes; - /// form1 control. + /// + /// form1 control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - /// scManager control. + /// + /// scManager control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.ScriptManager scManager; - /// BodySCRIPTS control. + /// + /// BodySCRIPTS control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.PlaceHolder BodySCRIPTS; - /// lang_en_US control. + /// + /// lang_en_US control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lang_en_US; - /// lang_de_DE control. + /// + /// lang_de_DE control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lang_de_DE; - /// lang_es_ES control. + /// + /// lang_es_ES control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lang_es_ES; - /// lang_fr_FR control. + /// + /// lang_fr_FR control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lang_fr_FR; - /// lang_it_IT control. + /// + /// lang_it_IT control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lang_it_IT; - /// lang_nl_NL control. + /// + /// lang_nl_NL control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton lang_nl_NL; - /// lblDotNetNukeUpgrade control. + /// + /// lblDotNetNukeUpgrade control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblDotNetNukeUpgrade; - /// currentVersionLabel control. + /// + /// currentVersionLabel control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label currentVersionLabel; - /// versionLabel control. + /// + /// versionLabel control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label versionLabel; - /// versionsMatch control. + /// + /// versionsMatch control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label versionsMatch; - /// dnnInstall control. + /// + /// dnnInstall control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.HtmlControls.HtmlGenericControl dnnInstall; - /// lblIntroDetail control. + /// + /// lblIntroDetail control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblIntroDetail; - /// lblAccountInfoError control. + /// + /// lblAccountInfoError control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblAccountInfoError; - /// lblUsername control. + /// + /// lblUsername control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblUsername; - /// txtUsername control. + /// + /// txtUsername control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.TextBox txtUsername; - /// lblPassword control. + /// + /// lblPassword control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblPassword; - /// txtPassword control. + /// + /// txtPassword control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.TextBox txtPassword; - /// continueLink control. + /// + /// continueLink control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton continueLink; - /// pnlAcceptTerms control. + /// + /// pnlAcceptTerms control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.HtmlControls.HtmlGenericControl pnlAcceptTerms; - /// chkAcceptTerms control. + /// + /// chkAcceptTerms control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.CheckBox chkAcceptTerms; - /// lblSecurityError control. + /// + /// lblSecurityError control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblSecurityError; - /// UpgradeNowButton control. + /// + /// UpgradeNowButton control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.LinkButton UpgradeNowButton; - /// lblUpgradeIntroInfo control. + /// + /// lblUpgradeIntroInfo control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Label lblUpgradeIntroInfo; - /// upgrade control. + /// + /// upgrade control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.HtmlControls.HtmlGenericControl upgrade; - /// visitSite control. + /// + /// visitSite control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.HyperLink visitSite; - /// PageLocale control. + /// + /// PageLocale control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.HtmlControls.HtmlInputHidden PageLocale; - /// txtErrorMessage control. + /// + /// txtErrorMessage control. + /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. diff --git a/DNN Platform/Website/Portals/_default/Default Website.template.resources b/DNN Platform/Website/Portals/_default/Default Website.template.resources index ab819c298ee..c6c63092e08 100644 Binary files a/DNN Platform/Website/Portals/_default/Default Website.template.resources and b/DNN Platform/Website/Portals/_default/Default Website.template.resources differ diff --git a/DNN Platform/Website/Portals/_default/Skins/_default/WebControlSkin/Default/ComboBox.Default.css b/DNN Platform/Website/Portals/_default/Skins/_default/WebControlSkin/Default/ComboBox.Default.css index 7ae9db36452..4249e9b5658 100644 --- a/DNN Platform/Website/Portals/_default/Skins/_default/WebControlSkin/Default/ComboBox.Default.css +++ b/DNN Platform/Website/Portals/_default/Skins/_default/WebControlSkin/Default/ComboBox.Default.css @@ -274,4 +274,8 @@ div.RadComboBoxDropDown_Default .rcbHeader { /* END Telerik.Web.UI.Skins.TreeView.css */ /* START Telerik.Web.UI.Skins.Default.TreeView.Default.css */ .RadTreeView_Default,.RadTreeView_Default a.rtIn,.RadTreeView_Default .rtEdit .rtIn input{color:#000;font:12px/18px "Segoe UI",Arial,sans-serif}.RadTreeView_Default .rtPlus,.RadTreeView_Default .rtMinus{background-image:url('Images/PlusMinus.png')}.RadTreeView_Default .rtChecked,.RadTreeView_Default .rtUnchecked,.RadTreeView_Default .rtIndeterminate{background-image:url('Images/radFormToggleSprite.png')}.RadTreeView_Default .rtHover .rtIn{color:#000;border-color:#b5b5b5 #b5b5b5 #9e9e9e;background-color:#C5C5C5;background-image:url('Images/ItemHoveredBg.png')}.RadTreeView_Default .rtSelected .rtIn{color:#fff;border-color:#8d8d8d #7e7e7e #6c6c6c;background-color:#828282;background-image:url('Images/ItemSelectedBg.png')}.RadTreeView_Default .rtSelected .rtLoadingBefore,.RadTreeView_Default .rtSelected .rtLoadingAfter,.RadTreeView_Default .rtSelected .rtLoadingBelow{color:#333}.RadTreeView_Default .rtLoadingIcon{background-image:url('Images/LoadingIcon.gif')}.RadTreeView_Default .rtLI .rtEdit .rtIn{border-color:#6c6c6c;background:#fff}.RadTreeView_Default_disabled .rtIn,.RadTreeView_Default .rtDisabled .rtIn{color:#ccc}.RadTreeView_Default .rtLines .rtLI,.RadTreeView_Default .rtLines .rtFirst .rtUL{background-image:url('Images/rtvFirstNodeSpan.png')}.RadTreeView_Default_rtl .rtLines .rtLI,.RadTreeView_Default_rtl .rtLines .rtFirst .rtUL{background-image:url('Images/rtvFirstNodeSpan_rtl.png')}.RadTreeView_Default .rtLines .rtFirst,.RadTreeView_Default .rtLines .rtFirst .rtUL{background-image:url('Images/rtvFirstNodeSpan.png')}.RadTreeView_Default_rtl .rtLines .rtFirst,.RadTreeView_Default_rtl .rtLines .rtFirst .rtUL{background-image:url('Images/rtvFirstNodeSpan.png')}.RadTreeView_Default .rtLines .rtLast,.RadTreeView_Default .rtLines .rtLast .rtUL{background-image:none}.RadTreeView_Default .rtLines .rtTop{background-image:url('Images/rtvTopLine.png')}.RadTreeView_Default_rtl .rtLines .rtTop{background-image:url('Images/rtvTopLine_rtl.png')}.RadTreeView_Default .rtLines .rtMid{background-image:url('Images/rtvMiddleLine.png')}.RadTreeView_Default_rtl .rtLines .rtMid{background-image:url('Images/rtvMiddleLine_rtl.png')}.RadTreeView_Default .rtLines .rtBot{background-image:url('Images/rtvBottomLine.png')}.RadTreeView_Default_rtl .rtLines .rtBot{background-image:url('Images/rtvBottomLine_rtl.png')}.RadTreeView_Default .rtLines .rtLast .rtTop{background-image:url('Images/rtvSingleLine.png')}.RadTreeView_Default_rtl .rtLines .rtLast .rtTop{background-image:url('Images/rtvSingleLine_rtl.png')} -/* END Telerik.Web.UI.Skins.Default.TreeView.Default.css */ \ No newline at end of file +/* END Telerik.Web.UI.Skins.Default.TreeView.Default.css */ + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .RadComboBoxDropDown_Default_rtl .jspScrollable .jspContainer .rcbList{ margin: 0 !important;} \ No newline at end of file diff --git a/DNN Platform/Website/Portals/_default/admin.css b/DNN Platform/Website/Portals/_default/admin.css index 190908156be..f452dff54e6 100644 --- a/DNN Platform/Website/Portals/_default/admin.css +++ b/DNN Platform/Website/Portals/_default/admin.css @@ -174,3 +174,69 @@ body > form > .rcbSlide { z-index:6000!important;} /* Set Z-index of Telerik Tree context menu */ body > form > .RadMenu_Context { z-index: 1000 !important;} + + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl #RibbonBar_adminMenus > ul > li, +.rtl #dnn_cp_RibbonBar_adminMenus > ul > li {margin-left:0} + +.rtl #dnnCPWrap .dnnCPHNav span { + display:inline-block; + margin-right:auto; + margin-left:8px; +} + +.rtl .dnnActionMenu { + position:absolute; + left:auto;right:10px; top:10px; + margin:0; padding:0; + z-index:3; + color:#000; +} + +.rtl .dnnActionMenuTag img { + float:right; + display:block; + padding-right:3px; +} +/* Action Menu Body */ +.rtl ul.dnnActionMenuBody { + display:none; + position:absolute; + left:auto; + right:0; + top:10px; + min-width:320px; + padding:18px; + background:#fff; + border:1px solid #ddd; + border-radius:3px; + -moz-border-radius:3px; + text-align:left; + -moz-box-shadow: 0 0 5px 0 rgba(0,0,0,0.35); + -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.35); + box-shadow: 0 0 5px 0 rgba(0,0,0,0.35); + z-index: 10; +} +.rtl ul.dnnActionMenuBody li ul li { + float:right; + width:150px; +} + +.rtl ul.dnnActionMenuBody li ul li a img { + display:block; + float:right; + min-height:16px; + padding-right:0; + padding-left:3px; + line-height:16px; +} + +.rtl .dnnActions li { + margin-right:auto; + margin-left:5px; + list-style:none; + float:right; +} diff --git a/DNN Platform/Website/Resources/Search/SearchSkinObjectPreview.css b/DNN Platform/Website/Resources/Search/SearchSkinObjectPreview.css index d3320b852bc..643e9af951d 100644 --- a/DNN Platform/Website/Resources/Search/SearchSkinObjectPreview.css +++ b/DNN Platform/Website/Resources/Search/SearchSkinObjectPreview.css @@ -109,3 +109,64 @@ ul.searchSkinObjectPreview li { text-indent: inherit; float: none; } + + + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .searchInputContainer { + display: inline-block; + margin: 0 0 0 -3px; + position: relative; +} +.rtl .searchInputContainer a.dnnSearchBoxClearText { + display: block; + position: absolute; + right: auto; + left: 10px; + width: 16px; + height: 16px; + background: none; + cursor: pointer; + margin: 7px 0 7px 0; + z-index: 20; + } + +.rtl .searchInputContainer a.dnnSearchBoxClearText.dnnShow { + background: url(../../../images/search/clearText.png) center center no-repeat; +} + + +.rtl ul.searchSkinObjectPreview { + position: absolute; + top: 100%; + right: auto; + left: 0; + background: #fff; + margin: 0; + list-style: none; + border: 1px solid #c9c9c9; + width: 350px; + z-index: 200; + padding: 0; +} + + +.rtl ul.searchSkinObjectPreview > li { + padding: 6px 22px 6px 12px; + border-top: 1px solid #c9c9c9; + color: #666; + cursor: pointer; + position: relative; + margin: 0; + text-transform: none; +} + +.rtl ul.searchSkinObjectPreview > li > span img.userpic { + width: 32px; + height: 32px; + display: block; + float: right; + margin-left: 4px; +} \ No newline at end of file diff --git a/DNN Platform/Website/Resources/Shared/components/CodeEditor/lib/codemirror.css b/DNN Platform/Website/Resources/Shared/components/CodeEditor/lib/codemirror.css index 3543523e645..67414042cc6 100644 --- a/DNN Platform/Website/Resources/Shared/components/CodeEditor/lib/codemirror.css +++ b/DNN Platform/Website/Resources/Shared/components/CodeEditor/lib/codemirror.css @@ -5,6 +5,8 @@ font-family: monospace; height: 300px; color: black; + direction:ltr;/* Persian-DnnSoftware */ + text-align:left;/* Persian-DnnSoftware */ } /* PADDING */ diff --git a/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.css b/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.css index a9441ffc3b0..f16b81f8999 100644 --- a/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.css +++ b/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.css @@ -30,4 +30,27 @@ div.token-input-dropdown-facebook ul li img{margin-right:10px;vertical-align:mid } .composeMessageDialog .messageAttachments a.removeAttachment:hover{ opacity:1; +} + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .composeMessageDialog .dnnLeft .dnnFormItem img{vertical-align:middle;float:left;} +.rtl div.token-input-dropdown-facebook ul li img{padding-left:10px;vertical-align:middle;} +/* MESSAGE ATTACHMENTS */ +.rtl .composeMessageDialog .messageAttachments { + width:300px; + float:left; +} +.rtl .composeMessageDialog .messageAttachments ul li a{ + float:right; + font-size:12px; + text-decoration:none; +} +.rtl .composeMessageDialog .messageAttachments a.removeAttachment{ + float:left; + display:block; + padding:3px; + width:10px; height:10px; + background:url(images/delete.png) no-repeat 3px 3px; + opacity:0.75; } \ No newline at end of file diff --git a/DNN Platform/Website/Resources/Shared/components/DatePicker/persian.datepicker.css b/DNN Platform/Website/Resources/Shared/components/DatePicker/persian.datepicker.css new file mode 100644 index 00000000000..c1bb2543120 --- /dev/null +++ b/DNN Platform/Website/Resources/Shared/components/DatePicker/persian.datepicker.css @@ -0,0 +1,13 @@ +/* Persian-DnnSoftware */ +/* +** persian-datepicker - v1.1.3 +** Reza Babakhani +** http://babakhani.github.io/PersianWebToolkit/docs/datepicker +** Under WTFPL license +*/ + +.datepicker-plot-area{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.datepicker-plot-area .datepicker-time-view .down-btn,.datepicker-plot-area .datepicker-time-view .up-btn{transition:all 100ms ease}.datepicker-plot-area .datepicker-day-view .table-days td.disabled span,.datepicker-plot-area .datepicker-year-view .year-item-disable,.datepicker-plot-area .datepicker-month-view .month-item-disable{border-radius:0}.datepicker-plot-area .datepicker-time-view .down-btn,.datepicker-plot-area .datepicker-time-view .up-btn{border-radius:0;border-top-left-radius:0;border-top-right-radius:0}.datepicker-plot-area .datepicker-time-view .down-btn{border-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.datepicker-plot-area,.datepicker-plot-area .datepicker-time-view>.time-segment{border-radius:0}.datepicker-plot-area .datepicker-day-view .table-days td span,.datepicker-plot-area .datepicker-year-view .year-item,.datepicker-plot-area .datepicker-month-view .month-item,.datepicker-plot-area .datepicker-navigator .pwt-btn-next,.datepicker-plot-area .datepicker-navigator .pwt-btn-switch,.datepicker-plot-area .datepicker-navigator .pwt-btn-prev{border-radius:0}.datepicker-plot-area{box-shadow:0 5px 10px rgba(0,0,0,0.2)}.datepicker-plot-area .datepicker-day-view .table-days td span,.datepicker-plot-area .datepicker-year-view .year-item,.datepicker-plot-area .datepicker-month-view .month-item,.datepicker-plot-area .datepicker-day-view .table-days td.disabled span,.datepicker-plot-area .datepicker-year-view .year-item-disable,.datepicker-plot-area .datepicker-month-view .month-item-disable,.datepicker-plot-area .datepicker-time-view>.time-segment,.datepicker-plot-area .datepicker-time-view .down-btn,.datepicker-plot-area .datepicker-time-view .up-btn,.datepicker-plot-area .datepicker-time-view input,.datepicker-plot-area .datepicker-navigator .pwt-btn-next,.datepicker-plot-area .datepicker-navigator .pwt-btn-switch,.datepicker-plot-area .datepicker-navigator .pwt-btn-prev,.datepicker-plot-area .toolbox .pwt-btn-submit,.datepicker-plot-area .toolbox .pwt-btn-calendar,.datepicker-plot-area .toolbox .pwt-btn-today{cursor:pointer}.datepicker-plot-area .datepicker-day-view .table-days td span,.datepicker-plot-area .datepicker-year-view .year-item,.datepicker-plot-area .datepicker-month-view .month-item{font:14px;background-color:#fff;color:#333;border:0;text-shadow:none}.datepicker-plot-area .datepicker-day-view .table-days td.disabled span,.datepicker-plot-area .datepicker-year-view .year-item-disable,.datepicker-plot-area .datepicker-month-view .month-item-disable{background-color:#f1f1f1;color:#ccc;border:none;text-shadow:none;cursor:default}.datepicker-plot-area .datepicker-day-view .table-days td.today span{background-color:#333;color:#fff;border:0;text-shadow:none}.datepicker-plot-area .datepicker-day-view .table-days td span.other-month{background-color:"";color:#ccc;border:none;text-shadow:none}.datepicker-plot-area .datepicker-day-view .table-days td.selected span,.datepicker-plot-area .datepicker-year-view .year-item.selected,.datepicker-plot-area .datepicker-month-view .month-item.selected{background-color:#005299;color:#fff;border:none;text-shadow:1px 1px 1px #000}.datepicker-plot-area .datepicker-day-view .table-days td.selected span .datepicker-plot-area .datepicker-day-view .table-days td:hover,.datepicker-plot-area .datepicker-day-view .table-days td span:hover,.datepicker-plot-area .datepicker-year-view .year-item:hover,.datepicker-plot-area .datepicker-month-view .month-item:hover{background-color:#007be6;color:#fff;border:0;text-shadow:none}.datepicker-container{display:block;position:absolute;z-index:100000;top:0;direction:ltr}.datepicker-container.pwt-hide{display:none}.datepicker-plot-area{box-sizing:border-box;overflow:hidden;min-height:70px;display:block;width:200px;min-width:200px;padding:3px;position:absolute;font:12px tahoma;border:1px solid #ccc;background-color:#fff}.datepicker-plot-area.datepicker-state-only-time{padding:0}.datepicker-plot-area table,.datepicker-plot-area th,.datepicker-plot-area td{border:0;background:none}.datepicker-plot-area *{text-align:center;color:#333}.datepicker-plot-area .datepicker-day-view,.datepicker-plot-area .datepicker-month-view,.datepicker-plot-area .datepicker-year-view{display:block;width:100%;float:left;min-height:200px;margin:0}.datepicker-plot-area-inline-view{display:block;width:100%;position:static;float:left}.datepicker-plot-area .datepicker-time-view{display:block;float:left;width:100%;padding:5px;background:#f9f9f9;border-top:1px solid #f1f1f1}.datepicker-plot-area .datepicker-time-view>.time-segment{display:block;width:22%;float:left;overflow:hidden}.datepicker-plot-area .datepicker-time-view>.time-segment:hover .down-btn,.datepicker-plot-area .datepicker-time-view>.time-segment:hover .up-btn{font-weight:bold}.datepicker-plot-area .datepicker-time-view .divider{display:block;width:3%;height:60px;line-height:60px;float:left;overflow:hidden;font:12px bold}.datepicker-plot-area .datepicker-time-view .divider span{height:60px;line-height:60px}.datepicker-plot-area .datepicker-time-view .down-btn,.datepicker-plot-area .datepicker-time-view .up-btn{display:block;float:left;width:100%;margin:0;height:20px;line-height:22px;color:#ccc}.datepicker-plot-area .datepicker-time-view .down-btn:hover,.datepicker-plot-area .datepicker-time-view .up-btn:hover{background-color:rgba(250,250,250,0.3);color:#807f7f}.datepicker-plot-area .datepicker-time-view input{display:block;width:90%;margin:0 5%;height:20px;padding:0;outline:none;border:none;background:transparent}.datepicker-plot-area.datepicker-state-only-time .datepicker-time-view{padding:0 5px;margin:0}.datepicker-plot-area.datepicker-state-only-time .datepicker-time-view>.time-segment,.datepicker-plot-area.datepicker-state-only-time .datepicker-time-view>.divider{padding:5px 0}.datepicker-plot-area.datepicker-state-no-meridian .datepicker-time-view>.time-segment{width:31.33%}.datepicker-plot-area.datepicker-state-no-meridian .datepicker-time-view>.meridian-divider{display:none}.datepicker-plot-area.datepicker-state-no-second .datepicker-time-view>.time-segment{width:31.33%}.datepicker-plot-area.datepicker-state-no-second .datepicker-time-view>.second-divider{display:none}.datepicker-plot-area.datepicker-state-no-meridian.datepicker-state-no-second .datepicker-time-view>.time-segment{width:48%}.datepicker-plot-area.datepicker-state-no-meridian.datepicker-state-no-second .datepicker-time-view>.second-divider,.datepicker-plot-area.datepicker-state-no-meridian.datepicker-state-no-second .datepicker-time-view>.meridian-divider{display:none}.datepicker-plot-area .datepicker-day-view .table-days{width:100%;float:left;direction:rtl}.datepicker-plot-area .datepicker-day-view .table-days td{width:14.2%;height:26px;padding:0;margin:0;position:relative}.datepicker-plot-area .datepicker-day-view .table-days td .alter-calendar-day{font-style:normal;position:absolute;font-size:8.5px;bottom:0;right:2px;color:#f1f1f1}.datepicker-plot-area .datepicker-day-view .table-days td span{display:block;width:100%;height:26px;line-height:26px;padding:0;margin:0}.datepicker-plot-area .datepicker-day-view .month-grid-box{display:block;width:100%;float:right;min-height:180px;margin:8px 0}.datepicker-plot-area .datepicker-day-view .month-grid-box .header{display:block;width:100%;float:left;padding-bottom:8px}.datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row{display:block;width:100%;height:25px;float:left}.datepicker-plot-area .datepicker-day-view .month-grid-box .header .header-row-cell{display:block;width:14.2%;height:25px;float:right;line-height:25px;font:11px;font-weight:bold;color:#333}.datepicker-plot-area .datepicker-year-view,.datepicker-plot-area .datepicker-month-view{padding-top:10px}.datepicker-plot-area .datepicker-year-view .year-item,.datepicker-plot-area .datepicker-month-view .month-item{display:block;width:33.333333%;margin:2px 0 0;float:right;height:42px;line-height:42px}.datepicker-plot-area .datepicker-navigator{display:block;width:100%;float:left}.datepicker-plot-area .datepicker-navigator .pwt-btn-next,.datepicker-plot-area .datepicker-navigator .pwt-btn-switch,.datepicker-plot-area .datepicker-navigator .pwt-btn-prev{display:block;float:left;height:28px;line-height:28px;font-weight:bold;background-color:rgba(250,250,250,0.1);color:#333}.datepicker-plot-area .datepicker-navigator .pwt-btn-next:hover,.datepicker-plot-area .datepicker-navigator .pwt-btn-switch:hover,.datepicker-plot-area .datepicker-navigator .pwt-btn-prev:hover{background-color:rgba(250,250,250,0.3)}.datepicker-plot-area .datepicker-navigator .pwt-btn-next{display:block;width:15%;float:left}.datepicker-plot-area .datepicker-navigator .pwt-btn-switch{display:block;width:66%;margin:0 2%;float:left}.datepicker-plot-area .datepicker-navigator .pwt-btn-prev{display:block;width:15%;float:left}.datepicker-plot-area .toolbox{display:block;float:left;width:100%;margin-top:5px}.datepicker-plot-area .toolbox .pwt-btn-submit,.datepicker-plot-area .toolbox .pwt-btn-calendar,.datepicker-plot-area .toolbox .pwt-btn-today{background-color:rgba(250,250,250,0.1);float:right;display:block;font-weight:bold;font-size:11px;height:24px;line-height:24px;white-space:nowrap;margin:0 auto;margin-left:5px;padding:0 5px;min-width:50px}.datepicker-plot-area .toolbox .pwt-btn-submit:hover,.datepicker-plot-area .toolbox .pwt-btn-calendar:hover,.datepicker-plot-area .toolbox .pwt-btn-today:hover{background-color:rgba(250,250,250,0.3)}.datepicker-plot-area .datepicker-navigator{display:block;width:100%;float:left}.datepicker-plot-area .datepicker-navigator .pwt-btn-next,.datepicker-plot-area .datepicker-navigator .pwt-btn-switch,.datepicker-plot-area .datepicker-navigator .pwt-btn-prev{display:block;float:left;height:28px;line-height:28px;font-weight:bold;background-color:rgba(250,250,250,0.1);color:#333}.datepicker-plot-area .datepicker-navigator .pwt-btn-next:hover,.datepicker-plot-area .datepicker-navigator .pwt-btn-switch:hover,.datepicker-plot-area .datepicker-navigator .pwt-btn-prev:hover{background-color:rgba(250,250,250,0.3)}.datepicker-plot-area .datepicker-navigator .pwt-btn-next{display:block;width:15%;float:left}.datepicker-plot-area .datepicker-navigator .pwt-btn-switch{display:block;width:66%;margin:0 2%;float:left}.datepicker-plot-area .datepicker-navigator .pwt-btn-prev{display:block;width:15%;float:left}.datepicker-container.pwt-mobile-view{position:fixed;width:100%;height:100%;top:0;left:0;bottom:0;overflow:hidden;transition:all 1s}.datepicker-container.pwt-mobile-view.pwt-hide{top:100vh;height:0}.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .pwt-btn-submit{color:white;background:gray}.datepicker-container.pwt-mobile-view .datepicker-plot-area{position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0}.datepicker-container.pwt-mobile-view .datepicker-plot-area .table-days td,.datepicker-container.pwt-mobile-view .datepicker-plot-area .table-days td span{height:44px;line-height:44px;font-size:14px}.datepicker-container.pwt-mobile-view .datepicker-plot-area .datepicker-year-view .year-item,.datepicker-container.pwt-mobile-view .datepicker-plot-area .datepicker-month-view .month-item{height:70px;line-height:70px}.datepicker-container.pwt-mobile-view .datepicker-plot-area [class*='pwt-btn']{height:48px;line-height:48px}.datepicker-container.pwt-mobile-view .datepicker-plot-area .pwt-btn-today{float:left}.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time{background:rgba(0,0,0,0.7);border:0;padding-top:60%}.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .pwt-btn-submit{margin-right:5px}.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .datepicker-time-view input{height:40px;line-height:40px;font-size:24px;margin:5px 0}.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .datepicker-time-view .divider,.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .datepicker-time-view .divider span{font-size:16px;display:block;height:144px;line-height:144px}.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .datepicker-time-view .down-btn,.datepicker-container.pwt-mobile-view .datepicker-plot-area.datepicker-state-only-time .datepicker-time-view .up-btn{height:48px;line-height:48px}.datepicker-container.pwt-mobile-view .datepicker-time-view input{height:32px;line-height:34px;font-size:18px}.datepicker-container.pwt-mobile-view .datepicker-time-view .divider,.datepicker-container.pwt-mobile-view .datepicker-time-view .divider span{height:120px;line-height:120px}.datepicker-container.pwt-mobile-view .datepicker-time-view .down-btn,.datepicker-container.pwt-mobile-view .datepicker-time-view .up-btn{height:40px;line-height:40px} + +/*# sourceMappingURL=persian-datepicker.min.css.map */ + + diff --git a/DNN Platform/Website/Resources/Shared/components/DatePicker/persian.datepicker.js b/DNN Platform/Website/Resources/Shared/components/DatePicker/persian.datepicker.js new file mode 100644 index 00000000000..c00c95eb641 --- /dev/null +++ b/DNN Platform/Website/Resources/Shared/components/DatePicker/persian.datepicker.js @@ -0,0 +1,67 @@ +/* Persian-DnnSoftware */ +/*! + * + * persian-date - 1.0.5 + * Reza Babakhani + * http://babakhani.github.io/PersianWebToolkit/docs/persian-date/ + * Under WTFPL license + * + * + */ +!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.persianDate = t() : e.persianDate = t() }(this, function () { return function (e) { function t(i) { if (a[i]) return a[i].exports; var r = a[i] = { i: i, l: !1, exports: {} }; return e[i].call(r.exports, r, r.exports, t), r.l = !0, r.exports } var a = {}; return t.m = e, t.c = a, t.i = function (e) { return e }, t.d = function (e, a, i) { t.o(e, a) || Object.defineProperty(e, a, { configurable: !1, enumerable: !0, get: i }) }, t.n = function (e) { var a = e && e.__esModule ? function () { return e.default } : function () { return e }; return t.d(a, "a", a), a }, t.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, t.p = "", t(t.s = 8) }([function (e, t, a) { "use strict"; function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var r = function () { function e(e, t) { for (var a = 0; a < t.length; a++) { var i = t[a]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, a, i) { return a && e(t.prototype, a), i && e(t, i), t } }(), n = a(4).durationUnit, s = function () { function e() { i(this, e) } return r(e, [{ key: "toPersianDigit", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; return e.toString().replace(/\d+/g, function (e) { var a = [], i = [], r = void 0, n = void 0; for (r = 0; r < e.length; r += 1) a.push(e.charCodeAt(r)); for (n = 0; n < a.length; n += 1) i.push(String.fromCharCode(a[n] + (t && t === !0 ? 1584 : 1728))); return i.join("") }) } }, { key: "leftZeroFill", value: function (e, t) { for (var a = e + ""; a.length < t;) a = "0" + a; return a } }, { key: "normalizeDuration", value: function () { var e = void 0, t = void 0; return "string" == typeof arguments[0] ? (e = arguments[0], t = arguments[1]) : (t = arguments[0], e = arguments[1]), n.year.indexOf(e) > -1 ? e = "year" : n.month.indexOf(e) > -1 ? e = "month" : n.day.indexOf(e) > -1 ? e = "day" : n.hour.indexOf(e) > -1 ? e = "hour" : n.minute.indexOf(e) > -1 ? e = "minute" : n.second.indexOf(e) > -1 ? e = "second" : n.millisecond.indexOf(e) > -1 && (e = "millisecond"), { unit: e, value: t } } }, { key: "absRound", value: function (e) { return e < 0 ? Math.ceil(e) : Math.floor(e) } }, { key: "absFloor", value: function (e) { return e < 0 ? Math.ceil(e) || 0 : Math.floor(e) } }]), e }(); e.exports = s }, function (e, t, a) { "use strict"; function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var r = function () { function e(e, t) { for (var a = 0; a < t.length; a++) { var i = t[a]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, a, i) { return a && e(t.prototype, a), i && e(t, i), t } }(), n = a(10), s = a(2), o = a(0), h = a(5), u = (new o).toPersianDigit, d = (new o).leftZeroFill, l = (new o).normalizeDuration, c = a(7), y = a(6), f = function () { function t(e) { return i(this, t), this.calendarType = t.calendarType, this.localType = t.localType, this.leapYearMode = t.leapYearMode, this.algorithms = new s(this), this.version = "1.0.5", this._utcMode = !1, "fa" !== this.localType ? this.formatPersian = !1 : this.formatPersian = "_default", this.setup(e), this.ON = this.algorithms.ON, this } return r(t, [{ key: "setup", value: function (e) { if (n.isDate(e)) this._gDateToCalculators(e); else if (n.isArray(e)) this.algorithmsCalc([e[0], e[1] ? e[1] : 1, e[2] ? e[2] : 1, e[3], e[4], e[5], e[6] ? e[6] : 0]); else if (n.isNumber(e)) { var a = new Date(e); this._gDateToCalculators(a) } else if (e instanceof t) this.algorithmsCalc([e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()]); else if (e && "/Date(" === e.substring(0, 6)) { var i = new Date(parseInt(e.substr(6))); this._gDateToCalculators(i) } else { var r = new Date; this._gDateToCalculators(r) } } }, { key: "_getSyncedClass", value: function (e) { return new (t.toCalendar(this.calendarType).toLocale(this.localType).toLeapYearMode(this.leapYearMode))(e) } }, { key: "_gDateToCalculators", value: function (e) { this.algorithms.calcGregorian([e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()]) } }, { key: "rangeName", value: function () { var e = this.calendarType; return "fa" === this.localType ? "persian" === e ? c.persian : c.gregorian : "persian" === e ? y.persian : y.gregorian } }, { key: "toLeapYearMode", value: function (e) { return this.leapYearMode = e, "astronomical" === e && "persian" == this.calendarType ? this.leapYearMode = "astronomical" : "algorithmic" === e && "persian" == this.calendarType && (this.leapYearMode = "algorithmic"), this.algorithms.updateFromGregorian(), this } }, { key: "toCalendar", value: function (e) { return this.calendarType = e, this.algorithms.updateFromGregorian(), this } }, { key: "toLocale", value: function (e) { return this.localType = e, "fa" !== this.localType ? this.formatPersian = !1 : this.formatPersian = "_default", this } }, { key: "_locale", value: function () { var e = this.calendarType; return "fa" === this.localType ? "persian" === e ? c.persian : c.gregorian : "persian" === e ? y.persian : y.gregorian } }, { key: "_weekName", value: function (e) { return this._locale().weekdays[e - 1] } }, { key: "_weekNameShort", value: function (e) { return this._locale().weekdaysShort[e - 1] } }, { key: "_weekNameMin", value: function (e) { return this._locale().weekdaysMin[e - 1] } }, { key: "_dayName", value: function (e) { return this._locale().persianDaysName[e - 1] } }, { key: "_monthName", value: function (e) { return this._locale().months[e - 1] } }, { key: "_monthNameShort", value: function (e) { return this._locale().monthsShort[e - 1] } }, { key: "isPersianDate", value: function (e) { return e instanceof t } }, { key: "clone", value: function () { return this._getSyncedClass(this.ON.gDate) } }, { key: "algorithmsCalc", value: function (e) { return this.isPersianDate(e) && (e = [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()]), "persian" === this.calendarType && "algorithmic" == this.leapYearMode ? this.algorithms.calcPersian(e) : "persian" === this.calendarType && "astronomical" == this.leapYearMode ? this.algorithms.calcPersiana(e) : "gregorian" === this.calendarType ? (e[1] = e[1] - 1, this.algorithms.calcGregorian(e)) : void 0 } }, { key: "calendar", value: function () { var e = void 0; return "persian" == this.calendarType ? "astronomical" == this.leapYearMode ? e = "persianAstro" : "algorithmic" == this.leapYearMode && (e = "persianAlgo") : e = "gregorian", this.ON[e] } }, { key: "duration", value: function (e, t) { return new h(e, t) } }, { key: "isDuration", value: function (e) { return e instanceof h } }, { key: "years", value: function (e) { return this.year(e) } }, { key: "year", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([e, this.month(), this.date(), this.hour(), this.minute(), this.second(), this.millisecond()]), this) : this.calendar().year } }, { key: "month", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([this.year(), e, this.date()]), this) : this.calendar().month + 1 } }, { key: "days", value: function () { return this.day() } }, { key: "day", value: function () { return this.calendar().weekday } }, { key: "dates", value: function (e) { return this.date(e) } }, { key: "date", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([this.year(), this.month(), e]), this) : this.calendar().day } }, { key: "hour", value: function (e) { return this.hours(e) } }, { key: "hours", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([this.year(), this.month(), this.date(), e]), this) : this.ON.gDate.getHours() } }, { key: "minute", value: function (e) { return this.minutes(e) } }, { key: "minutes", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([this.year(), this.month(), this.date(), this.hour(), e]), this) : this.ON.gDate.getMinutes() } }, { key: "second", value: function (e) { return this.seconds(e) } }, { key: "seconds", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([this.year(), this.month(), this.date(), this.hour(), this.minute(), e]), this) : this.ON.gDate.getSeconds() } }, { key: "millisecond", value: function (e) { return this.milliseconds(e) } }, { key: "milliseconds", value: function (e) { return e || 0 === e ? (this.algorithmsCalc([this.year(), this.month(), this.date(), this.hour(), this.minute(), this.second(), e]), this) : this.ON.gregorian.millisecond } }, { key: "unix", value: function (e) { var t = void 0; if (e) return this._getSyncedClass(1e3 * e); var a = this.ON.gDate.valueOf().toString(); return t = a.substring(0, a.length - 3), parseInt(t) } }, { key: "valueOf", value: function () { return this.ON.gDate.valueOf() } }, { key: "getFirstWeekDayOfMonth", value: function (e, t) { return this._getSyncedClass([e, t, 1]).day() } }, { key: "diff", value: function (e, t, a) { var i = this, r = e, n = i.ON.gDate - r.toDate() - 0, s = i.year() - r.year(), o = i.month() - r.month(), h = (i.date() - r.date()) * -1, u = void 0; return u = "months" === t || "month" === t ? 12 * s + o + h / 30 : "years" === t || "year" === t ? s + (o + h / 30) / 12 : "seconds" === t || "second" === t ? n / 1e3 : "minutes" === t || "minute" === t ? n / 6e4 : "hours" === t || "hour" === t ? n / 36e5 : "days" === t || "day" === t ? n / 864e5 : "weeks" === t || "week" === t ? n / 6048e5 : n, u < 0 && (u *= -1), a ? u : Math.round(u) } }, { key: "startOf", value: function (e) { var a = t.toCalendar(this.calendarType).toLocale(this.localType); switch (e) { case "years": case "year": return new a([this.year(), 1, 1]); case "months": case "month": return new a([this.year(), this.month(), 1]); case "days": case "day": return new a([this.year(), this.month(), this.date(), 0, 0, 0]); case "hours": case "hour": return new a([this.year(), this.month(), this.date(), this.hours(), 0, 0]); case "minutes": case "minute": return new a([this.year(), this.month(), this.date(), this.hours(), this.minutes(), 0]); case "seconds": case "second": return new a([this.year(), this.month(), this.date(), this.hours(), this.minutes(), this.seconds()]); case "weeks": case "week": return new a([this.year(), this.month(), this.date() - (this.calendar().weekday - 1)]); default: return this.clone() } } }, { key: "endOf", value: function (e) { var a = t.toCalendar(this.calendarType).toLocale(this.localType); switch (e) { case "years": case "year": var i = this.isLeapYear() ? 30 : 29; return new a([this.year(), 12, i, 23, 59, 59]); case "months": case "month": var r = this.daysInMonth(this.year(), this.month()); return new a([this.year(), this.month(), r, 23, 59, 59]); case "days": case "day": return new a([this.year(), this.month(), this.date(), 23, 59, 59]); case "hours": case "hour": return new a([this.year(), this.month(), this.date(), this.hours(), 59, 59]); case "minutes": case "minute": return new a([this.year(), this.month(), this.date(), this.hours(), this.minutes(), 59]); case "seconds": case "second": return new a([this.year(), this.month(), this.date(), this.hours(), this.minutes(), this.seconds()]); case "weeks": case "week": var n = this.calendar().weekday; return new a([this.year(), this.month(), this.date() + (7 - n)]); default: return this.clone() } } }, { key: "sod", value: function () { return this.startOf("day") } }, { key: "eod", value: function () { return this.endOf("day") } }, { key: "zone", value: function (e) { return e || 0 === e ? (this.ON.zone = e, this) : this.ON.zone } }, { key: "local", value: function () { var e = void 0; if (this._utcMode) { var a = new Date(this.toDate()).getTimezoneOffset(), i = 60 * a * 1e3; e = a < 0 ? this.valueOf() - i : this.valueOf() + i, this.toCalendar(t.calendarType); var r = new Date(e); return this._gDateToCalculators(r), this._utcMode = !1, this.zone(a), this } return this } }, { key: "utc", value: function (e) { var t = void 0; if (e) return this._getSyncedClass(e).utc(); if (this._utcMode) return this; var a = 60 * this.zone() * 1e3; t = this.zone() < 0 ? this.valueOf() + a : this.valueOf() - a; var i = new Date(t), r = this._getSyncedClass(i); return this.algorithmsCalc(r), this._utcMode = !0, this.zone(0), this } }, { key: "isUtc", value: function () { return this._utcMode } }, { key: "isDST", value: function () { var e = this.month(), t = this.date(); return 1 == e && t > 1 || 6 == e && t < 31 || e < 6 && e >= 2 } }, { key: "isLeapYear", value: function (e) { return void 0 === e && (e = this.year()), "persian" == this.calendarType && "algorithmic" === this.leapYearMode ? this.algorithms.leap_persian(e) : "persian" == this.calendarType && "astronomical" === this.leapYearMode ? this.algorithms.leap_persiana(e) : "gregorian" == this.calendarType ? this.algorithms.leap_gregorian(e) : void 0 } }, { key: "daysInMonth", value: function (e, t) { var a = e || this.year(), i = t || this.month(); return "persian" === this.calendarType ? i < 1 || i > 12 ? 0 : i < 7 ? 31 : i < 12 ? 30 : this.isLeapYear(a) ? 30 : 29 : "gregorian" === this.calendarType ? new Date(a, i, 0).getDate() : void 0 } }, { key: "toDate", value: function () { return this.ON.gDate } }, { key: "toArray", value: function () { return [this.year(), this.month(), this.date(), this.hour(), this.minute(), this.second(), this.millisecond()] } }, { key: "formatNumber", value: function () { var t = void 0, a = this; return "_default" === this.formatPersian ? t = void 0 !== e && void 0 !== e.exports ? a.formatPersian !== !1 : window.formatPersian !== !1 : this.formatPersian === !0 ? t = !0 : this.formatPersian === !1 ? t = !1 : Error('Invalid Config "formatPersian" !!'), t } }, { key: "format", value: function (e) { function t(e) { switch (e) { case "a": return n ? r.hour >= 12 ? "ب ظ" : "ق ظ" : r.hour >= 12 ? "PM" : "AM"; case "H": return s(r.hour); case "HH": return s(d(r.hour, 2)); case "h": return s(r.hour % 12); case "hh": return s(d(r.hour % 12, 2)); case "m": case "mm": return s(d(r.minute, 2)); case "s": return s(r.second); case "ss": return s(d(r.second, 2)); case "D": return s(d(r.date)); case "DD": return s(d(r.date, 2)); case "DDD": var t = a.startOf("year"); return s(d(a.diff(t, "days"), 3)); case "DDDD": var i = a.startOf("year"); return s(d(a.diff(i, "days"), 3)); case "d": return s(a.calendar().weekday); case "ddd": return a._weekNameShort(a.calendar().weekday); case "dddd": return a._weekName(a.calendar().weekday); case "ddddd": return a._dayName(a.calendar().day); case "dddddd": return a._weekNameMin(a.calendar().weekday); case "w": var o = a.startOf("year"), h = parseInt(a.diff(o, "days") / 7) + 1; return s(h); case "ww": var u = a.startOf("year"), l = d(parseInt(a.diff(u, "days") / 7) + 1, 2); return s(l); case "M": return s(r.month); case "MM": return s(d(r.month, 2)); case "MMM": return a._monthNameShort(r.month); case "MMMM": return a._monthName(r.month); case "YY": var c = r.year.toString().split(""); return s(c[2] + c[3]); case "YYYY": return s(r.year); case "Z": var y = "+", f = Math.round(r.timezone / 60), v = r.timezone % 60; v < 0 && (v *= -1), f < 0 && (y = "-", f *= -1); var m = y + d(f, 2) + ":" + d(v, 2); return s(m); case "ZZ": var p = "+", g = Math.round(r.timezone / 60), _ = r.timezone % 60; _ < 0 && (_ *= -1), g < 0 && (p = "-", g *= -1); var M = p + d(g, 2) + "" + d(_, 2); return s(M); case "X": return a.unix(); case "LT": return a.format("H:m a"); case "L": return a.format("YYYY/MM/DD"); case "l": return a.format("YYYY/M/D"); case "LL": return a.format("MMMM DD YYYY"); case "ll": return a.format("MMM DD YYYY"); case "LLL": return a.format("MMMM YYYY DD H:m a"); case "lll": return a.format("MMM YYYY DD H:m a"); case "LLLL": return a.format("dddd D MMMM YYYY H:m a"); case "llll": return a.format("ddd D MMM YYYY H:m a") } } var a = this, i = /([[^[]*])|(\\)?(Mo|MM?M?M?|Do|DD?D?D?|dddddd?|ddddd?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|X|LT|ll?l?l?|LL?L?L?)/g, r = { year: a.year(), month: a.month(), hour: a.hours(), minute: a.minutes(), second: a.seconds(), date: a.date(), timezone: a.zone(), unix: a.unix() }, n = a.formatNumber(), s = function (e) { return n ? u(e) : e }; return e ? e.replace(i, t) : "YYYY-MM-DD HH:mm:ss a".replace(i, t) } }, { key: "add", value: function (e, t) { var a = new h(e, t)._data, i = l(e, t).unit; if (t = l(e, t).value, "year" === i || "month" === i) { if (a.years > 0) { var r = this.year() + a.years; this.year(r) } if (a.months > 0) { var n = this.date(), s = this.month() + a.months, o = this.daysInMonth(this.year(), s); n >= o && (n = o), this.date(n), this.month(s) } } if ("day" === i) { var u = this.hour(), d = this.valueOf() + 24 * t * 60 * 60 * 1e3; return this.unix(d / 1e3).hour(u) } if ("hour" === i) { var c = this.valueOf() + 60 * t * 60 * 1e3; return this.unix(c / 1e3) } if ("minute" === i) { var y = this.valueOf() + 60 * t * 1e3; return this.unix(y / 1e3) } if ("second" === i) { var f = this.valueOf() + 1e3 * t; return this.unix(f / 1e3) } if ("millisecond" === i) { var v = this.valueOf() + t; return this.unix(v / 1e3) } return this._getSyncedClass(this.valueOf()) } }, { key: "subtract", value: function (e, t) { var a = new h(e, t)._data, i = l(e, t).unit; if (t = l(e, t).value, "year" === i || "month" === i) { if (a.years > 0) { var r = this.year() - a.years; this.year(r) } if (a.months > 0) { var n = this.date(), s = this.month() - a.months; this.month(s); var o = this.daysInMonth(this.year(), this.month()); n > o && (n = o), this.date(n) } } if ("day" === i) { var u = this.hour(), d = this.valueOf() - 24 * t * 60 * 60 * 1e3; return this.unix(d / 1e3).hour(u) } if ("hour" === i) { var c = this.valueOf() - 60 * t * 60 * 1e3; return this.unix(c / 1e3) } if ("minute" === i) { var y = this.valueOf() - 60 * t * 1e3; return this.unix(y / 1e3) } if ("second" === i) { var f = this.valueOf() - 1e3 * t; return this.unix(f / 1e3) } if ("millisecond" === i) { var v = this.valueOf() - t; return this.unix(v / 1e3) } return this._getSyncedClass(this.valueOf()) } }, { key: "isSameDay", value: function (e) { return this && e && this.date() == e.date() && this.year() == e.year() && this.month() == e.month() } }, { key: "isSameMonth", value: function (e) { return this && e && this.year() == this.year() && this.month() == e.month() } }], [{ key: "rangeName", value: function () { var e = t, a = e.calendarType; return "fa" === e.localType ? "persian" === a ? c.persian : c.gregorian : "persian" === a ? y.persian : y.gregorian } }, { key: "toLeapYearMode", value: function (e) { var a = t; return a.leapYearMode = e, a } }, { key: "toCalendar", value: function (e) { var a = t; return a.calendarType = e, a } }, { key: "toLocale", value: function (e) { var a = t; return a.localType = e, "fa" !== a.localType ? a.formatPersian = !1 : a.formatPersian = "_default", a } }, { key: "isPersianDate", value: function (e) { return e instanceof t } }, { key: "duration", value: function (e, t) { return new h(e, t) } }, { key: "isDuration", value: function (e) { return e instanceof h } }, { key: "unix", value: function (e) { return e ? new t(1e3 * e) : (new t).unix() } }, { key: "getFirstWeekDayOfMonth", value: function (e, a) { return new t([e, a, 1]).day() } }, { key: "utc", value: function (e) { return e ? new t(e).utc() : (new t).utc() } }, { key: "isSameDay", value: function (e, t) { return e && t && e.date() == t.date() && e.year() == t.year() && e.month() == t.month() } }, { key: "isSameMonth", value: function (e, t) { return e && t && e.year() == t.year() && e.month() == t.month() } }]), t }(); e.exports = f }, function (e, t, a) { "use strict"; function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var r = function () { function e(e, t) { for (var a = 0; a < t.length; a++) { var i = t[a]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, a, i) { return a && e(t.prototype, a), i && e(t, i), t } }(), n = a(3), s = a(9), o = function () { function e(t) { i(this, e), this.parent = t, this.ASTRO = new n, this.ON = new s, this.J0000 = 1721424.5, this.J1970 = 2440587.5, this.JMJD = 2400000.5, this.NormLeap = [!1, !0], this.GREGORIAN_EPOCH = 1721425.5, this.PERSIAN_EPOCH = 1948320.5 } return r(e, [{ key: "leap_gregorian", value: function (e) { return e % 4 == 0 && !(e % 100 == 0 && e % 400 != 0) } }, { key: "gregorian_to_jd", value: function (e, t, a) { return this.GREGORIAN_EPOCH - 1 + 365 * (e - 1) + Math.floor((e - 1) / 4) + -Math.floor((e - 1) / 100) + Math.floor((e - 1) / 400) + Math.floor((367 * t - 362) / 12 + (t <= 2 ? 0 : this.leap_gregorian(e) ? -1 : -2) + a) } }, { key: "jd_to_gregorian", value: function (e) { var t = void 0, a = void 0, i = void 0, r = void 0, n = void 0, s = void 0, o = void 0, h = void 0, u = void 0, d = void 0, l = void 0, c = void 0, y = void 0, f = void 0; return t = Math.floor(e - .5) + .5, a = t - this.GREGORIAN_EPOCH, i = Math.floor(a / 146097), r = this.ASTRO.mod(a, 146097), n = Math.floor(r / 36524), s = this.ASTRO.mod(r, 36524), o = Math.floor(s / 1461), h = this.ASTRO.mod(s, 1461), u = Math.floor(h / 365), d = 400 * i + 100 * n + 4 * o + u, 4 !== n && 4 !== u && d++, l = t - this.gregorian_to_jd(d, 1, 1), c = t < this.gregorian_to_jd(d, 3, 1) ? 0 : this.leap_gregorian(d) ? 1 : 2, y = Math.floor((12 * (l + c) + 373) / 367), f = t - this.gregorian_to_jd(d, y, 1) + 1, [d, y, f] } }, { key: "tehran_equinox", value: function (e) { var t = void 0, a = void 0, i = void 0, r = void 0; return t = this.ASTRO.equinox(e, 0), a = t - this.ASTRO.deltat(e) / 86400, i = a + this.ASTRO.equationOfTime(t), r = 52.5 / 360, i + r } }, { key: "tehran_equinox_jd", value: function (e) { var t = void 0; return t = this.tehran_equinox(e), Math.floor(t) } }, { key: "persiana_year", value: function (e) { var t = this.jd_to_gregorian(e)[0] - 2, a = void 0, i = void 0, r = void 0; for (a = this.tehran_equinox_jd(t) ; a > e;) t--, a = this.tehran_equinox_jd(t); for (i = a - 1; !(a <= e && e < i) ;) a = i, t++, i = this.tehran_equinox_jd(t); return r = Math.round((a - this.PERSIAN_EPOCH) / this.ASTRO.TropicalYear) + 1, [r, a] } }, { key: "jd_to_persiana", value: function (e) { var t = void 0, a = void 0, i = void 0, r = void 0, n = void 0, s = void 0; return e = Math.floor(e) + .5, r = this.persiana_year(e), t = r[0], n = r[1], i = Math.floor((e - n) / 30) + 1, s = Math.floor(e) - this.persiana_to_jd(t, 1, 1) + 1, a = s <= 186 ? Math.ceil(s / 31) : Math.ceil((s - 6) / 30), i = Math.floor(e) - this.persiana_to_jd(t, a, 1) + 1, [t, a, i] } }, { key: "persiana_to_jd", value: function (e, t, a) { var i = void 0, r = void 0, n = void 0; for (n = this.PERSIAN_EPOCH - 1 + this.ASTRO.TropicalYear * (e - 1 - 1), i = [e - 1, 0]; i[0] < e;) i = this.persiana_year(n), n = i[1] + (this.ASTRO.TropicalYear + 2); return r = i[1], r + (t <= 7 ? 31 * (t - 1) : 30 * (t - 1) + 6) + (a - 1) } }, { key: "leap_persiana", value: function (e) { return this.persiana_to_jd(e + 1, 1, 1) - this.persiana_to_jd(e, 1, 1) > 365 } }, { key: "leap_persian", value: function (e) { return 682 * ((e - (e > 0 ? 474 : 473)) % 2820 + 474 + 38) % 2816 < 682 } }, { key: "persian_to_jd", value: function (e, t, a) { var i = void 0, r = void 0; return i = e - (e >= 0 ? 474 : 473), r = 474 + this.ASTRO.mod(i, 2820), a + (t <= 7 ? 31 * (t - 1) : 30 * (t - 1) + 6) + Math.floor((682 * r - 110) / 2816) + 365 * (r - 1) + 1029983 * Math.floor(i / 2820) + (this.PERSIAN_EPOCH - 1) } }, { key: "jd_to_persian", value: function (e) { var t = void 0, a = void 0, i = void 0, r = void 0, n = void 0, s = void 0, o = void 0, h = void 0, u = void 0, d = void 0; return e = Math.floor(e) + .5, r = e - this.persian_to_jd(475, 1, 1), n = Math.floor(r / 1029983), s = this.ASTRO.mod(r, 1029983), 1029982 === s ? o = 2820 : (h = Math.floor(s / 366), u = this.ASTRO.mod(s, 366), o = Math.floor((2134 * h + 2816 * u + 2815) / 1028522) + h + 1), t = o + 2820 * n + 474, t <= 0 && t--, d = e - this.persian_to_jd(t, 1, 1) + 1, a = d <= 186 ? Math.ceil(d / 31) : Math.ceil((d - 6) / 30), i = e - this.persian_to_jd(t, a, 1) + 1, [t, a, i] } }, { key: "gWeekDayToPersian", value: function (e) { return e + 2 === 8 ? 1 : e + 2 === 7 ? 7 : e + 2 } }, { key: "updateFromGregorian", value: function () { var e = void 0, t = void 0, a = void 0, i = void 0, r = void 0, n = void 0, s = void 0, o = void 0, h = void 0, u = void 0; t = this.ON.gregorian.year, a = this.ON.gregorian.month, i = this.ON.gregorian.day, r = 0, n = 0, s = 0, this.ON.gDate = new Date(t, a, i, this.ON.gregorian.hour, this.ON.gregorian.minute, this.ON.gregorian.second, this.ON.gregorian.millisecond), this.parent._utcMode === !1 && (this.ON.zone = this.ON.gDate.getTimezoneOffset()), this.ON.gregorian.year = this.ON.gDate.getFullYear(), this.ON.gregorian.month = this.ON.gDate.getMonth(), this.ON.gregorian.day = this.ON.gDate.getDate(), e = this.gregorian_to_jd(t, a + 1, i) + Math.floor(s + 60 * (n + 60 * r) + .5) / 86400, this.ON.julianday = e, this.ON.modifiedjulianday = e - this.JMJD, o = this.ASTRO.jwday(e), this.ON.gregorian.weekday = o + 1, this.ON.gregorian.leap = this.NormLeap[this.leap_gregorian(t) ? 1 : 0], o = this.ASTRO.jwday(e), "persian" == this.parent.calendarType && "algorithmic" == this.parent.leapYearMode && (u = this.jd_to_persian(e), this.ON.persian.year = u[0], this.ON.persian.month = u[1] - 1, this.ON.persian.day = u[2], this.ON.persian.weekday = this.gWeekDayToPersian(o), this.ON.persian.leap = this.NormLeap[this.leap_persian(u[0]) ? 1 : 0]), "persian" == this.parent.calendarType && "astronomical" == this.parent.leapYearMode && (u = this.jd_to_persiana(e), this.ON.persianAstro.year = u[0], this.ON.persianAstro.month = u[1] - 1, this.ON.persianAstro.day = u[2], this.ON.persianAstro.weekday = this.gWeekDayToPersian(o), this.ON.persianAstro.leap = this.NormLeap[this.leap_persiana(u[0]) ? 1 : 0]), null !== this.ON.gregserial.day && (this.ON.gregserial.day = e - this.J0000), h = 864e5 * (e - this.J1970), this.ON.unixtime = Math.round(h / 1e3) } }, { key: "calcGregorian", value: function (e) { (e[0] || 0 === e[0]) && (this.ON.gregorian.year = e[0]), (e[1] || 0 === e[1]) && (this.ON.gregorian.month = e[1]), (e[2] || 0 === e[2]) && (this.ON.gregorian.day = e[2]), (e[3] || 0 === e[3]) && (this.ON.gregorian.hour = e[3]), (e[4] || 0 === e[4]) && (this.ON.gregorian.minute = e[4]), (e[5] || 0 === e[5]) && (this.ON.gregorian.second = e[5]), (e[6] || 0 === e[6]) && (this.ON.gregorian.millisecond = e[6]), this.updateFromGregorian() } }, { key: "calcJulian", value: function () { var e = void 0, t = void 0; e = this.ON.julianday, t = this.jd_to_gregorian(e), this.ON.gregorian.year = t[0], this.ON.gregorian.month = t[1] - 1, this.ON.gregorian.day = t[2], this.updateFromGregorian() } }, { key: "setJulian", value: function (e) { this.ON.julianday = e, this.calcJulian() } }, { key: "calcPersian", value: function (e) { e[0] && (this.ON.persian.year = e[0]), e[1] && (this.ON.persian.month = e[1]), e[2] && (this.ON.persian.day = e[2]), e[3] && (this.ON.gregorian.hour = e[3]), e[4] && (this.ON.gregorian.minute = e[4]), e[5] && (this.ON.gregorian.second = e[5]), e[6] && (this.ON.gregorian.millisecond = e[6]), this.setJulian(this.persian_to_jd(this.ON.persian.year, this.ON.persian.month, this.ON.persian.day)) } }, { key: "calcPersiana", value: function (e) { e[0] && (this.ON.persianAstro.year = e[0]), e[1] && (this.ON.persianAstro.month = e[1]), e[2] && (this.ON.persianAstro.day = e[2]), e[3] && (this.ON.gregorian.hour = e[3]), e[4] && (this.ON.gregorian.minute = e[4]), e[5] && (this.ON.gregorian.second = e[5]), e[6] && (this.ON.gregorian.millisecond = e[6]), this.setJulian(this.persiana_to_jd(this.ON.persianAstro.year, this.ON.persianAstro.month, this.ON.persianAstro.day + .5)) } }]), e }(); e.exports = o }, function (e, t, a) { "use strict"; function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var r = function () { function e(e, t) { for (var a = 0; a < t.length; a++) { var i = t[a]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, a, i) { return a && e(t.prototype, a), i && e(t, i), t } }(), n = function () { function e() { i(this, e), this.J2000 = 2451545, this.JulianCentury = 36525, this.JulianMillennium = 10 * this.JulianCentury, this.TropicalYear = 365.24219878, this.oterms = [-4680.93, -1.55, 1999.25, -51.38, -249.67, -39.05, 7.12, 27.87, 5.79, 2.45], this.nutArgMult = [0, 0, 0, 0, 1, -2, 0, 0, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, -2, 1, 0, 2, 2, 0, 0, 0, 2, 1, 0, 0, 1, 2, 2, -2, -1, 0, 2, 2, -2, 0, 1, 0, 0, -2, 0, 0, 2, 1, 0, 0, -1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 0, -1, 2, 2, 0, 0, -1, 0, 1, 0, 0, 1, 2, 1, -2, 0, 2, 0, 0, 0, 0, -2, 2, 1, 2, 0, 0, 2, 2, 0, 0, 2, 2, 2, 0, 0, 2, 0, 0, -2, 0, 1, 2, 2, 0, 0, 0, 2, 0, -2, 0, 0, 2, 0, 0, 0, -1, 2, 1, 0, 2, 0, 0, 0, 2, 0, -1, 0, 1, -2, 2, 0, 2, 2, 0, 1, 0, 0, 1, -2, 0, 1, 0, 1, 0, -1, 0, 0, 1, 0, 0, 2, -2, 0, 2, 0, -1, 2, 1, 2, 0, 1, 2, 2, 0, 1, 0, 2, 2, -2, 1, 1, 0, 0, 0, -1, 0, 2, 2, 2, 0, 0, 2, 1, 2, 0, 1, 0, 0, -2, 0, 2, 2, 2, -2, 0, 1, 2, 1, 2, 0, -2, 0, 1, 2, 0, 0, 0, 1, 0, -1, 1, 0, 0, -2, -1, 0, 2, 1, -2, 0, 0, 0, 1, 0, 0, 2, 2, 1, -2, 0, 2, 0, 1, -2, 1, 0, 2, 1, 0, 0, 1, -2, 0, -1, 0, 1, 0, 0, -2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, -1, -1, 1, 0, 0, 0, 1, 1, 0, 0, 0, -1, 1, 2, 2, 2, -1, -1, 2, 2, 0, 0, -2, 2, 2, 0, 0, 3, 2, 2, 2, -1, 0, 2, 2], this.nutArgCoeff = [-171996, -1742, 92095, 89, -13187, -16, 5736, -31, -2274, -2, 977, -5, 2062, 2, -895, 5, 1426, -34, 54, -1, 712, 1, -7, 0, -517, 12, 224, -6, -386, -4, 200, 0, -301, 0, 129, -1, 217, -5, -95, 3, -158, 0, 0, 0, 129, 1, -70, 0, 123, 0, -53, 0, 63, 0, 0, 0, 63, 1, -33, 0, -59, 0, 26, 0, -58, -1, 32, 0, -51, 0, 27, 0, 48, 0, 0, 0, 46, 0, -24, 0, -38, 0, 16, 0, -31, 0, 13, 0, 29, 0, 0, 0, 29, 0, -12, 0, 26, 0, 0, 0, -22, 0, 0, 0, 21, 0, -10, 0, 17, -1, 0, 0, 16, 0, -8, 0, -16, 1, 7, 0, -15, 0, 9, 0, -13, 0, 7, 0, -12, 0, 6, 0, 11, 0, 0, 0, -10, 0, 5, 0, -8, 0, 3, 0, 7, 0, -3, 0, -7, 0, 0, 0, -7, 0, 3, 0, -7, 0, 3, 0, 6, 0, 0, 0, 6, 0, -3, 0, 6, 0, -3, 0, -6, 0, 3, 0, -6, 0, 3, 0, 5, 0, 0, 0, -5, 0, 3, 0, -5, 0, 3, 0, -5, 0, 3, 0, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, -4, 0, 0, 0, -4, 0, 0, 0, -4, 0, 0, 0, 3, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0], this.deltaTtab = [121, 112, 103, 95, 88, 82, 77, 72, 68, 63, 60, 56, 53, 51, 48, 46, 44, 42, 40, 38, 35, 33, 31, 29, 26, 24, 22, 20, 18, 16, 14, 12, 11, 10, 9, 8, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 14, 13, 13.1, 12.5, 12.2, 12, 12, 12, 12, 12, 12, 11.9, 11.6, 11, 10.2, 9.2, 8.2, 7.1, 6.2, 5.6, 5.4, 5.3, 5.4, 5.6, 5.9, 6.2, 6.5, 6.8, 7.1, 7.3, 7.5, 7.6, 7.7, 7.3, 6.2, 5.2, 2.7, 1.4, -1.2, -2.8, -3.8, -4.8, -5.5, -5.3, -5.6, -5.7, -5.9, -6, -6.3, -6.5, -6.2, -4.7, -2.8, -.1, 2.6, 5.3, 7.7, 10.4, 13.3, 16, 18.2, 20.2, 21.1, 22.4, 23.5, 23.8, 24.3, 24, 23.9, 23.9, 23.7, 24, 24.3, 25.3, 26.2, 27.3, 28.2, 29.1, 30, 30.7, 31.4, 32.2, 33.1, 34, 35, 36.5, 38.3, 40.2, 42.2, 44.5, 46.5, 48.5, 50.5, 52.2, 53.8, 54.9, 55.8, 56.9, 58.3, 60, 61.6, 63, 65, 66.6], this.EquinoxpTerms = [485, 324.96, 1934.136, 203, 337.23, 32964.467, 199, 342.08, 20.186, 182, 27.85, 445267.112, 156, 73.14, 45036.886, 136, 171.52, 22518.443, 77, 222.54, 65928.934, 74, 296.72, 3034.906, 70, 243.58, 9037.513, 58, 119.81, 33718.147, 52, 297.17, 150.678, 50, 21.02, 2281.226, 45, 247.54, 29929.562, 44, 325.15, 31555.956, 29, 60.93, 4443.417, 18, 155.12, 67555.328, 17, 288.79, 4562.452, 16, 198.04, 62894.029, 14, 199.76, 31436.921, 12, 95.39, 14577.848, 12, 287.11, 31931.756, 12, 320.81, 34777.259, 9, 227.73, 1222.114, 8, 15.45, 16859.074], this.JDE0tab1000 = [new Array(1721139.29189, 365242.1374, .06134, .00111, -71e-5), new Array(1721233.25401, 365241.72562, -.05323, .00907, 25e-5), new Array(1721325.70455, 365242.49558, -.11677, -.00297, 74e-5), new Array(1721414.39987, 365242.88257, -.00769, -.00933, -6e-5)], this.JDE0tab2000 = [new Array(2451623.80984, 365242.37404, .05169, -.00411, -57e-5), new Array(2451716.56767, 365241.62603, .00325, .00888, -3e-4), new Array(2451810.21715, 365242.01767, -.11575, .00337, 78e-5), new Array(2451900.05952, 365242.74049, -.06223, -.00823, 32e-5)] } return r(e, [{ key: "dtr", value: function (e) { return e * Math.PI / 180 } }, { key: "rtd", value: function (e) { return 180 * e / Math.PI } }, { key: "fixangle", value: function (e) { return e - 360 * Math.floor(e / 360) } }, { key: "fixangr", value: function (e) { return e - 2 * Math.PI * Math.floor(e / (2 * Math.PI)) } }, { key: "dsin", value: function (e) { return Math.sin(this.dtr(e)) } }, { key: "dcos", value: function (e) { return Math.cos(this.dtr(e)) } }, { key: "mod", value: function (e, t) { return e - t * Math.floor(e / t) } }, { key: "jwday", value: function (e) { return this.mod(Math.floor(e + 1.5), 7) } }, { key: "obliqeq", value: function (e) { var t, a, i, r; if (i = a = (e - this.J2000) / (100 * this.JulianCentury), t = 23.43929111111111, Math.abs(a) < 1) for (r = 0; r < 10; r++) t += this.oterms[r] / 3600 * i, i *= a; return t } }, { key: "nutation", value: function (e) { var t, a, i, r, n, s, o, h, u = (e - 2451545) / 36525, d = [], l = 0, c = 0; for (s = u * (n = u * u), d[0] = this.dtr(297.850363 + 445267.11148 * u - .0019142 * n + s / 189474), d[1] = this.dtr(357.52772 + 35999.05034 * u - 1603e-7 * n - s / 3e5), d[2] = this.dtr(134.96298 + 477198.867398 * u + .0086972 * n + s / 56250), d[3] = this.dtr(93.27191 + 483202.017538 * u - .0036825 * n + s / 327270), d[4] = this.dtr(125.04452 - 1934.136261 * u + .0020708 * n + s / 45e4), i = 0; i < 5; i++) d[i] = this.fixangr(d[i]); for (o = u / 10, i = 0; i < 63; i++) { for (h = 0, r = 0; r < 5; r++) 0 !== this.nutArgMult[5 * i + r] && (h += this.nutArgMult[5 * i + r] * d[r]); l += (this.nutArgCoeff[4 * i + 0] + this.nutArgCoeff[4 * i + 1] * o) * Math.sin(h), c += (this.nutArgCoeff[4 * i + 2] + this.nutArgCoeff[4 * i + 3] * o) * Math.cos(h) } return t = l / 36e6, a = c / 36e6, [t, a] } }, { key: "deltat", value: function (e) { var t, a, i, r; return e >= 1620 && e <= 2e3 ? (i = Math.floor((e - 1620) / 2), a = (e - 1620) / 2 - i, t = this.deltaTtab[i] + (this.deltaTtab[i + 1] - this.deltaTtab[i]) * a) : (r = (e - 2e3) / 100, e < 948 ? t = 2177 + 497 * r + 44.1 * r * r : (t = 102 + 102 * r + 25.3 * r * r, e > 2e3 && e < 2100 && (t += .37 * (e - 2100)))), t } }, { key: "equinox", value: function (e, t) { var a = void 0, i = void 0, r = void 0, n = void 0, s = void 0, o = void 0, h = void 0, u = void 0, d = void 0; for (e < 1e3 ? (s = this.JDE0tab1000, d = e / 1e3) : (s = this.JDE0tab2000, d = (e - 2e3) / 1e3), n = s[t][0] + s[t][1] * d + s[t][2] * d * d + s[t][3] * d * d * d + s[t][4] * d * d * d * d, h = (n - 2451545) / 36525, u = 35999.373 * h - 2.47, a = 1 + .0334 * this.dcos(u) + 7e-4 * this.dcos(2 * u), o = 0, i = r = 0; i < 24; i++) o += this.EquinoxpTerms[r] * this.dcos(this.EquinoxpTerms[r + 1] + this.EquinoxpTerms[r + 2] * h), r += 3; return n + 1e-5 * o / a } }, { key: "sunpos", value: function (e) { var t = void 0, a = void 0, i = void 0, r = void 0, n = void 0, s = void 0, o = void 0, h = void 0, u = void 0, d = void 0, l = void 0, c = void 0, y = void 0, f = void 0, v = void 0, m = void 0, p = void 0; return t = (e - this.J2000) / this.JulianCentury, a = t * t, i = 280.46646 + 36000.76983 * t + 3032e-7 * a, i = this.fixangle(i), r = 357.52911 + 35999.05029 * t + -1537e-7 * a, r = this.fixangle(r), n = .016708634 + -42037e-9 * t + -1.267e-7 * a, s = (1.914602 + -.004817 * t + -14e-6 * a) * this.dsin(r) + (.019993 - 101e-6 * t) * this.dsin(2 * r) + 289e-6 * this.dsin(3 * r), o = i + s, h = r + s, u = 1.000001018 * (1 - n * n) / (1 + n * this.dcos(h)), d = 125.04 - 1934.136 * t, l = o + -.00569 + -.00478 * this.dsin(d), y = this.obliqeq(e), c = y + .00256 * this.dcos(d), f = this.rtd(Math.atan2(this.dcos(y) * this.dsin(o), this.dcos(o))), f = this.fixangle(f), v = this.rtd(Math.asin(this.dsin(y) * this.dsin(o))), m = this.rtd(Math.atan2(this.dcos(c) * this.dsin(l), this.dcos(l))), m = this.fixangle(m), p = this.rtd(Math.asin(this.dsin(c) * this.dsin(l))), [i, r, n, s, o, h, u, l, f, v, m, p] } }, { key: "equationOfTime", value: function (e) { var t = void 0, a = void 0, i = void 0, r = void 0, n = void 0, s = void 0; return s = (e - this.J2000) / this.JulianMillennium, n = 280.4664567 + 360007.6982779 * s + .03032028 * s * s + s * s * s / 49931 + -(s * s * s * s) / 15300 + -(s * s * s * s * s) / 2e6, n = this.fixangle(n), t = this.sunpos(e)[10], a = this.nutation(e)[0], r = this.obliqeq(e) + this.nutation(e)[1], i = n + -.0057183 + -t + a * this.dcos(r), i -= 20 * Math.floor(i / 20), i /= 1440 } }]), e }(); e.exports = n }, function (e, t, a) { "use strict"; e.exports = { durationUnit: { year: ["y", "years", "year"], month: ["M", "months", "month"], day: ["d", "days", "day"], hour: ["h", "hours", "hour"], minute: ["m", "minutes", "minute"], second: ["s", "second", "seconds"], millisecond: ["ms", "milliseconds", "millisecond"], week: ["w", "", "weeks", "week"] } } }, function (e, t, a) { "use strict"; function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var r = function () { function e(e, t) { for (var a = 0; a < t.length; a++) { var i = t[a]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } return function (t, a, i) { return a && e(t.prototype, a), i && e(t, i), t } }(), n = a(0), s = (new n).normalizeDuration, o = (new n).absRound, h = (new n).absFloor, u = function () { function e(t, a) { i(this, e); var r = {}, n = this._data = {}, u = 0, d = s(t, a); r[d.unit] = d.value, u = r.milliseconds || r.millisecond || r.ms || 0; var l = r.years || r.year || r.y || 0, c = r.months || r.month || r.M || 0, y = r.weeks || r.w || r.week || 0, f = r.days || r.d || r.day || 0, v = r.hours || r.hour || r.h || 0, m = r.minutes || r.minute || r.m || 0, p = r.seconds || r.second || r.s || 0; return this._milliseconds = u + 1e3 * p + 6e4 * m + 36e5 * v, this._days = f + 7 * y, this._months = c + 12 * l, n.milliseconds = u % 1e3, p += h(u / 1e3), n.seconds = p % 60, m += o(p / 60), n.minutes = m % 60, v += o(m / 60), n.hours = v % 24, f += o(v / 24), f += 7 * y, n.days = f % 30, c += o(f / 30), n.months = c % 12, l += o(c / 12), n.years = l, this } return r(e, [{ key: "valueOf", value: function () { return this._milliseconds + 864e5 * this._days + 2592e6 * this._months } }]), e }(); e.exports = u }, function (e, t, a) { "use strict"; e.exports = { gregorian: { months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], weekdays: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], weekdaysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] }, persian: { months: ["Farvardin", "Ordibehesht", "Khordad", "Tir", "Mordad", "Shahrivar", "Mehr", "Aban", "Azar", "Dey", "Bahman", "Esfand"], monthsShort: ["Far", "Ord", "Kho", "Tir", "Mor", "Sha", "Meh", "Aba", "Aza", "Dey", "Bah", "Esf"], weekdays: ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], weekdaysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], persianDaysName: ["Urmazd", "Bahman", "Ordibehesht", "Shahrivar", "Sepandarmaz", "Khurdad", "Amordad", "Dey-be-azar", "Azar", "Aban", "Khorshid", "Mah", "Tir", "Gush", "Dey-be-mehr", "Mehr", "Sorush", "Rashn", "Farvardin", "Bahram", "Ram", "Bad", "Dey-be-din", "Din", "Ord", "Ashtad", "Asman", "Zamyad", "Mantre-sepand", "Anaram", "Ziadi"] } } }, function (e, t, a) { "use strict"; e.exports = { gregorian: { months: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"), monthsShort: "ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"), weekdays: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"), weekdaysShort: "یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"), weekdaysMin: "ی_د_س_چ_پ_ج_ش".split("_") }, persian: { months: ["فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند"], monthsShort: ["فرو", "ارد", "خرد", "تیر", "مرد", "شهر", "مهر", "آبا", "آذر", "دی", "بهم", "اسف"], weekdays: ["شنبه", "یکشنبه", "دوشنبه", "سه شنبه", "چهار شنبه", "پنج‌شنبه", "جمعه"], weekdaysShort: ["ش", "ی", "د", "س", "چ", "پ", "ج"], weekdaysMin: ["ش", "ی", "د", "س", "چ", "پ", "ج"], persianDaysName: ["اورمزد", "بهمن", "اوردیبهشت", "شهریور", "سپندارمذ", "خورداد", "امرداد", "دی به آذز", "آذز", "آبان", "خورشید", "ماه", "تیر", "گوش", "دی به مهر", "مهر", "سروش", "رشن", "فروردین", "بهرام", "رام", "باد", "دی به دین", "دین", "ارد", "اشتاد", "آسمان", "زامیاد", "مانتره سپند", "انارام", "زیادی"] } } }, function (e, t, a) { "use strict"; var i = a(1); i.calendarType = "persian", i.leapYearMode = "astronomical", i.localType = "fa", e.exports = i }, function (e, t, a) { "use strict"; function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var r = function e() { i(this, e), this.gDate = null, this.modifiedjulianday = 0, this.julianday = 0, this.gregserial = { day: 0 }, this.zone = 0, this.gregorian = { year: 0, month: 0, day: 0, hour: 0, minute: 0, second: 0, millisecond: 0, weekday: 0, unix: 0, leap: 0 }, this.juliancalendar = { year: 0, month: 0, day: 0, leap: 0, weekday: 0 }, this.islamic = { year: 0, month: 0, day: 0, leap: 0, weekday: 0 }, this.persianAlgo = this.persian = { year: 0, month: 0, day: 0, leap: 0, weekday: 0 }, this.persianAstro = { year: 0, month: 0, day: 0, leap: 0, weekday: 0 }, this.isoweek = { year: 0, week: 0, day: 0 }, this.isoday = { year: 0, day: 0 } }; e.exports = r }, function (e, t, a) { "use strict"; e.exports = { isArray: function (e) { return "[object Array]" === Object.prototype.toString.call(e) }, isNumber: function (e) { return "number" == typeof e }, isDate: function (e) { return e instanceof Date } } }]) }); + +/* +** persian-datepicker - v1.1.3 +** Reza Babakhani +** http://babakhani.github.io/PersianWebToolkit/docs/datepicker +** Under WTFPL license +*/ + +!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.persianDatepicker = t() : e.persianDatepicker = t() }(this, function () { + return function (e) { function t(n) { if (i[n]) return i[n].exports; var a = i[n] = { i: n, l: !1, exports: {} }; return e[n].call(a.exports, a, a.exports, t), a.l = !0, a.exports } var i = {}; return t.m = e, t.c = i, t.i = function (e) { return e }, t.d = function (e, i, n) { t.o(e, i) || Object.defineProperty(e, i, { configurable: !1, enumerable: !0, get: n }) }, t.n = function (e) { var i = e && e.__esModule ? function () { return e.default } : function () { return e }; return t.d(i, "a", i), i }, t.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, t.p = "", t(t.s = 5) }([function (e, t, i) { "use strict"; var n = { debounce: function (e, t, i) { var n; return function () { var a = this, o = arguments, s = function () { n = null, i || e.apply(a, o) }, r = i && !n; clearTimeout(n), n = setTimeout(s, t), r && e.apply(a, o) } }, log: function (e) { console.log(e) }, isMobile: function () { var e = !1; return function (t) { (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0, 4))) && (e = !0) }(navigator.userAgent || navigator.vendor || window.opera), e }(), debug: function (e, t) { window.persianDatepickerDebug && (e.constructor.name ? console.log("Debug: " + e.constructor.name + " : " + t) : console.log("Debug: " + t)) }, delay: function (e, t) { clearTimeout(window.datepickerTimer), window.datepickerTimer = setTimeout(e, t) } }; e.exports = n }, function (e, t, i) { "use strict"; e.exports = '\n
\n {{#navigator.enabled}}\n
\n
{{navigator.text.btnNextText}}
\n
{{navigator.switch.text}}
\n
{{navigator.text.btnPrevText}}
\n
\n {{/navigator.enabled}}\n
\n {{#days.enabled}}\n {{#days.viewMode}}\n
\n
\n
\n
\n
\n {{#weekdays.list}}\n
{{.}}
\n {{/weekdays.list}}\n
\n
\n \n \n {{#days.list}}\n \n \n {{#.}}\n {{#enabled}}\n \n {{/enabled}}\n {{^enabled}}\n \n {{/enabled}}\n \n {{/.}}\n \n {{/days.list}}\n \n
\n {{title}}\n {{#altCalendarShowHint}}\n {{alterCalTitle}}\n {{/altCalendarShowHint}}\n \n {{title}}\n {{#altCalendarShowHint}}\n {{alterCalTitle}}\n {{/altCalendarShowHint}}\n
\n
\n
\n {{/days.viewMode}}\n {{/days.enabled}}\n \n {{#month.enabled}}\n {{#month.viewMode}}\n
\n {{#month.list}}\n {{#enabled}} \n
{{title}}
\n {{/enabled}}\n {{^enabled}} \n
{{title}}
\n {{/enabled}}\n {{/month.list}}\n
\n {{/month.viewMode}}\n {{/month.enabled}}\n \n {{#year.enabled }}\n {{#year.viewMode }}\n
\n {{#year.list}}\n {{#enabled}}\n
{{title}}
\n {{/enabled}}\n {{^enabled}}\n
{{title}}
\n {{/enabled}} \n {{/year.list}}\n
\n {{/year.viewMode }}\n {{/year.enabled }}\n \n
\n {{#time}}\n {{#enabled}}\n
\n {{#hour.enabled}}\n
\n
\n \n
\n
\n
\n :\n
\n {{/hour.enabled}}\n {{#minute.enabled}}\n
\n
\n \n
\n
\n
\n :\n
\n {{/minute.enabled}}\n {{#second.enabled}}\n
\n
\n \n
\n
\n
\n
\n {{/second.enabled}}\n {{#meridian.enabled}}\n
\n
\n \n
\n
\n {{/meridian.enabled}}\n
\n {{/enabled}}\n {{/time}}\n \n {{#toolbox}}\n {{#enabled}}\n
\n {{#toolbox.submitButton.enabled}}\n
{{submitButtonText}}
\n {{/toolbox.submitButton.enabled}} \n {{#toolbox.todayButton.enabled}}\n
{{todayButtonText}}
\n {{/toolbox.todayButton.enabled}} \n {{#toolbox.calendarSwitch.enabled}}\n
{{calendarSwitchText}}
\n {{/toolbox.calendarSwitch.enabled}}\n
\n {{/enabled}}\n {{^enabled}}\n {{#onlyTimePicker}}\n
\n
{{submitButtonText}}
\n
\n {{/onlyTimePicker}}\n {{/enabled}}\n {{/toolbox}}\n
\n' }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = i(11), s = i(12), r = i(13), l = i(6), d = i(3), c = i(7), u = i(8), h = i(10), m = function () { function e(t, i) { return n(this, e), this.components(t, i) } return a(e, [{ key: "components", value: function (e, t) { return this.initialUnix = null, this.inputElement = e, this.options = new u(t, this), this.PersianDate = new h(this), this.state = new o(this), this.api = new d(this), this.input = new l(this, e), this.view = new r(this), this.toolbox = new s(this), this.updateInput = function (e) { this.input.update(e) }, this.state.setViewDateTime("unix", this.input.getOnInitState()), this.state.setSelectedDateTime("unix", this.input.getOnInitState()), this.view.render(), this.navigator = new c(this), this.api } }]), e }(); e.exports = m }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = function () { function e(t) { n(this, e), this.model = t } return a(e, [{ key: "show", value: function () { return this.model.view.show(), this.model.options.onShow(this.model), this.model } }, { key: "getState", value: function () { return this.model.state } }, { key: "hide", value: function () { return this.model.view.hide(), this.model.options.onHide(this.model), this.model } }, { key: "toggle", value: function () { return this.model.view.toggle(), this.model.options.onToggle(this.model), this.model } }, { key: "destroy", value: function () { this.model && (this.model.view.destroy(), this.model.options.onDestroy(this.model), delete this.model) } }, { key: "setDate", value: function (e) { return this.model.state.setSelectedDateTime("unix", e), this.model.state.setViewDateTime("unix", e), this.model.state.setSelectedDateTime("unix", e), this.model.view.render(this.view), this.model.options.onSet(e), this.model } }, { key: "options", get: function () { return this.model.options }, set: function (e) { var t = $.extend(!0, this.model.options, e); this.model.view.destroy(), this.model.components(this.model.inputElement, t) } }]), e }(); e.exports = o }, function (e, t, i) { "use strict"; var n = i(0), a = { calendarType: "persian", calendar: { persian: { locale: "fa", showHint: !1, leapYearMode: "algorithmic" }, gregorian: { locale: "en", showHint: !1 } }, responsive: !0, inline: !1, initialValue: !0, initialValueType: "gregorian", persianDigit: !0, viewMode: "day", format: "LLLL", formatter: function (e) { var t = this; return this.model.PersianDate.date(e).format(t.format) }, altField: !1, altFormat: "unix", altFieldFormatter: function (e) { var t = this, i = t.altFormat.toLowerCase(), n = void 0; return "gregorian" === i || "g" === i ? new Date(e) : "unix" === i || "u" === i ? e : (n = this.model.PersianDate.date(e), n.format(t.altFormat)) }, minDate: null, maxDate: null, navigator: { enabled: !0, scroll: { enabled: !0 }, text: { btnNextText: "<", btnPrevText: ">" }, onNext: function (e) { n.debug(e, "Event: onNext") }, onPrev: function (e) { n.debug(e, "Event: onPrev") }, onSwitch: function (e) { n.debug(e, "dayPicker Event: onSwitch") } }, toolbox: { enabled: !0, text: { btnToday: "امروز" }, submitButton: { enabled: n.isMobile, text: { fa: "تایید", en: "submit" }, onSubmit: function (e) { n.debug(e, "dayPicker Event: onSubmit") } }, todayButton: { enabled: !0, text: { fa: "امروز", en: "today" }, onToday: function (e) { n.debug(e, "dayPicker Event: onToday") } }, calendarSwitch: { enabled: !0, format: "MMMM", onSwitch: function (e) { n.debug(e, "dayPicker Event: onSwitch") } }, onToday: function (e) { n.debug(e, "dayPicker Event: onToday") } }, onlyTimePicker: !1, onlySelectOnDate: !0, checkDate: function () { return !0 }, checkMonth: function () { return !0 }, checkYear: function () { return !0 }, timePicker: { enabled: !1, step: 1, hour: { enabled: !0, step: null }, minute: { enabled: !0, step: null }, second: { enabled: !0, step: null }, meridian: { enabled: !1 } }, dayPicker: { enabled: !0, titleFormat: "YYYY MMMM", titleFormatter: function (e, t) { return this.model.PersianDate.date([e, t]).format(this.model.options.dayPicker.titleFormat) }, onSelect: function (e) { n.debug(this, "dayPicker Event: onSelect : " + e) } }, monthPicker: { enabled: !0, titleFormat: "YYYY", titleFormatter: function (e) { return this.model.PersianDate.date(e).format(this.model.options.monthPicker.titleFormat) }, onSelect: function (e) { n.debug(this, "monthPicker Event: onSelect : " + e) } }, yearPicker: { enabled: !0, titleFormat: "YYYY", titleFormatter: function (e) { var t = 12 * parseInt(e / 12, 10), i = this.model.PersianDate.date([t]), n = this.model.PersianDate.date([t + 11]); return i.format(this.model.options.yearPicker.titleFormat) + "-" + n.format(this.model.options.yearPicker.titleFormat) }, onSelect: function (e) { n.debug(this, "yearPicker Event: onSelect : " + e) } }, onSelect: function (e) { n.debug(this, "datepicker Event: onSelect : " + e) }, onSet: function (e) { n.debug(this, "datepicker Event: onSet : " + e) }, position: "auto", onShow: function (e) { n.debug(e, "Event: onShow ") }, onHide: function (e) { n.debug(e, "Event: onHide ") }, onToggle: function (e) { n.debug(e, "Event: onToggle ") }, onDestroy: function (e) { n.debug(e, "Event: onDestroy ") }, autoClose: !1, template: null, observer: !1, inputDelay: 800 }; e.exports = a }, function (e, t, i) { "use strict"; var n = i(2); !function (e) { e.fn.persianDatepicker = e.fn.pDatepicker = function (t) { var i = Array.prototype.slice.call(arguments), a = null, o = this; return this || e.error("Invalid selector"), e(this).each(function () { var s = [], r = i.concat(s), l = e(this).data("datepicker"), d = null; l && "string" == typeof r[0] ? (d = r[0], a = l[d](r[0])) : o.pDatePicker = new n(this, t) }), e(this).data("datepicker", o.pDatePicker), o.pDatePicker } }(jQuery) }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = i(0), s = i(9), r = function () { function e(t, i) { return n(this, e), this.model = t, this._firstUpdate = !0, this.elem = i, this.model.options.observer && this.observe(), this.addInitialClass(), this.initialUnix = null, 0 == this.model.options.inline && this._attachInputElementEvents(), this } return a(e, [{ key: "addInitialClass", value: function () { $(this.elem).addClass("pwt-datepicker-input-element") } }, { key: "parseInput", value: function (e) { var t = new s, i = this; if (void 0 !== t.parse(e)) { var n = this.model.PersianDate.date(t.parse(e)).valueOf(); i.model.state.setSelectedDateTime("unix", n), i.model.state.setViewDateTime("unix", n), i.model.view.render() } } }, { key: "observe", value: function () { function e(e) { t.parseInput(e.val()) } var t = this; $(t.elem).bind("paste", function (e) { o.delay(function () { t.parseInput(e.target.value) }, 60) }); var i = void 0, n = t.model.options.inputDelay, a = !1, s = [17, 91]; $(document).keydown(function (e) { $.inArray(e.keyCode, s) > 0 && (a = !0) }).keyup(function (e) { $.inArray(e.keyCode, s) > 0 && (a = !1) }), $(t.elem).bind("keyup", function (t) { var o = $(this), r = !1; (8 === t.keyCode || t.keyCode < 105 && t.keyCode > 96 || t.keyCode < 58 && t.keyCode > 47 || a && (86 == t.keyCode || $.inArray(t.keyCode, s) > 0)) && (r = !0), r && (clearTimeout(i), i = setTimeout(function () { e(o) }, n)) }), $(t.elem).on("keydown", function () { clearTimeout(i) }) } }, { key: "_attachInputElementEvents", value: function () { var e = this, t = function t(i) { $(i.target).is(e.elem) || $(i.target).is(e.model.view.$container) || 0 != $(i.target).closest("#" + e.model.view.$container.attr("id")).length || $(i.target).is($(e.elem).children()) || (e.model.api.hide(), $("body").unbind("click", t)) }; $(this.elem).on("focus click", o.debounce(function (i) { return e.model.api.show(), !1 === e.model.state.ui.isInline && $("body").unbind("click", t).bind("click", t), o.isMobile && $(this).blur(), i.stopPropagation(), !1 }, 200)) } }, { key: "getInputPosition", value: function () { return $(this.elem).offset() } }, { key: "getInputSize", value: function () { return { width: $(this.elem).outerWidth(), height: $(this.elem).outerHeight() } } }, { key: "_updateAltField", value: function (e) { var t = this.model.options.altFieldFormatter(e); $(this.model.options.altField).val(t) } }, { key: "_updateInputField", value: function (e) { var t = this.model.options.formatter(e); $(this.elem).val() != t && $(this.elem).val(t) } }, { key: "update", value: function (e) { 0 == this.model.options.initialValue && this._firstUpdate ? this._firstUpdate = !1 : (this._updateInputField(e), this._updateAltField(e)) } }, { key: "getOnInitState", value: function () { var e = null, t = $(this.elem), i = void 0; if ((i = "INPUT" === t[0].nodeName ? t[0].getAttribute("value") : t.data("date")) && i.match("^([0-1][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?$")) { var n = i.split(":"), a = new Date; a.setHours(n[0]), a.setMinutes(n[1]), n[2] ? a.setSeconds(n[2]) : a.setSeconds(0), this.initialUnix = a.valueOf() } else { if ("persian" === this.model.options.initialValueType && i) { var o = new s, r = new persianDate(o.parse(i)).valueOf(); e = new Date(r).valueOf() } else i && (e = new Date(i).valueOf()); this.initialUnix = e && "undefined" != e ? e : (new Date).valueOf() } return this.initialUnix } }]), e }(); e.exports = r }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = i(14), s = function () { function e(t) { return n(this, e), this.model = t, this.liveAttach(), this._attachEvents(), this } return a(e, [{ key: "liveAttach", value: function () { if (this.model.options.navigator.scroll.enabled) { var e = this, t = $("#" + e.model.view.id + " .datepicker-grid-view")[0]; o(t).wheel(function (t, i) { i > 0 ? e.model.state.navigate("next") : e.model.state.navigate("prev"), e.model.view.render(), t.preventDefault() }), this.model.options.timePicker.enabled && $("#" + e.model.view.id + " .time-segment").each(function () { o(this).wheel(function (t, i) { var n = $(t.target), a = n.data("time-key") ? n.data("time-key") : n.parents("[data-time-key]").data("time-key"); a && (i > 0 ? e.timeUp(a) : e.timeDown(a)), e.model.view.render(), t.preventDefault() }) }) } } }, { key: "timeUp", value: function (e) { if (void 0 != this.model.options.timePicker[e]) { var t = void 0, i = void 0, n = this; "meridian" == e ? (t = 12, i = "PM" == this.model.state.view.meridian ? this.model.PersianDate.date(this.model.state.selected.unixDate).add("hour", t).valueOf() : this.model.PersianDate.date(this.model.state.selected.unixDate).subtract("hour", t).valueOf(), this.model.state.meridianToggle()) : (t = this.model.options.timePicker[e].step, i = this.model.PersianDate.date(this.model.state.selected.unixDate).add(e, t).valueOf()), this.model.state.setViewDateTime("unix", i), this.model.state.setSelectedDateTime("unix", i), this.model.view.renderTimePartial(), clearTimeout(this.scrollDelayTimeDown), this.scrollDelayTimeUp = setTimeout(function () { n.model.view.markSelectedDay() }, 300) } } }, { key: "timeDown", value: function (e) { if (void 0 != this.model.options.timePicker[e]) { var t = void 0, i = void 0, n = this; "meridian" == e ? (t = 12, i = "AM" == this.model.state.view.meridian ? this.model.PersianDate.date(this.model.state.selected.unixDate).add("hour", t).valueOf() : this.model.PersianDate.date(this.model.state.selected.unixDate).subtract("hour", t).valueOf(), this.model.state.meridianToggle()) : (t = this.model.options.timePicker[e].step, i = this.model.PersianDate.date(this.model.state.selected.unixDate).subtract(e, t).valueOf()), this.model.state.setViewDateTime("unix", i), this.model.state.setSelectedDateTime("unix", i), this.model.view.renderTimePartial(), clearTimeout(this.scrollDelayTimeDown), this.scrollDelayTimeDown = setTimeout(function () { n.model.view.markSelectedDay() }, 300) } } }, { key: "_attachEvents", value: function () { var e = this; this.model.options.navigator.enabled && $(document).on("click", "#" + e.model.view.id + " .pwt-btn", function () { $(this).is(".pwt-btn-next") ? (e.model.state.navigate("next"), e.model.view.render(), e.model.options.navigator.onNext(e.model)) : $(this).is(".pwt-btn-switch") ? (e.model.state.switchViewMode(), e.model.view.render(), e.model.options.navigator.onSwitch(e.model)) : $(this).is(".pwt-btn-prev") && (e.model.state.navigate("prev"), e.model.view.render(), e.model.options.navigator.onPrev(e.model)) }), this.model.options.timePicker.enabled && ($(document).on("click", "#" + e.model.view.id + " .up-btn", function () { var t = $(this).data("time-key"); e.timeUp(t), e.model.options.onSelect(e.model.state.selected.unix) }), $(document).on("click", "#" + e.model.view.id + " .down-btn", function () { var t = $(this).data("time-key"); e.timeDown(t), e.model.options.onSelect(e.model.state.selected.unix) })), this.model.options.dayPicker.enabled && $(document).on("click", "#" + e.model.view.id + " .datepicker-day-view td:not(.disabled)", function () { var t = $(this).data("unix"), i = void 0; e.model.state.setSelectedDateTime("unix", t), i = e.model.state.selected.month !== e.model.state.view.month, e.model.state.setViewDateTime("unix", e.model.state.selected.unixDate), e.model.options.autoClose && (e.model.view.hide(), e.model.options.onHide(e)), i ? e.model.view.render() : e.model.view.markSelectedDay(), e.model.options.dayPicker.onSelect(t), e.model.options.onSelect(t) }), this.model.options.monthPicker.enabled && $(document).on("click", "#" + e.model.view.id + " .datepicker-month-view .month-item:not(.month-item-disable)", function () { var t = $(this).data("month"); e.model.state.switchViewModeTo("day"), e.model.options.onlySelectOnDate || (e.model.state.setSelectedDateTime("month", t), e.model.options.autoClose && (e.model.view.hide(), e.model.options.onHide(e))), e.model.state.setViewDateTime("month", t), e.model.view.render(), e.model.options.monthPicker.onSelect(t), e.model.options.onSelect(e.model.state.selected.unix) }), this.model.options.yearPicker.enabled && $(document).on("click", "#" + e.model.view.id + " .datepicker-year-view .year-item:not(.year-item-disable)", function () { var t = $(this).data("year"); e.model.state.switchViewModeTo("month"), e.model.options.onlySelectOnDate || (e.model.state.setSelectedDateTime("year", t), e.model.options.autoClose && (e.model.view.hide(), e.model.options.onHide(e))), e.model.state.setViewDateTime("year", t), e.model.view.render(), e.model.options.yearPicker.onSelect(t), e.model.options.onSelect(e.model.state.selected.unix) }) } }]), e }(); e.exports = s }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = i(4), s = i(1), r = function () { function e(t, i) { return n(this, e), this.model = i, this._compatibility($.extend(!0, this, o, t)) } return a(e, [{ key: "_compatibility", value: function (e) { e.inline && (e.toolbox.submitButton.enabled = !1), e.template || (e.template = s), persianDate.toCalendar(e.calendarType), persianDate.toLocale(e.calendar[e.calendarType].locale), e.onlyTimePicker && (e.dayPicker.enabled = !1, e.monthPicker.enabled = !1, e.yearPicker.enabled = !1, e.navigator.enabled = !1, e.toolbox.enabled = !1, e.timePicker.enabled = !0), null === e.timePicker.hour.step && (e.timePicker.hour.step = e.timePicker.step), null === e.timePicker.minute.step && (e.timePicker.minute.step = e.timePicker.step), null === e.timePicker.second.step && (e.timePicker.second.step = e.timePicker.step), !1 === e.dayPicker.enabled && (e.onlySelectOnDate = !1), e._viewModeList = [], e.dayPicker.enabled && e._viewModeList.push("day"), e.monthPicker.enabled && e._viewModeList.push("month"), e.yearPicker.enabled && e._viewModeList.push("year") } }]), e }(); e.exports = r }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = function () { function e() { n(this, e), this.pattern = { jalali: /^[1-4]\d{3}(\/|-|\.)((0?[1-6](\/|-|\.)((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))(\/|-|\.)(30|([1-2][0-9])|(0?[1-9]))))$/g } } return a(e, [{ key: "parse", value: function (e) { var t = this, i = new RegExp(t.pattern.jalali); return String.prototype.toEnglishDigits = function () { var e = "۰".charCodeAt(0); return this.replace(/[۰-۹]/g, function (t) { return t.charCodeAt(0) - e }) }, e = e.toEnglishDigits(), i.test(e) ? e.split(/\/|-|\,|\./).map(Number) : void 0 } }]), e }(); e.exports = o }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = function () { function e(t) { return n(this, e), this.model = t, this.model.options.calendar_ = this.model.options.calendarType, this.model.options.locale_ = this.model.options.calendar[this.model.options.calendarType].locale, this } return a(e, [{ key: "date", value: function (e) { window.inspdCount || 0 === window.inspdCount ? window.inspdCount++ : window.inspdCount = 0; var t = this, i = void 0, n = void 0; return n = persianDate.toCalendar(t.model.options.calendar_), this.model.options.calendar[this.model.options.calendarType].leapYearMode && n.toLeapYearMode(this.model.options.calendar[this.model.options.calendarType].leapYearMode), i = new n(e), i.toLocale(t.model.options.locale_) } }]), e }(); e.exports = o }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = function () { function e(t) { return n(this, e), this.model = t, this.filetredDate = this.model.options.minDate || this.model.options.maxDate, this.viewModeList = this.model.options._viewModeList, this.viewMode = this.viewModeList.indexOf(t.options.viewMode) > 0 ? t.options.viewMode : this.viewModeList[0], this.viewModeIndex = this.viewModeList.indexOf(t.options.viewMode) > 0 ? this.viewModeList.indexOf(t.options.viewMode) : 0, this.filterDate = { start: { year: 0, month: 0, date: 0, hour: 0, minute: 0, second: 0, unixDate: 0 }, end: { year: 0, month: 0, date: 0, hour: 0, minute: 0, second: 0, unixDate: 0 } }, this.view = { year: 0, month: 0, date: 0, hour: 0, minute: 0, second: 0, unixDate: 0, dateObject: null, meridian: "AM" }, this.selected = { year: 0, month: 0, date: 0, hour: 0, hour12: 0, minute: 0, second: 0, unixDate: 0, dateObject: null }, this.ui = { isOpen: !1, isInline: this.model.options.inline }, this._setFilterDate(this.model.options.minDate, this.model.options.maxDate), this } return a(e, [{ key: "_setFilterDate", value: function (e, t) { var i = this; e || (e = -2e15), t || (t = 2e15); var n = i.model.PersianDate.date(e); i.filterDate.start.unixDate = e, i.filterDate.start.hour = n.hour(), i.filterDate.start.minute = n.minute(), i.filterDate.start.second = n.second(), i.filterDate.start.month = n.month(), i.filterDate.start.date = n.date(), i.filterDate.start.year = n.year(); var a = i.model.PersianDate.date(t); i.filterDate.end.unixDate = t, i.filterDate.end.hour = a.hour(), i.filterDate.end.minute = a.minute(), i.filterDate.end.second = a.second(), i.filterDate.end.month = a.month(), i.filterDate.end.date = a.date(), i.filterDate.end.year = a.year() } }, { key: "navigate", value: function (e) { if ("next" == e) { if ("year" == this.viewMode && this.setViewDateTime("year", this.view.year + 12), "month" == this.viewMode) { var t = this.view.year + 1; 0 === t && (t = 1), this.setViewDateTime("year", t) } if ("day" == this.viewMode) { var i = this.view.year + 1; 0 === i && (i = 1), this.view.month + 1 == 13 ? (this.setViewDateTime("year", i), this.setViewDateTime("month", 1)) : this.setViewDateTime("month", this.view.month + 1) } } else { if ("year" == this.viewMode && this.setViewDateTime("year", this.view.year - 12), "month" == this.viewMode) { var n = this.view.year - 1; 0 === n && (n = -1), this.setViewDateTime("year", n) } if ("day" == this.viewMode) if (this.view.month - 1 <= 0) { var a = this.view.year - 1; 0 === a && (a = -1), this.setViewDateTime("year", a), this.setViewDateTime("month", 12) } else this.setViewDateTime("month", this.view.month - 1) } } }, { key: "switchViewMode", value: function () { return this.viewModeIndex = this.viewModeIndex + 1 >= this.viewModeList.length ? 0 : this.viewModeIndex + 1, this.viewMode = this.viewModeList[this.viewModeIndex] ? this.viewModeList[this.viewModeIndex] : this.viewModeList[0], this._setViewDateTimeUnix(), this } }, { key: "switchViewModeTo", value: function (e) { this.viewModeList.indexOf(e) >= 0 && (this.viewMode = e, this.viewModeIndex = this.viewModeList.indexOf(e)) } }, { key: "setSelectedDateTime", value: function (e, t) { var i = this; switch (e) { case "unix": i.selected.unixDate = t; var n = this.model.PersianDate.date(t); i.selected.year = n.year(), i.selected.month = n.month(), i.selected.date = n.date(), i.selected.hour = n.hour(), i.selected.hour12 = n.format("hh"), i.selected.minute = n.minute(), i.selected.second = n.second(); break; case "year": this.selected.year = t; break; case "month": this.selected.month = t; break; case "date": this.selected.date = t; break; case "hour": this.selected.hour = t; break; case "minute": this.selected.minute = t; break; case "second": this.selected.second = t } return i._updateSelectedUnix(), this } }, { key: "_updateSelectedUnix", value: function () { return this.selected.dateObject = this.model.PersianDate.date([this.selected.year, this.selected.month, this.selected.date, this.view.hour, this.view.minute, this.view.second]), this.selected.unixDate = this.selected.dateObject.valueOf(), this.model.updateInput(this.selected.unixDate), this } }, { key: "_setViewDateTimeUnix", value: function () { return this.view.dateObject = this.model.PersianDate.date([this.view.year, this.view.month, this.view.date, this.view.hour, this.view.minute, this.view.second]), this.view.year = this.view.dateObject.year(), this.view.month = this.view.dateObject.month(), this.view.date = this.view.dateObject.date(), this.view.hour = this.view.dateObject.hour(), this.view.hour12 = this.view.dateObject.format("hh"), this.view.minute = this.view.dateObject.minute(), this.view.second = this.view.dateObject.second(), this.view.unixDate = this.view.dateObject.valueOf(), this } }, { key: "setViewDateTime", value: function (e, t) { var i = this; switch (e) { case "unix": var n = this.model.PersianDate.date(t); i.view.year = n.year(), i.view.month = n.month(), i.view.date = n.date(), i.view.hour = n.hour(), i.view.minute = n.minute(), i.view.second = n.second(); break; case "year": this.view.year = t; break; case "month": this.view.month = t; break; case "date": this.view.date = t; break; case "hour": this.view.hour = t; break; case "minute": this.view.minute = t; break; case "second": this.view.second = t } return this._setViewDateTimeUnix(), this } }, { key: "meridianToggle", value: function () { var e = this; "AM" === e.view.meridian ? e.view.meridian = "PM" : "PM" === e.view.meridian && (e.view.meridian = "AM") } }]), e }(); e.exports = o }, function (e, t, i) { "use strict"; function n(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var a = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), o = function () { function e(t) { return n(this, e), this.model = t, this._attachEvents(), this } return a(e, [{ key: "_toggleCalendartype", value: function () { var e = this; "persian" == e.model.options.calendar_ ? (e.model.options.calendar_ = "gregorian", e.model.options.locale_ = this.model.options.calendar.gregorian.locale) : (e.model.options.calendar_ = "persian", e.model.options.locale_ = this.model.options.calendar.persian.locale) } }, { key: "_attachEvents", value: function () { var e = this; $(document).on("click", "#" + e.model.view.id + " .pwt-btn-today", function () { e.model.state.setSelectedDateTime("unix", (new Date).valueOf()), e.model.state.setViewDateTime("unix", (new Date).valueOf()), e.model.view.reRender(), e.model.options.toolbox.onToday(e.model), e.model.options.toolbox.todayButton.onToday(e.model) }), $(document).on("click", "#" + e.model.view.id + " .pwt-btn-calendar", function () { e._toggleCalendartype(), e.model.state.setSelectedDateTime("unix", e.model.state.selected.unixDate), e.model.state.setViewDateTime("unix", e.model.state.view.unixDate), e.model.view.render(), e.model.options.toolbox.calendarSwitch.onSwitch(e.model) }), $(document).on("click", "#" + e.model.view.id + " .pwt-btn-submit", function () { e.model.view.hide(), e.model.options.toolbox.submitButton.onSubmit(e.model), e.model.options.onHide(this) }) } }]), e }(); e.exports = o }, function (e, t, i) { "use strict"; function n(e) { if (Array.isArray(e)) { for (var t = 0, i = Array(e.length) ; t < e.length; t++) i[t] = e[t]; return i } return Array.from(e) } function a(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } var o = function () { function e(e, t) { var i = [], n = !0, a = !1, o = void 0; try { for (var s, r = e[Symbol.iterator]() ; !(n = (s = r.next()).done) && (i.push(s.value), !t || i.length !== t) ; n = !0); } catch (e) { a = !0, o = e } finally { try { !n && r.return && r.return() } finally { if (a) throw o } } return i } return function (t, i) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return e(t, i); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), s = function () { function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } } return function (t, i, n) { return i && e(t.prototype, i), n && e(t, n), t } }(), r = i(1), l = i(0), d = i(15), c = function () { function e(t) { a(this, e), this.yearsViewCount = 12, this.model = t, this.rendered = null, this.$container = null, this.id = "persianDateInstance-" + parseInt(1e3 * Math.random(100)); var i = this; return this.model.state.ui.isInline ? this.$container = $('
').appendTo(i.model.inputElement) : (this.$container = $('
').appendTo("body"), this.hide(), this.setPickerBoxPosition(), this.addCompatibilityClass()), this } return s(e, [{ key: "addCompatibilityClass", value: function () { l.isMobile && this.model.options.responsive && this.$container.addClass("pwt-mobile-view") } }, { key: "destroy", value: function () { this.$container.remove() } }, { key: "setPickerBoxPosition", value: function () { var e = this.model.input.getInputPosition(), t = this.model.input.getInputSize(); if (l.isMobile && this.model.options.responsive) return !1; "auto" === this.model.options.position ? this.$container.css({ left: e.left + "px", top: t.height + e.top + "px" }) : this.$container.css({ left: this.model.options.position[1] + e.left + "px", top: this.model.options.position[0] + e.top + "px" }) } }, { key: "show", value: function () { this.$container.removeClass("pwt-hide"), this.setPickerBoxPosition() } }, { key: "hide", value: function () { this.$container.addClass("pwt-hide") } }, { key: "toggle", value: function () { this.$container.toggleClass("pwt-hide") } }, { key: "_getNavSwitchText", value: function (e) { var t = void 0; return "day" == this.model.state.viewMode ? t = this.model.options.dayPicker.titleFormatter.call(this, e.year, e.month) : "month" == this.model.state.viewMode ? t = this.model.options.monthPicker.titleFormatter.call(this, e.dateObject.valueOf()) : "year" == this.model.state.viewMode && (t = this.model.options.yearPicker.titleFormatter.call(this, e.year)), t } }, { key: "checkYearAccess", value: function (e) { if (this.model.state.filetredDate) { var t = this.model.state.filterDate.start.year, i = this.model.state.filterDate.end.year; if (t && e < t) return !1; if (i && e > i) return !1 } return this.model.options.checkYear(e) } }, { key: "_getYearViewModel", value: function (e) { var t = this, i = this.model.options.yearPicker.enabled; if (!i) return { enabled: !1 }; var a = [].concat(n(Array(this.yearsViewCount).keys())).map(function (i) { return i + parseInt(e.year / t.yearsViewCount) * t.yearsViewCount }), o = [], s = this.model.PersianDate.date(), r = !0, l = !1, d = void 0; try { for (var c, u = a[Symbol.iterator]() ; !(r = (c = u.next()).done) ; r = !0) { var h = c.value; s.year([h]), o.push({ title: s.format("YYYY"), enabled: this.checkYearAccess(h), dataYear: h, selected: this.model.state.selected.year == h }) } } catch (e) { l = !0, d = e } finally { try { !r && u.return && u.return() } finally { if (l) throw d } } return { enabled: i, viewMode: "year" == this.model.state.viewMode, list: o } } }, { key: "checkMonthAccess", value: function (e) { e += 1; var t = this.model.state.view.year; if (this.model.state.filetredDate) { var i = this.model.state.filterDate.start.month, n = this.model.state.filterDate.end.month, a = this.model.state.filterDate.start.year, o = this.model.state.filterDate.end.year; if (i && n && (t == o && e > n || t > o) || t == a && e < i || t < a) return !1; if (n && (t == o && e > n || t > o)) return !1; if (i && (t == a && e < i || t < a)) return !1 } return this.model.options.checkMonth(e, t) } }, { key: "_getMonthViewModel", value: function () { var e = this.model.options.monthPicker.enabled; if (!e) return { enabled: !1 }; var t = [], i = this, n = !0, a = !1, s = void 0; try { for (var r, l = i.model.PersianDate.date().rangeName().months.entries()[Symbol.iterator]() ; !(n = (r = l.next()).done) ; n = !0) { var d = o(r.value, 2), c = d[0], u = d[1]; t.push({ title: u, enabled: this.checkMonthAccess(c), year: this.model.state.view.year, dataMonth: c + 1, selected: this.model.state.selected.year == this.model.state.view.year && this.model.state.selected.month == c + 1 }) } } catch (e) { a = !0, s = e } finally { try { !n && l.return && l.return() } finally { if (a) throw s } } return { enabled: e, viewMode: "month" == this.model.state.viewMode, list: t } } }, { key: "checkDayAccess", value: function (e) { var t = this; if (t.minDate = this.model.options.minDate, t.maxDate = this.model.options.maxDate, t.model.state.filetredDate) if (t.minDate && t.maxDate) { if (t.minDate = t.model.PersianDate.date(t.minDate).startOf("day").valueOf(), t.maxDate = t.model.PersianDate.date(t.maxDate).endOf("day").valueOf(), !(e >= t.minDate && e <= t.maxDate)) return !1 } else if (t.minDate) { if (t.minDate = t.model.PersianDate.date(t.minDate).startOf("day").valueOf(), e <= t.minDate) return !1 } else if (t.maxDate && (t.maxDate = t.model.PersianDate.date(t.maxDate).endOf("day").valueOf(), e >= t.maxDate)) return !1; return t.model.options.checkDate(e) } }, { key: "_getDayViewModel", value: function () { if ("day" != this.model.state.viewMode) return []; var e = this.model.options.dayPicker.enabled; if (!e) return { enabled: !1 }; var t = this.model.state.view.month, i = this.model.state.view.year, n = this.model.PersianDate.date(), a = n.daysInMonth(i, t), s = n.getFirstWeekDayOfMonth(i, t) - 1, r = [], l = 0, d = 0, c = [["null", "null", "null", "null", "null", "null", "null"], ["null", "null", "null", "null", "null", "null", "null"], ["null", "null", "null", "null", "null", "null", "null"], ["null", "null", "null", "null", "null", "null", "null"], ["null", "null", "null", "null", "null", "null", "null"], ["null", "null", "null", "null", "null", "null", "null"]], u = this._getAnotherCalendar(), h = this.model.PersianDate.date(), m = !0, v = !1, p = void 0; try { for (var f, w = c.entries()[Symbol.iterator]() ; !(m = (f = w.next()).done) ; m = !0) { var y = o(f.value, 2), b = y[0], k = y[1]; r[b] = []; var g = !0, x = !1, D = void 0; try { for (var P, T = k.entries()[Symbol.iterator]() ; !(g = (P = T.next()).done) ; g = !0) { var M = o(P.value, 1), S = M[0], O = void 0, E = void 0; 0 === b && S < s ? (O = h.unix(this.model.state.view.dateObject.startOf("month").valueOf() / 1e3).subtract("days", s - S), E = !0) : 0 === b && S >= s || b <= 5 && l < a ? (l += 1, O = h.year(this.model.state.view.year).month(this.model.state.view.month).date(l), E = !1) : (d += 1, O = h.unix(this.model.state.view.dateObject.endOf("month").valueOf() / 1e3).add("days", d), E = !0), r[b].push({ title: O.format("D"), alterCalTitle: new persianDate(O.valueOf()).toCalendar(u[0]).toLocale(u[1]).format("D"), dataDate: [O.year(), O.month(), O.date()].join(","), dataUnix: O.valueOf(), otherMonth: E, enabled: this.checkDayAccess(O.valueOf()) }) } } catch (e) { x = !0, D = e } finally { try { !g && T.return && T.return() } finally { if (x) throw D } } } } catch (e) { v = !0, p = e } finally { try { !m && w.return && w.return() } finally { if (v) throw p } } return { enabled: e, viewMode: "day" == this.model.state.viewMode, list: r } } }, { key: "markSelectedDay", value: function () { var e = this.model.state.selected; this.$container.find(".table-days td").each(function () { $(this).data("date") == [e.year, e.month, e.date].join(",") ? $(this).addClass("selected") : $(this).removeClass("selected") }) } }, { key: "markToday", value: function () { var e = new persianDate; this.$container.find(".table-days td").each(function () { $(this).data("date") == [e.year(), e.month(), e.date()].join(",") ? $(this).addClass("today") : $(this).removeClass("today") }) } }, { key: "_getTimeViewModel", value: function () { var e = this.model.options.timePicker.enabled; if (!e) return { enabled: !1 }; var t = void 0; return t = this.model.options.timePicker.meridian.enabled ? this.model.state.view.dateObject.format("hh") : this.model.state.view.dateObject.format("HH"), { enabled: e, hour: { title: t, enabled: this.model.options.timePicker.hour.enabled }, minute: { title: this.model.state.view.dateObject.format("mm"), enabled: this.model.options.timePicker.minute.enabled }, second: { title: this.model.state.view.dateObject.format("ss"), enabled: this.model.options.timePicker.second.enabled }, meridian: { title: this.model.state.view.dateObject.format("a"), enabled: this.model.options.timePicker.meridian.enabled } } } }, { key: "_getWeekViewModel", value: function () { return { enabled: !0, list: this.model.PersianDate.date().rangeName().weekdaysMin } } }, { key: "getCssClass", value: function () { return [this.model.state.ui.isInline ? "datepicker-plot-area-inline-view" : "", this.model.options.timePicker.meridian.enabled ? "" : "datepicker-state-no-meridian", this.model.options.onlyTimePicker ? "datepicker-state-only-time" : "", this.model.options.timePicker.second.enabled ? "" : "datepicker-state-no-second", "gregorian" == this.model.options.calendar_ ? "datepicker-gregorian" : "datepicker-persian"].join(" ") } }, { key: "getViewModel", value: function (e) { var t = this._getAnotherCalendar(); return { plotId: "", navigator: { enabled: this.model.options.navigator.enabled, switch: { enabled: !0, text: this._getNavSwitchText(e) }, text: this.model.options.navigator.text }, selected: this.model.state.selected, time: this._getTimeViewModel(e), days: this._getDayViewModel(e), weekdays: this._getWeekViewModel(e), month: this._getMonthViewModel(e), year: this._getYearViewModel(e), toolbox: this.model.options.toolbox, cssClass: this.getCssClass(), onlyTimePicker: this.model.options.onlyTimePicker, altCalendarShowHint: this.model.options.calendar[t[0]].showHint, calendarSwitchText: this.model.state.view.dateObject.toCalendar(t[0]).toLocale(t[1]).format(this.model.options.toolbox.calendarSwitch.format), todayButtonText: this._getButtonText().todayButtontext, submitButtonText: this._getButtonText().submitButtonText } } }, { key: "_getButtonText", value: function () { var e = {}; return "fa" == this.model.options.locale_ ? (e.todayButtontext = this.model.options.toolbox.todayButton.text.fa, e.submitButtonText = this.model.options.toolbox.submitButton.text.fa) : "en" == this.model.options.locale_ && (e.todayButtontext = this.model.options.toolbox.todayButton.text.en, e.submitButtonText = this.model.options.toolbox.submitButton.text.en), e } }, { key: "_getAnotherCalendar", value: function () { var e = this, t = void 0, i = void 0; return "persian" == e.model.options.calendar_ ? (t = "gregorian", i = e.model.options.calendar.gregorian.locale) : (t = "persian", i = e.model.options.calendar.persian.locale), [t, i] } }, { key: "renderTimePartial", value: function () { var e = this._getTimeViewModel(this.model.state.view); this.$container.find('[data-time-key="hour"] input').val(e.hour.title), this.$container.find('[data-time-key="minute"] input').val(e.minute.title), this.$container.find('[data-time-key="second"] input').val(e.second.title), this.$container.find('[data-time-key="meridian"] input').val(e.meridian.title) } }, { key: "render", value: function (e) { e || (e = this.model.state.view), l.debug(this, "render"), d.parse(r), this.rendered = $(d.render(this.model.options.template, this.getViewModel(e))), this.$container.empty().append(this.rendered), this.markSelectedDay(), this.markToday(), this.afterRender() } }, { key: "reRender", value: function () { var e = this.model.state.view; this.render(e) } }, { key: "afterRender", value: function () { this.model.navigator && this.model.navigator.liveAttach() } }]), e }(); e.exports = c }, function (e, t, i) { !function (t, i) { "use strict"; var n = function (e) { return new n.Instance(e) }; n.SUPPORT = "wheel", n.ADD_EVENT = "addEventListener", n.REMOVE_EVENT = "removeEventListener", n.PREFIX = "", n.READY = !1, n.Instance = function (e) { return n.READY || (n.normalise.browser(), n.READY = !0), this.element = e, this.handlers = [], this }, n.Instance.prototype = { wheel: function (e, t) { return n.event.add(this, n.SUPPORT, e, t), "DOMMouseScroll" === n.SUPPORT && n.event.add(this, "MozMousePixelScroll", e, t), this }, unwheel: function (e, t) { return void 0 === e && (e = this.handlers.slice(-1)[0]) && (e = e.original), n.event.remove(this, n.SUPPORT, e, t), "DOMMouseScroll" === n.SUPPORT && n.event.remove(this, "MozMousePixelScroll", e, t), this } }, n.event = { add: function (e, i, a, o) { var s = a; a = function (e) { e || (e = t.event); var i = n.normalise.event(e), a = n.normalise.delta(e); return s(i, a[0], a[1], a[2]) }, e.element[n.ADD_EVENT](n.PREFIX + i, a, o || !1), e.handlers.push({ original: s, normalised: a }) }, remove: function (e, t, i, a) { for (var o, s = i, r = {}, l = 0, d = e.handlers.length; l < d; ++l) r[e.handlers[l].original] = e.handlers[l]; o = r[s], i = o.normalised, e.element[n.REMOVE_EVENT](n.PREFIX + t, i, a || !1); for (var c in e.handlers) if (e.handlers[c] == o) { e.handlers.splice(c, 1); break } } }; var a, o; n.normalise = { browser: function () { "onwheel" in i || i.documentMode >= 9 || (n.SUPPORT = void 0 !== i.onmousewheel ? "mousewheel" : "DOMMouseScroll"), t.addEventListener || (n.ADD_EVENT = "attachEvent", n.REMOVE_EVENT = "detachEvent", n.PREFIX = "on") }, event: function (e) { var t = { originalEvent: e, target: e.target || e.srcElement, type: "wheel", deltaMode: "MozMousePixelScroll" === e.type ? 0 : 1, deltaX: 0, delatZ: 0, preventDefault: function () { e.preventDefault ? e.preventDefault() : e.returnValue = !1 }, stopPropagation: function () { e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !1 } }; return e.wheelDelta && (t.deltaY = -.025 * e.wheelDelta), e.wheelDeltaX && (t.deltaX = -.025 * e.wheelDeltaX), e.detail && (t.deltaY = e.detail), t }, delta: function (e) { var t, i = 0, n = 0, s = 0, r = 0, l = 0; return e.deltaY && (s = -1 * e.deltaY, i = s), e.deltaX && (n = e.deltaX, i = -1 * n), e.wheelDelta && (i = e.wheelDelta), e.wheelDeltaY && (s = e.wheelDeltaY), e.wheelDeltaX && (n = -1 * e.wheelDeltaX), e.detail && (i = -1 * e.detail), 0 === i ? [0, 0, 0] : (r = Math.abs(i), (!a || r < a) && (a = r), l = Math.max(Math.abs(s), Math.abs(n)), (!o || l < o) && (o = l), t = i > 0 ? "floor" : "ceil", i = Math[t](i / a), n = Math[t](n / o), s = Math[t](s / o), [i, n, s]) } }, "function" == typeof t.define && t.define.amd ? t.define("hamster", [], function () { return n }) : e.exports = n }(window, window.document) }, function (e, t, i) { + var n, a, o;/*! + * mustache.js - Logic-less {{mustache}} templates with JavaScript + * http://github.com/janl/mustache.js + */ + !function (i, s) { "object" == typeof t && t && "string" != typeof t.nodeName ? s(t) : (a = [t], n = s, void 0 !== (o = "function" == typeof n ? n.apply(t, a) : n) && (e.exports = o)) }(0, function (e) { function t(e) { return "function" == typeof e } function i(e) { return p(e) ? "array" : typeof e } function n(e) { return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&") } function a(e, t) { return null != e && "object" == typeof e && t in e } function o(e, t) { return f.call(e, t) } function s(e) { return !o(w, e) } function r(e) { return String(e).replace(/[&<>"'`=\/]/g, function (e) { return y[e] }) } function l(t, i) { function a(e) { if ("string" == typeof e && (e = e.split(k, 2)), !p(e) || 2 !== e.length) throw new Error("Invalid tags: " + e); o = new RegExp(n(e[0]) + "\\s*"), r = new RegExp("\\s*" + n(e[1])), l = new RegExp("\\s*" + n("}" + e[1])) } if (!t) return []; var o, r, l, h = [], m = [], v = [], f = !1, w = !1; a(i || e.tags); for (var y, P, T, M, S, O, E = new u(t) ; !E.eos() ;) { if (y = E.pos, T = E.scanUntil(o)) for (var $ = 0, C = T.length; $ < C; ++$) M = T.charAt($), s(M) ? v.push(m.length) : w = !0, m.push(["text", M, y, y + 1]), y += 1, "\n" === M && function () { if (f && !w) for (; v.length;) delete m[v.pop()]; else v = []; f = !1, w = !1 }(); if (!E.scan(o)) break; if (f = !0, P = E.scan(D) || "name", E.scan(b), "=" === P ? (T = E.scanUntil(g), E.scan(g), E.scanUntil(r)) : "{" === P ? (T = E.scanUntil(l), E.scan(x), E.scanUntil(r), P = "&") : T = E.scanUntil(r), !E.scan(r)) throw new Error("Unclosed tag at " + E.pos); if (S = [P, T, y, E.pos], m.push(S), "#" === P || "^" === P) h.push(S); else if ("/" === P) { if (!(O = h.pop())) throw new Error('Unopened section "' + T + '" at ' + y); if (O[1] !== T) throw new Error('Unclosed section "' + O[1] + '" at ' + y) } else "name" === P || "{" === P || "&" === P ? w = !0 : "=" === P && a(T) } if (O = h.pop()) throw new Error('Unclosed section "' + O[1] + '" at ' + E.pos); return c(d(m)) } function d(e) { for (var t, i, n = [], a = 0, o = e.length; a < o; ++a) (t = e[a]) && ("text" === t[0] && i && "text" === i[0] ? (i[1] += t[1], i[3] = t[3]) : (n.push(t), i = t)); return n } function c(e) { for (var t, i, n = [], a = n, o = [], s = 0, r = e.length; s < r; ++s) switch (t = e[s], t[0]) { case "#": case "^": a.push(t), o.push(t), a = t[4] = []; break; case "/": i = o.pop(), i[5] = t[2], a = o.length > 0 ? o[o.length - 1][4] : n; break; default: a.push(t) } return n } function u(e) { this.string = e, this.tail = e, this.pos = 0 } function h(e, t) { this.view = e, this.cache = { ".": this.view }, this.parent = t } function m() { this.cache = {} } var v = Object.prototype.toString, p = Array.isArray || function (e) { return "[object Array]" === v.call(e) }, f = RegExp.prototype.test, w = /\S/, y = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/", "`": "`", "=": "=" }, b = /\s*/, k = /\s+/, g = /\s*=/, x = /\s*\}/, D = /#|\^|\/|>|\{|&|=|!/; u.prototype.eos = function () { return "" === this.tail }, u.prototype.scan = function (e) { var t = this.tail.match(e); if (!t || 0 !== t.index) return ""; var i = t[0]; return this.tail = this.tail.substring(i.length), this.pos += i.length, i }, u.prototype.scanUntil = function (e) { var t, i = this.tail.search(e); switch (i) { case -1: t = this.tail, this.tail = ""; break; case 0: t = ""; break; default: t = this.tail.substring(0, i), this.tail = this.tail.substring(i) } return this.pos += t.length, t }, h.prototype.push = function (e) { return new h(e, this) }, h.prototype.lookup = function (e) { var i, n = this.cache; if (n.hasOwnProperty(e)) i = n[e]; else { for (var o, s, r = this, l = !1; r;) { if (e.indexOf(".") > 0) for (i = r.view, o = e.split("."), s = 0; null != i && s < o.length;) s === o.length - 1 && (l = a(i, o[s])), i = i[o[s++]]; else i = r.view[e], l = a(r.view, e); if (l) break; r = r.parent } n[e] = i } return t(i) && (i = i.call(this.view)), i }, m.prototype.clearCache = function () { this.cache = {} }, m.prototype.parse = function (e, t) { var i = this.cache, n = i[e]; return null == n && (n = i[e] = l(e, t)), n }, m.prototype.render = function (e, t, i) { var n = this.parse(e), a = t instanceof h ? t : new h(t); return this.renderTokens(n, a, i, e) }, m.prototype.renderTokens = function (e, t, i, n) { for (var a, o, s, r = "", l = 0, d = e.length; l < d; ++l) s = void 0, a = e[l], o = a[0], "#" === o ? s = this.renderSection(a, t, i, n) : "^" === o ? s = this.renderInverted(a, t, i, n) : ">" === o ? s = this.renderPartial(a, t, i, n) : "&" === o ? s = this.unescapedValue(a, t) : "name" === o ? s = this.escapedValue(a, t) : "text" === o && (s = this.rawValue(a)), void 0 !== s && (r += s); return r }, m.prototype.renderSection = function (e, i, n, a) { function o(e) { return s.render(e, i, n) } var s = this, r = "", l = i.lookup(e[1]); if (l) { if (p(l)) for (var d = 0, c = l.length; d < c; ++d) r += this.renderTokens(e[4], i.push(l[d]), n, a); else if ("object" == typeof l || "string" == typeof l || "number" == typeof l) r += this.renderTokens(e[4], i.push(l), n, a); else if (t(l)) { if ("string" != typeof a) throw new Error("Cannot use higher-order sections without the original template"); l = l.call(i.view, a.slice(e[3], e[5]), o), null != l && (r += l) } else r += this.renderTokens(e[4], i, n, a); return r } }, m.prototype.renderInverted = function (e, t, i, n) { var a = t.lookup(e[1]); if (!a || p(a) && 0 === a.length) return this.renderTokens(e[4], t, i, n) }, m.prototype.renderPartial = function (e, i, n) { if (n) { var a = t(n) ? n(e[1]) : n[e[1]]; return null != a ? this.renderTokens(this.parse(a), i, n, a) : void 0 } }, m.prototype.unescapedValue = function (e, t) { var i = t.lookup(e[1]); if (null != i) return i }, m.prototype.escapedValue = function (t, i) { var n = i.lookup(t[1]); if (null != n) return e.escape(n) }, m.prototype.rawValue = function (e) { return e[1] }, e.name = "mustache.js", e.version = "2.3.0", e.tags = ["{{", "}}"]; var P = new m; return e.clearCache = function () { return P.clearCache() }, e.parse = function (e, t) { return P.parse(e, t) }, e.render = function (e, t, n) { if ("string" != typeof e) throw new TypeError('Invalid template! Template should be a "string" but "' + i(e) + '" was given as the first argument for mustache#render(template, view, partials)'); return P.render(e, t, n) }, e.to_html = function (i, n, a, o) { var s = e.render(i, n, a); if (!t(o)) return s; o(s) }, e.escape = r, e.Scanner = u, e.Context = h, e.Writer = m, e }) + }]) +}); + + +(function (root, factory) { + root.Pikaday = factory(); +}(this, function () { + + var Pikaday = function (options) { + + var fieldelement = $("#" + options.field.id); + fieldelement.attr('type', 'hidden'); + var HasInitialValue = false; + + if(options.field.value.length > 0){ + HasInitialValue = true; + fieldelement.after(''); + } else { + fieldelement.after(''); + } + + $("#new" + options.field.id).persianDatepicker({ + initialValue: HasInitialValue, + initialValueType: 'persian', + format: 'YYYY/MM/DD HH:mm', + persianDigit:false, + timePicker: { + enabled: true + }, + observer:true, + onSelect: function (unix) { + fieldelement.val(new persianDate(unix).toLocale('en').format('YYYY/MM/DD HH:mm')); + } + }); + + }; + + return Pikaday; + +})); + diff --git a/DNN Platform/Website/Resources/Shared/components/DropDownList/Images/tree-sprite.rtl.png b/DNN Platform/Website/Resources/Shared/components/DropDownList/Images/tree-sprite.rtl.png new file mode 100644 index 00000000000..2a2a13a8b8f Binary files /dev/null and b/DNN Platform/Website/Resources/Shared/components/DropDownList/Images/tree-sprite.rtl.png differ diff --git a/DNN Platform/Website/Resources/Shared/components/DropDownList/dnn.DropDownList.css b/DNN Platform/Website/Resources/Shared/components/DropDownList/dnn.DropDownList.css index 8637ed04a09..398fce1f718 100644 --- a/DNN Platform/Website/Resources/Shared/components/DropDownList/dnn.DropDownList.css +++ b/DNN Platform/Website/Resources/Shared/components/DropDownList/dnn.DropDownList.css @@ -390,3 +390,200 @@ cursor: default; } + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .dnnDropDownList .selected-item a, +.rtl .dnnDropDownList .selected-item a:link, +.rtl .dnnDropDownList .selected-item a:visited, +.rtl .dnnDropDownList .selected-item a:hover, +.rtl .dnnDropDownList .selected-item a:active { + padding: 7px; + display: block; + height: 18px; + margin: 0; + color: #333; + white-space: nowrap; + overflow: hidden; + background: url("../../../../Images/dnnSpinnerDownArrow.png") no-repeat center left transparent; + text-decoration: none; + white-space: nowrap; + border-right: 5px solid transparent; + border-left: 14px solid transparent; + text-overflow: ellipsis; +} + +.rtl .dnnDropDownList .selected-item a.opened, +.rtl .dnnDropDownList .selected-item a.opened:link, +.rtl .dnnDropDownList .selected-item a.opened:visited, +.rtl .dnnDropDownList .selected-item a.opened:hover, +.rtl .dnnDropDownList .selected-item a.opened:active { + background: url("../../../../Images/dnnSpinnerUpArrow.png") no-repeat center left transparent; +} + +.rtl .dnnDropDownList .dt-container .dt-footer span { + display: block; + float: right; + color: #999; + margin: 6px 10px 0 0; +} + +.rtl .dnnDropDownList .dt-container .dt-footer .resizer { + float: left; + width: 24px; + height: 24px; + background: url("../../../../Images/modal-resize-icn.rtl.png") no-repeat bottom; + margin: 3px; + cursor: nw-resize; +} + +.rtl .dnnDropDownList .dt-container .search-container { + margin: 0 15px 0 72px; + position: relative; +} + +.rtl .dnnDropDownList .dt-container .search-container .search-input-container { + position: relative; + -webkit-border-radius: 3px; + border-radius: 3px; + padding: 0 0 1px 66px; + background-color: #fff; + border: 1px solid #c9c9c9; + margin: 0; +} + + + +.rtl .dnnDropDownList .dt-container .search-container a.clear-button, +.rtl .dnnDropDownList .dt-container .search-container a.search-button { + display: block; + position: absolute; + width: 22px; + height: 18px; + background-repeat: no-repeat; + background-position: center center; + /*left: 8px;*/ + top: 8px; + cursor: pointer; + background-color: #fff; +} + +.rtl .dnnDropDownList .dt-container .search-container a.clear-button { + background-image: url("../../../../Images/search/clearText.png"); + left: 26px !important; + right:auto; + border-left: 1px #ccc solid; + border-right:0; +} + +.rtl .dnnDropDownList .dt-container .search-container a.search-button { + background-image: url("../../../../Images/search/searchButton.png"); + left: 4px!important; + right:auto; +} + +.rtl .dnnDropDownList .dt-container .sort-button { + display: block; + float: left; + color: #666; + background: #eee; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#eee6e5)); + background: -webkit-linear-gradient(top, #fff 0%,#eee6e5 100%); + background: -moz-linear-gradient(top, #fff 0%, #eee6e5 100%); + background: -ms-linear-gradient(top, #fff 0%,#eee6e5 100%); + background: -o-linear-gradient(top, #fff 0%,#eee6e5 100%); + background: linear-gradient(top, #fff 0%,#eee6e5 100%); + background-repeat: no-repeat; + border: 1px solid #ccc; + margin: 0 0 0 15px; + -webkit-box-shadow: 0 1px 0 0 #bbb; + box-shadow: 0 1px 0 0 #bbb; + -webkit-border-radius: 3px; + border-radius: 3px; + font-weight: bold; + min-width: 20px; + padding: 6px 8px 6px 6px; +} + +.rtl .dnnDropDownList .dt-container .sort-button span { + display: inline-block; + background: url("../../../../Images/sort-sprite.png") 0 20px no-repeat; + padding: 0 10px 0 0; + text-shadow: 0 1px 0 #FFF; +} + +.dnnDropDownList .dt-container .sort-button.asc span { + background-position: 0 -12px; +} + +.dnnDropDownList .dt-container .sort-button.desc span { + background-position: 0 7px; +} + + +.rtl .dnnDropDownList .dt-container ul.tv-nodes { + font-family: tahoma, Verdana, sans-serif; + font-size: 11px; + line-height: 18px; + padding: 0; + margin: 0 2px 0 0; +} + +.rtl .dnnDropDownList .dt-container ul.tv-root { + margin: 4px -10px 0 4px; +} + +.rtl .dnnDropDownList .dt-container ul.tv-nodes li { + list-style: none; + padding: 0 16px 0 0; + margin: 0; + white-space: nowrap; + overflow: hidden; + border-right: 4px solid transparent; +} + +.rtl .dnnDropDownList .dt-container ul.tv-nodes a.text { + color: #222; + text-decoration: none; + display: inline-block; + padding: 0 24px 0 8px; + line-height: 20px; + background: url("Images/page.png") no-repeat 94% center; + border: 1px solid transparent; + margin: 0 6px 0 0; + font-family: tahoma, Arial, ​Helvetica​, sans-serif; + font-size: 13px; +} + +.rtl .dnnDropDownList .dt-container ul.tv-nodes a.text:focus { + border: 1px solid #aaa; +} + +.rtl .page .dt-container ul.tv-nodes a.text { + background: url("Images/page.png") no-repeat 98% center; +} + +.rtl .folder .dt-container ul.tv-nodes a.text { + background: url("../../../../icons/sigma/FolderStandard_16x16_Standard.png") no-repeat 98% center; +} + +.rtl .dnnDropDownList .dt-container ul.tv-nodes a.text:hover { + background-color: #666; + color: #ddd; + text-decoration: underline; + padding-bottom: -1px; + border: 1px solid #666; +} + +.rtl .dnnDropDownList .dt-container .tv-nodes li a.collapsed { + background: url(Images/tree-sprite.rtl.png) no-repeat 0 -2px; +} + +.rtl .dnnDropDownList .dt-container .tv-nodes li a.expanded { + background: url(Images/tree-sprite.rtl.png) no-repeat 0 -18px; +} + +.rtl .dnnDropDownList .dt-container .tv-nodes li a.expanding, +.rtl .dnnDropDownList .dt-container .tv-nodes li a:hover.expanding { + background: url("../../../../Images/dnnanim.gif") no-repeat 100% 0; +} diff --git a/DNN Platform/Website/Resources/Shared/components/FileUpload/dnn.FileUpload.css b/DNN Platform/Website/Resources/Shared/components/FileUpload/dnn.FileUpload.css index ba636ac0e5b..0f9e2be0735 100644 --- a/DNN Platform/Website/Resources/Shared/components/FileUpload/dnn.FileUpload.css +++ b/DNN Platform/Website/Resources/Shared/components/FileUpload/dnn.FileUpload.css @@ -489,4 +489,126 @@ a.fu-fileupload-thumbnail-inactive:hover { .fu-container ul.dnnButtonGroup span { color: #333; - } \ No newline at end of file + } + + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .fu-container .dnnDropDownList .dt-container { + right: auto; + left: 0; +} + +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup > li:first-child { + border-right: none; +} + +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup > li:first-child > a { + border-radius: 3px 3px 0 0; +} + +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup > li:last-child > a { + border-radius: 0 0 3px 3px; +} + +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup { + float: right; +} + +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup > li > a { + padding: 7px 44px 6px 16px; +} + +.rtl .fu-container .dnnDropDownList .selected-item { + background: none repeat scroll 0 0 #fff; +} + +.rtl .fu-container .fu-dialog-content-header > .dnnLeft > span { + float: right; + margin: 0 10px 0 0; +} + +.rtl .fu-container .fu-dialog-content-header > .dnnLeft > span > .fu-decompress-label { + margin: 0 6px 0 0; +} + +.rtl .fu-container .fu-dialog-content-header > .dnnRight > label { + float: right; + margin: 0 0 0 6px; +} + +.rtl .fu-container .fu-dialog-content-header > .dnnRight > span { + float: right; +} + +.rtl .fu-container .fu-dialog-content-header > .dnnRight > .dnnDropDownList { + float: right; +} + +.rtl .fu-container ul.fu-fileupload-statuses { + margin: 0 2px 0 30px; +} + +.rtl .fu-container .fu-fileupload-statuses .fu-fileupload-progressbar-container { + float: left; +} + +.rtl .fu-container .fu-fileupload-statuses .fu-fileupload-filename-container { + float: right; + margin: 0 10px 0 0; +} + +.rtl .fu-file-already-exists-prompt .fu-status-message { + float: right; +} + +.rtl a.fu-fileupload-thumbnail, +.rtl a.fu-fileupload-thumbnail:link, +.rtl a.fu-fileupload-thumbnail:visited, +.rtl a.fu-fileupload-thumbnail:hover, +.rtl a.fu-fileupload-thumbnail:active { + float: right; + background: none repeat scroll 0 0 #E8F0FB; +} + +.rtl .fu-status-error a.fu-fileupload-thumbnail:hover { + background: none repeat scroll 0 0 #E8F0FB; +} + +.rtl .fu-file-already-exists-prompt .fu-file-already-exists-prompt-button-keep, +.rtl .fu-file-already-exists-prompt .fu-file-already-exists-prompt-button-replace { + float: left; +} + +.rtl .fu-file-already-exists-prompt .fu-file-already-exists-prompt-button-replace { + margin-left: auto; + margin-right: 10px; +} + +.rtl .fu-container .fu-fileupload-statuses .fu-fileupload-progressbar { + margin: 6px 6px 0 0; +} + +.rtl .fu-fileupload-progressbar-container a { + float: left; + margin: 4px 0 0 6px; +} + +.rtl .fu-container ul.dnnButtonGroup > li { + float: right; + border-left: 0; + border-right: 1px solid #c9c9c9; +} + +.rtl .fu-container ul.dnnButtonGroup > li.dnnButtonGroup-first + li { + border-right: none; +} + +/* Persian-DnnSoftware */ +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup > li > a.from-url { + background-position: 85% 50%; +} +.rtl .fu-container .fu-dialog-content-header ul.dnnButtonGroup > li > a.upload-file { + background-position: 85% 50%; +} \ No newline at end of file diff --git a/DNN Platform/Website/Resources/Shared/components/Toast/jquery.toastmessage.css b/DNN Platform/Website/Resources/Shared/components/Toast/jquery.toastmessage.css index f209927fa46..2c0981c0075 100644 --- a/DNN Platform/Website/Resources/Shared/components/Toast/jquery.toastmessage.css +++ b/DNN Platform/Website/Resources/Shared/components/Toast/jquery.toastmessage.css @@ -174,3 +174,84 @@ ul > li.toast-message{ margin-top: -40px; top: 50%; } + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .toast-item { + position:absolute; + right:auto;left:0; top:10px; + width:300px; + background:rgba(0,0,0,0.85); + border:1px solid #333; + + -webkit-border-radius: 3px; + border-radius: 3px; + + -webkit-box-shadow: inset 0px 25px 40px -25px rgba(255, 255, 255, 0.4),0px 1px 3px 0px rgba(0, 0, 0, 0.3), inset 0px -25px 25px -25px rgba(0, 0, 0, 0.9); + box-shadow: inset 0px 25px 40px -25px rgba(255, 255, 255, 0.4), 0px 1px 3px 0px rgba(0, 0, 0, 0.3), inset 0px -25px 25px -25px rgba(0, 0, 0, 0.9); +} +.rtl .toast-item p { + text-align: right; + margin: 0; + color:#aaa; +} +.rtl .toast-item-close { + background:url(images/close.gif); + width:22px; + height:22px; + position: absolute; + top:-10px; + right:auto; + left:-10px; +} +.rtl .toast-position-top-left { + position: fixed; + left: auto; + right: 20px; + top: 20px; +} + +.rtl .toast-position-top-center { + position: fixed; + top: 20px; + left: auto; + right: 50%; + margin-left: auto; + margin-right: -140px; +} + +.rtl .toast-position-top-right { + position: fixed; + top: 20px; + right: auto; + left: 80px; +} + +.rtl .toast-position-middle-left { + position: fixed; + left: auto; + right: 20px; + top: 50%; + margin-top: -40px; +} + +.rtl .toast-position-middle-center { + position: fixed; + left: auto; + right: 50%; + margin-left: auto; + margin-right: -140px; + margin-top: -40px; + top: 50%; +} + +.rtl .toast-position-middle-right { + position: fixed; + right: auto; + left: 20px; + margin-left: auto; + margin-right: -140px; + margin-top: -40px; + top: 50%; +} diff --git a/DNN Platform/Website/Resources/Shared/components/Tokeninput/Themes/token-input-facebook.css b/DNN Platform/Website/Resources/Shared/components/Tokeninput/Themes/token-input-facebook.css index 9b7fcefbd2e..3ce19b4849f 100644 --- a/DNN Platform/Website/Resources/Shared/components/Tokeninput/Themes/token-input-facebook.css +++ b/DNN Platform/Website/Resources/Shared/components/Tokeninput/Themes/token-input-facebook.css @@ -134,4 +134,53 @@ ul.token-input-list-facebook { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; -} \ No newline at end of file +} + + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl li.token-input-token-facebook { + overflow: hidden; + height: auto !important; + height: 15px; + margin: 3px; + padding: 1px 3px; + background-color: #eff2f7; + color: #000; + cursor: default; + border: 1px solid #ccd5e4; + font-size: 11px; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + float: right; + white-space: nowrap; +} +.rtl li.token-input-token-facebook span { + color: #a6b3cf; + margin-left: auto; + margin-right: 5px; + font-weight: bold; + cursor: pointer; +} +.rtl li.token-input-input-token-facebook { + float: right; + margin: 0; + padding: 0; + list-style-type: none; +} + +.rtl div.token-input-dropdown-facebook { + position: absolute; + min-width: 234px; + background-color: #fff; + overflow: hidden; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + border-bottom: 1px solid #ccc; + cursor: default; + font-size: 11px; + font-family: tahoma, Verdana; + z-index: 100020; +} diff --git a/DNN Platform/Website/Resources/Shared/components/Tokeninput/token-input.css b/DNN Platform/Website/Resources/Shared/components/Tokeninput/token-input.css index 78e2184949a..ebf2236c055 100644 --- a/DNN Platform/Website/Resources/Shared/components/Tokeninput/token-input.css +++ b/DNN Platform/Website/Resources/Shared/components/Tokeninput/token-input.css @@ -111,3 +111,17 @@ div.token-input-dropdown ul li.token-input-selected-dropdown-item { background-color: #d0efa0; } + +/* =========== Persian-DnnSoftware =========== */ + +.rtl li.token-input-token p { + float: right; + padding: 0; + margin: 0; +} + +.rtl li.token-input-token span { + float: left; + color: #777; + cursor: pointer; +} diff --git a/DNN Platform/Website/Resources/Shared/components/UserFileManager/UserFileManager.css b/DNN Platform/Website/Resources/Shared/components/UserFileManager/UserFileManager.css index f2befaf9944..c6fb54b3aea 100644 --- a/DNN Platform/Website/Resources/Shared/components/UserFileManager/UserFileManager.css +++ b/DNN Platform/Website/Resources/Shared/components/UserFileManager/UserFileManager.css @@ -39,4 +39,26 @@ color:#fff;font-weight:bold;text-shadow:0px 1px 1px #000;-moz-border-radius-topleft: 0px;-moz-border-radius-topright: 0px; -moz-border-radius-bottomright: 6px;-moz-border-radius-bottomleft: 6px;-webkit-border-radius: 0px 0px 6px 6px;border-radius:0px 0px 6px 6px;} .fm-actions ul.dnnActions{border:none;margin:0;padding:0;overflow:hidden;float:right} - .fm-actions ul.dnnActions a.dnnSecondaryAction{margin-right: 10px;} \ No newline at end of file + .fm-actions ul.dnnActions a.dnnSecondaryAction{margin-right: 10px;} + + /* =========== Persian-DnnSoftware =========== */ + +.rtl .dnnFileManager h2{padding:0.8em 1.2em;position:relative;background:#4E4E4E;background:-moz-linear-gradient(top, #4E4E4E 0%, #282828 100%);overflow:hidden;margin:0; + background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#4E4E4E), color-stop(100%,#282828)); + filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4E4E4E', endColorstr='#282828',GradientType=0 ); + color:#fff;font-weight:bold;text-shadow:0px 1px 1px #000;cursor:move;-moz-border-radius-topleft: 6px;-moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 0px;-moz-border-radius-bottomleft: 0px;-webkit-border-radius: 6px 0px 0px 6px;border-radius: 6px 0px 0px 6px;} + +.rtl .fileManagerPopup .ui-dialog-title{background:url(Images/clip-icn.png) no-repeat right;padding-right:25px;display:block;} +.rtl .dnnFormPopup.fileManagerPopup .ui-resizable-se{position:absolute;bottom:0;right:auto;left:0;} +.rtl .fm-explorer-wrap {width:65%;background:url(Images/border-img.jpg) left;min-height:300px;} +.rtl span.fm-folder{background:url(Images/folder-icn.png) right no-repeat;padding-right:25px;} +.rtl .dnnFileManager .fm-explorer table th{background:#e1e4e6;border-left:1px #cfd2d4 solid;border-right:1px #fff solid;padding:10px;text-align:right;font-family:inherit;} +.rtl .dnnFileManager .fm-explorer table td{padding:6px 10px;text-align:right;border-top:1px #fff solid;border-bottom:1px #e1e4e6 solid;font-size:11px;} +.rtl .fm-actions{padding:0.8em 1.2em;position:relative;background:#4E4E4E;background:-moz-linear-gradient(top, #4E4E4E 0%, #282828 100%);overflow:hidden; + background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#4E4E4E), color-stop(100%,#282828)); + filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#4E4E4E', endColorstr='#282828',GradientType=0 ); + color:#fff;font-weight:bold;text-shadow:0px 1px 1px #000;-moz-border-radius-topleft: 0px;-moz-border-radius-topright: 0px; + -moz-border-radius-bottomright: 6px;-moz-border-radius-bottomleft: 6px;-webkit-border-radius: 0px 6px 6px 0px;border-radius:0px 6px 6px 0px;} +.rtl .fm-actions ul.dnnActions{border:none;margin:0;padding:0;overflow:hidden;float:left} +.rtl .fm-actions ul.dnnActions a.dnnSecondaryAction{margin-right: auto;margin-left: 10px;} \ No newline at end of file diff --git a/DNN Platform/Website/Resources/Shared/scripts/dnn.jquery.js b/DNN Platform/Website/Resources/Shared/scripts/dnn.jquery.js index ba9dd2b5d35..6a303daabb8 100644 --- a/DNN Platform/Website/Resources/Shared/scripts/dnn.jquery.js +++ b/DNN Platform/Website/Resources/Shared/scripts/dnn.jquery.js @@ -442,7 +442,13 @@ }); var helpSelector = $this.find(opts.helpSelector); $this.parent().css({ position: 'relative' }); - $this.css({ position: 'absolute', right: '-29%' }); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + $this.css({ position: 'absolute', left: '-29%' }); + } else { + $this.css({ position: 'absolute', right: '-29%' }); + } + /* END Persian-DnnSoftware */ var hoverOnToolTip = false, hoverOnPd = false; dnnFormHelp.hoverIntent({ @@ -484,9 +490,17 @@ pinHelper.on('click', function (e) { e.preventDefault(); if ($this.hasClass(opts.pinnedClass)) { - helpSelector.css({ "left": '0', "top": '0' }) - .css('visibility', 'hidden') - .draggable('destroy'); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + helpSelector.css({ "right": '0', "top": '0' }) + .css('visibility', 'hidden') + .draggable('destroy'); + } else { + helpSelector.css({ "left": '0', "top": '0' }) + .css('visibility', 'hidden') + .draggable('destroy'); + } + /* END Persian-DnnSoftware */ $this.removeClass(opts.pinnedClass); } else { @@ -665,7 +679,13 @@ pd.tooltipWrapperInner = $('.dnnFormHelpContent', pd.tooltipWrapper); var tooltipHeight = pd.tooltipWrapperInner.height(); - pd.tooltipWrapperInner.css({ left: '-10px', top: -(tooltipHeight + 30) + 'px' }); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + pd.tooltipWrapperInner.css({ right: '-10px', top: -(tooltipHeight + 30) + 'px' }); + } else { + pd.tooltipWrapperInner.css({ left: '-10px', top: -(tooltipHeight + 30) + 'px' }); + } + /* END Persian-DnnSoftware */ var hoverOnPd = false; $pd.hover( function () { @@ -2112,7 +2132,10 @@ if ((currValLength >= settings.maxChars) && !(event.which == event.data.delimiter.charCodeAt(0) || event.which == 13 || event.which == 9)) { tagTooLongErrMsg.insertAfter($(this)).show().delay(1500).fadeOut(1000); } - if (event.which == event.data.delimiter.charCodeAt(0) || event.which == 13 || event.which == 9 || event.type == "blur") { + /* START Persian-DnnSoftware */ + //if (event.which == event.data.delimiter.charCodeAt(0) || event.which == 13 || event.which == 9 || event.type == "blur") { + if (event.which == event.data.delimiter.charCodeAt(0) || event.which == 13 || event.which == 9 || event.type == "blur" || event.which == 1548 || event.which == 1563) { + /* END Persian-DnnSoftware */ event.preventDefault(); if (!clickedOnAutoComplete) { tagItems(data, event); diff --git a/DNN Platform/Website/Resources/Shared/scripts/dnn.searchBox.js b/DNN Platform/Website/Resources/Shared/scripts/dnn.searchBox.js index 93fcd90e193..f6f5393d37c 100644 --- a/DNN Platform/Website/Resources/Shared/scripts/dnn.searchBox.js +++ b/DNN Platform/Website/Resources/Shared/scripts/dnn.searchBox.js @@ -62,20 +62,39 @@ this.realInput.val(originalVal); - var realInputRight = 50; - var advancedDropdown = $('.dnnSearchBox_advanced_dropdown', this.$wrap); - var advancedForm = $('#' + this.options.advancedId); - if (advancedEnabled) { - advancedForm.appendTo(advancedDropdown); - var w = $('.dnnSearchBox_advanced', this.$wrap).width(); - var w2 = $('.dnnSearchBox_advanced_query', this.$wrap).width(); - realInputRight = w + w2 + 50; - $('.dnnSearchBox_advanced_query', this.$wrap).hide(); - } - this.realInput.css({ right: realInputRight, width: wrapWidth - realInputRight - 8 }); - if (originalVal) { - this.realInput.next().addClass('dnnShow').css({ right: realInputRight - 15}); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + var realInputLeft = 50; + var advancedDropdown = $('.dnnSearchBox_advanced_dropdown', this.$wrap); + var advancedForm = $('#' + this.options.advancedId); + if (advancedEnabled) { + advancedForm.appendTo(advancedDropdown); + var w = $('.dnnSearchBox_advanced', this.$wrap).width(); + var w2 = $('.dnnSearchBox_advanced_query', this.$wrap).width(); + realInputLeft = w + w2 + 50; + $('.dnnSearchBox_advanced_query', this.$wrap).hide(); + } + this.realInput.css({ left: realInputLeft, width: wrapWidth - realInputLeft - 8 }); + if (originalVal) { + this.realInput.next().addClass('dnnShow').css({ left: realInputLeft - 15 }); + } + } else { + var realInputRight = 50; + var advancedDropdown = $('.dnnSearchBox_advanced_dropdown', this.$wrap); + var advancedForm = $('#' + this.options.advancedId); + if (advancedEnabled) { + advancedForm.appendTo(advancedDropdown); + var w = $('.dnnSearchBox_advanced', this.$wrap).width(); + var w2 = $('.dnnSearchBox_advanced_query', this.$wrap).width(); + realInputRight = w + w2 + 50; + $('.dnnSearchBox_advanced_query', this.$wrap).hide(); + } + this.realInput.css({ right: realInputRight, width: wrapWidth - realInputRight - 8 }); + if (originalVal) { + this.realInput.next().addClass('dnnShow').css({ right: realInputRight - 15 }); + } } + /* END Persian-DnnSoftware */ }, _makeUrl: function (param, service) { @@ -198,16 +217,31 @@ if ($.inArray(k, self._ignoreKeyCodes) > -1) return; var val = realInput.val(); - var right = parseInt(realInput.css('right').replace('px', '')) - 15; + /* START Persian-DnnSoftware */ + var right; + if ($('body').hasClass('r' + 't' + 'l')) { + right = parseInt(realInput.css('left').replace('px', '')) - 15; + } else { + right = parseInt(realInput.css('right').replace('px', '')) - 15; + } + /* END Persian-DnnSoftware */ if (!val) { clearTextBtn.removeClass('dnnShow'); // hide preview $('.dnnSearchBox_preview', this.$wrap).remove(); } else { - clearTextBtn.css({ - right: right - }).addClass('dnnShow'); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + clearTextBtn.css({ + left: right + }).addClass('dnnShow'); + } else { + clearTextBtn.css({ + right: right + }).addClass('dnnShow'); + } + /* END Persian-DnnSoftware */ if (self.options.enablePreview && val.length >= self.options.previewMinChars) { // enable preview diff --git a/DNN Platform/Website/Resources/Shared/scripts/jquery/dnn.jScrollbar.js b/DNN Platform/Website/Resources/Shared/scripts/jquery/dnn.jScrollbar.js index e73add6eb9b..3b65bd04d96 100644 --- a/DNN Platform/Website/Resources/Shared/scripts/jquery/dnn.jScrollbar.js +++ b/DNN Platform/Website/Resources/Shared/scripts/jquery/dnn.jScrollbar.js @@ -1,7 +1,9 @@ ; if (typeof dnn === "undefined") { dnn = {}; }; //var dnn = dnn || {}; -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// DotNetNuke� - http://www.dotnetnuke.com +// Copyright (c) 2002-2017 +// by DotNetNuke Corporation +// All Rights Reserved (function ($, window, document, undefined) { "use strict"; @@ -48,7 +50,13 @@ this._$scrollbarY.on('mousedown.perfect-scroll', $.proxy(this._onMouseDownY, this)); this._scrollbarXBottom = parseInt(this._$scrollbarX.css('bottom'), 10); - this._scrollbarYRight = parseInt(this._$scrollbarY.css('right'), 10); + /* START Persian-DnnSoftware */ + if ($('body').hasClass('r' + 't' + 'l')) { + this._scrollbarYRight = parseInt(this._$scrollbarY.css('left'), 10); + } else { + this._scrollbarYRight = parseInt(this._$scrollbarY.css('right'), 10); + } + /* END Persian-DnnSoftware */ if (this.$element.mousewheel) { this.$element.mousewheel($.proxy(this._onMouseWheel, this)); @@ -59,7 +67,7 @@ destroy: function () { this._$scrollbarX.remove(); this._$scrollbarY.remove(); - this.$element.off("mousewheel"); + this.$element.unbind("mousewheel"); }, _scrollY: function () { @@ -149,8 +157,8 @@ this._currentPageX = e.pageX; this._currentLeft = this._$scrollbarX.position().left; this._$scrollbarX.addClass('in-scrolling'); - $(this._getDocument()).on('mousemove.perfect-scroll', this._onMouseMoveXHandler); - $(this._getDocument()).on('mouseup.perfect-scroll', this._onMouseUpXHandler); + $(this._getDocument()).bind('mousemove.perfect-scroll', this._onMouseMoveXHandler); + $(this._getDocument()).bind('mouseup.perfect-scroll', this._onMouseUpXHandler); e.stopPropagation(); e.preventDefault(); }, @@ -159,8 +167,8 @@ this._currentPageY = e.pageY; this._currentTop = this._$scrollbarY.position().top; this._$scrollbarY.addClass('in-scrolling'); - $(this._getDocument()).on('mousemove.perfect-scroll', this._onMouseMoveYHandler); - $(this._getDocument()).on('mouseup.perfect-scroll', this._onMouseUpYHandler); + $(this._getDocument()).bind('mousemove.perfect-scroll', this._onMouseMoveYHandler); + $(this._getDocument()).bind('mouseup.perfect-scroll', this._onMouseUpYHandler); e.stopPropagation(); e.preventDefault(); }, @@ -187,16 +195,16 @@ if (this._$scrollbarX.hasClass('in-scrolling')) { this._$scrollbarX.removeClass('in-scrolling'); } - $(this._getDocument()).off('mousemove.perfect-scroll', this._onMouseMoveXHandler); - $(this._getDocument()).off('mouseup.perfect-scroll', this._onMouseUpXHandler); + $(this._getDocument()).unbind('mousemove.perfect-scroll', this._onMouseMoveXHandler); + $(this._getDocument()).unbind('mouseup.perfect-scroll', this._onMouseUpXHandler); }, _onMouseUpY: function (e) { if (this._$scrollbarY.hasClass('in-scrolling')) { this._$scrollbarY.removeClass('in-scrolling'); } - $(this._getDocument()).off('mousemove.perfect-scroll', this._onMouseMoveYHandler); - $(this._getDocument()).off('mouseup.perfect-scroll', this._onMouseUpYHandler); + $(this._getDocument()).unbind('mousemove.perfect-scroll', this._onMouseMoveYHandler); + $(this._getDocument()).unbind('mouseup.perfect-scroll', this._onMouseUpYHandler); }, _onMouseWheel: function (e, delta, deltaX, deltaY) { diff --git a/DNN Platform/Website/Resources/Shared/stylesheets/dnn.PasswordStrength.css b/DNN Platform/Website/Resources/Shared/stylesheets/dnn.PasswordStrength.css index 1694a94fda1..71b0c0fb0c3 100644 --- a/DNN Platform/Website/Resources/Shared/stylesheets/dnn.PasswordStrength.css +++ b/DNN Platform/Website/Resources/Shared/stylesheets/dnn.PasswordStrength.css @@ -140,4 +140,58 @@ .dnnFormItem input.validate-fail, .dnnFormItem input.unmatched { background: url("../../../Images/icon-validate-fail.png") #fff no-repeat 98% center !important; +} + + + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .password-strength-container .meter div span { + float: right; + width: 22.75%; + margin-right: auto; + margin-left: 3%; + height: 4px; +} +.rtl .password-strength-container .meter div span.last { + margin-right: auto; + margin-left: 0; +} + +.rtl .password-strength-container .meter label { + right: auto; + left: 0; +} +.rtl .password-strength-container .password-strength-tooltip, .confirm-password-tooltip { + left: auto !important; + right: 0 !important; +} +.rtl .confirm-password-tooltip { + bottom: 60px !important; + left: auto !important; + right: 48% !important; +} +.rtl .password-strength-container .password-strength-tooltip:before, .confirm-password-tooltip:before { + left: auto; + right: 50%; + margin-left: auto; + margin-right: -8px; +} + +.rtl .password-strength-container .password-strength-tooltip-content li label { + padding: 0 26px 0 0; + background: url("../../../Images/icon-validate-fail.png") no-repeat right center; +} + +.rtl .password-strength-container .password-strength-tooltip-content li label.satisfied { + background-position:6px center; +} + +.rtl .dnnFormItem input.validate-success, .dnnFormItem input.matched { + background: url("../../../Images/icon-validate-success.png") #fff no-repeat 6px center !important; +} + +.rtl .dnnFormItem input.validate-fail, .dnnFormItem input.unmatched { + background: url("../../../Images/icon-validate-fail.png") #fff no-repeat 6px center !important; } \ No newline at end of file diff --git a/DNN Platform/Website/Resources/Shared/stylesheets/dnn.searchBox.css b/DNN Platform/Website/Resources/Shared/stylesheets/dnn.searchBox.css index 4c91c5499f1..754861add70 100644 --- a/DNN Platform/Website/Resources/Shared/stylesheets/dnn.searchBox.css +++ b/DNN Platform/Website/Resources/Shared/stylesheets/dnn.searchBox.css @@ -213,3 +213,132 @@ background-color: #fff; color: #000; } + + + +/* =========== Persian-DnnSoftware =========== */ + +.rtl .dnnSearchBox > .dnnSearchBox_advanced_query { + display: block; + float: right; + color: #aaa; + z-index: 10; + position: relative; + top: 0px; + font-size: 12px; + padding: 3px 8px 3px 20px; + border: 1px solid #ccc; + -webkit-border-radius: 3px; + border-radius: 3px; + background-color: #fff; + max-width: 400px; +} + +.rtl .dnnSearchBox > input[type="text"], +.rtl .dnnSearchBox > input[type="text"]:focus { + border: none; + background: #fff; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + margin: 0; + padding: 0; + outline: none; + vertical-align: top; + height: 25px; + left: auto; + right: 5px; + display: block; + position: absolute; +} + + +.rtl .dnnSearchBox > a.dnnSearchButton { + display: block; + position: absolute; + top: 5px; + right: auto; + left: 5px; + width: 18px; + height: 18px; + background-image: url(../../../images/search/searchButton.png); + background-repeat: no-repeat; + background-position: center center; + vertical-align: top; + cursor: pointer; + margin: 4px 4px 0 0; +} + +.rtl .dnnSearchBox > .dnnSearchBox_advanced { + position: absolute; + top: 4px; + right: auto; + left: 24px; + margin: 0 10px 0 0; +} + +.rtl .dnnSearchBox > .dnnSearchBox_advanced > .dnnSearchBox_advanced_label { + display: block; + border-left: none; + border-right: 1px solid #ccc; + padding: 3px 10px 0 15px; + margin-right: 3px; + color: #999; + cursor: pointer; + background: url(../../../images/dnnSpinnerDownArrow.png) no-repeat; + background-position: 3px 13px; + height: 22px; + } + +.rtl .dnnSearchBox > .dnnSearchBox_advanced > .dnnSearchBox_advanced_label.dnnExpanded { + color: #666; + background: url(../../../images/dnnSpinnerUpArrow.png) no-repeat; + background-position: 3px 13px; + } + +.rtl .dnnSearchBox > .dnnSearchBox_advanced > .dnnSearchBox_advanced_dropdown { + display: none; + position: absolute; + background: #fff; + border: 1px solid #c9c9c9; + right: auto; + left: 0; + top: 28px; + margin: 0; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + z-index: 215; + padding: 8px; + } + +.rtl .dnnSearchBox > ul.dnnSearchBox_preview { + position: absolute; + top: 35px; + left: auto; + right: 0; + background: #fff; + margin: 0; + list-style: none; + border: 1px solid #c9c9c9; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + min-width: 300px; + z-index: 200; +} + +.rtl .dnnSearchBox > ul.dnnSearchBox_preview > li { + list-style: none; + padding: 6px 22px 6px 12px; + border-top: 1px solid #c9c9c9; + color: #666; + cursor: pointer; + position: relative; + } + diff --git a/DNN Platform/Website/Resources/Shared/stylesheets/dnndefault/7.0.0/default.rtl.css b/DNN Platform/Website/Resources/Shared/stylesheets/dnndefault/7.0.0/default.rtl.css new file mode 100644 index 00000000000..976e10a926e --- /dev/null +++ b/DNN Platform/Website/Resources/Shared/stylesheets/dnndefault/7.0.0/default.rtl.css @@ -0,0 +1,3843 @@ +@charset "utf-8"; +/* Persian-DnnSoftware */ +/* CSS Document */ + +/* --------------------------------------------------------- + + * Filename: default.css + * Description: sets typography, basic grids, + and standard formstyles + * Version: 1.0.0 (2012-06-16) + * Author: Ryan Martinez - Morteza Kermani + + == INDEX =============================================== + + $__generic classes classes used globally, should be at bottom to prevent semantic inheritance + +------------------------------------------------------------*/ + + +/*-------------------------------------*/ +/* RESET */ +/*-------------------------------------*/ + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) + */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +caption, article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + /*font-size: 100%;*/ + /*font: inherit;*/ + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + + blockquote:before, blockquote:after, + q:before, q:after { + content: ''; + content: none; + } + +html, button, input, select, textarea { + font-family: Tahoma, sans-serif; + color: #222; +} + +/* + * Remove text-shadow in selection highlight: h5bp.com/i + * These selection declarations have to be separate + * Also: hot pink! (or customize the background color to match your design) + */ + +::-moz-selection { + background: rgba(2,139,255,1); /* blue */ + color: #fff; + text-shadow: none; +} + +::selection { + background: rgba(2,139,255,1); /* blue */ + color: #fff; + text-shadow: none; +} + +/* Improve readability of pre-formatted text in all browsers */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/* Position subscript and superscript content without affecting line-height: h5bp.com/k */ +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +body { + direction:rtl;/*Persian-DnnSoftware*/ + color: #444; + font-size: 12px; + line-height: 18px; + font-family: Tahoma, Arial, Helvetica, sans-serif; + -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */ + -webkit-text-size-adjust: 100%; +} + +/*-------------------------------------*/ +/* HEADER STYLES */ +/*-------------------------------------*/ + +h1, h2, h3, h4, h5, h6 { + display: block; + color: #333; + /*font-family: Arial, Helvetica, sans-serif;*/ + font-weight: bold; +} + + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + font-weight: inherit; + } + +h1 { + font-size: 24px; + line-height: 54px; + letter-spacing: normal; + margin-top: 8px; + margin-bottom: 10px; +} + +h2 { + font-size: 22px; + line-height: 36px; + letter-spacing: normal; + margin-top: 8px; + margin-bottom: 10px; +} + +h3 { + font-size: 20px; + line-height: 36px; + letter-spacing: normal; + margin-top: 8px; + margin-bottom: 10px; +} + +h4 { + font-size: 18px; + line-height: 36px; + letter-spacing: normal; +} + +h5 { + font-size: 16px; + line-height: 18px; + letter-spacing: normal; +} + +h6 { + font-size: 14px; + line-height: 18px; + letter-spacing: normal; +} + +/* Module titles */ +.Head { + display: inline-block; + margin-bottom: 6px; +} + +/* Some old forge modules use .Head, .SubHead, .SubSubHead in table td, We keep this to be compatible */ +td.Head, td.SubHead, td.SubSubHead { + display: table-cell; + margin-bottom: 0; +} + +input[type="image"] + span.Head, input[type="image"] + span.SubHead { + display: inline; +} + +/*-------------------------------------*/ +/* PARAGRAPH STYLES */ +/*-------------------------------------*/ +p { + margin: 0 0 18px 0; +} + /* margin bottom is equal to line-height */ + p img { + margin: 0; + } + +em, i { + font-style: italic; +} + +strong, b { + font-weight: bold; +} + +small { + font-size: 80%; +} + +/* Set text size in modules*/ +.Normal, +.NormalDisabled, +.NormalDeleted { + color: #444; + font-size: 12px; + font-weight: normal; + line-height: 18px; + word-wrap: break-word; +} + +/* disabled text styles */ +.NormalDisabled, +.NormalDeleted { + color: #999; +} + +/* text style used for help text rendered by modules */ +.Help { + padding: 2px; + border: #000 1px solid; + background-color: #ff9; + font-weight: normal; + font-size: 11px; + color: #000; +} +/* text style used for rendered text which requires emphasis */ +.NormalBold { + font-weight: bold; + color: #222; +} + +/* text style used for error messages */ +.NormalRed { + font-weight: bold; + color: red; +} + +/* text style used for rendered text which should appear deleted */ +.NormalDeleted { + text-decoration: line-through; +} + +/* Blockquotes */ +blockquote, blockquote p { + font-size: 17px; + line-height: 24px; + color: #777; + font-style: italic; +} + +blockquote { + margin: 0 0 20px; + padding: 9px 19px 0 20px; + border-right: 1px solid #ddd; +} + + blockquote cite { + display: block; + font-size: 12px; + color: #555; + } + + blockquote cite:before { + content: "\2014 \0020"; + } + + blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { + color: #555; + } + +hr { + clear: both; + margin: 17px 0 17px; + height: 0; + border: solid #ddd; + border-width: 1px 0 0; +} + +/*-------------------------------------*/ +/* ANCHOR STYLES */ +/*-------------------------------------*/ +a, a:visited { + color: rgb(2,139,255); /*blue*/ + text-decoration: underline; + outline: 0; +} + + a:hover, a:focus, a:active { + color: #222; + outline: 0; + } + +p a, p a:visited { + line-height: inherit; +} + +/*-------------------------------------*/ +/* IMAGE STYLES */ +/*-------------------------------------*/ +img.dnn-scale-img { + max-width: 100%; + height: auto; +} + +img { + border: 0; + -ms-interpolation-mode: bicubic; + vertical-align: middle; +} + +#dnn_dnnLOGO_imgLogo { + border: 0; +} + +/*-------------------------------------*/ +/* lIST STYLES */ +/*-------------------------------------*/ +ul, ol { + margin-bottom: 18px; + margin-right: 18px; +} + +ul { + list-style: square outside; +} + +ol { + list-style: decimal; +} + + /* Nested Styles */ + ul ul, ul ol, + ol ol, ol ul { + margin-right: 18px; + margin-bottom: 0; + } + + ol ol { + list-style: lower-roman; + } + +li p { + line-height: 18px; +} + +/*-------------------------------------*/ +/* MESSAGE STYLES */ +/*-------------------------------------*/ +.dnnFormMessage { + display: block; + padding: 17px 18px; + margin-bottom: 18px; + border: 1px solid rgba(2,139,255,0.2); /* blue */ + background: rgba(2,139,255,0.15); /* blue */ + -webkit-border-radius: 3px; + border-radius: 3px; + max-width: 980px; +} + + .dnnFormMessage.dnnFormError, + .dnnFormMessage.dnnFormValidationSummary { + background-color: rgba(255,0,0,0.15); /* red */ + border-color: rgba(255,0,0,0.2); /* red */ + } + + .dnnFormMessage.dnnFormWarning { + background-color: rgba(255,255,0,0.15); /* yellow */ + border-color: #CDB21F; /* yellow */ + } + + .dnnFormMessage.dnnFormSuccess { + background-color: rgba(0,255,0,0.15); /* green */ + border-color: rgba(0,255,0,0.5); /* green */ + } + +/*-------------------------------------*/ +/* TABLE STYLES */ +/*-------------------------------------*/ +.dnnTableHeader { + display: block; + padding: 15px; + background: none repeat scroll 0 0 #E3E3E5; +} +.dnnTableHeader a, +.dnnTableHeader input, +.dnnTableHeader select{ + margin: 0; +} +.dnnTableDisplay { + margin-bottom: 18px; + border: 1px solid #d1d1d1; + border-right: 0; + border-bottom: 0; +} + + .dnnTableDisplay td, .dnnTableDisplay th { + padding: 5px 9px; + border-bottom: 1px solid #d1d1d1; + } + + .dnnTableDisplay th { + padding: 0; + border-right: 1px solid #d1d1d1; + -webkit-box-shadow: 1px 0px 0px 0px rgba(255, 255, 255, 0.9); + box-shadow: 1px 0px 0px 0px rgba(255, 255, 255, 0.9); + } + + .dnnTableDisplay th > span, + .dnnTableDisplay th > a { + display: block; + padding: 5px 9px; + } + + .dnnTableDisplay td:first-child { + border-right: 1px solid #cfcfcf; + } + + .dnnTableDisplay label { + display: inline; + padding-right: 5px; + } + + .dnnTableDisplay caption { + display: none; + } + + /* thead styles */ + .dnnTableDisplay th { + background: -moz-linear-gradient(top, #f5f5f5 0%, #dfdfdf 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#f5f5f5), color-stop(100%,#dfdfdf)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* IE10+ */ + background: linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* W3C */ + text-align: right; + text-shadow: 1px 1px 0px rgba(255,255,255,0.8); + color: #333; + } + + .dnnTableDisplay th a, .dnnTableDisplay th label { + font-weight: normal; + color: #333; + text-decoration: none; + } + + .dnnTableDisplay th a { + padding: 8px 9px; + } + + .dnnTableDisplay th a:hover { + background: #fefefe; /* Old browsers */ + background: -moz-linear-gradient(top, #fefefe 0%, #e8e8e8 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fefefe), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* IE10+ */ + background: linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* W3C */ + color: #333; + } + + .dnnTableDisplay th a:active { + border-color: #999; + background: #c6c6c6; /* Old browsers */ + background: -moz-linear-gradient(top, #c6c6c6 0%, #f3f3f3 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#c6c6c6), color-stop(100%,#f3f3f3)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* IE10+ */ + background: linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* W3C */ + -webkit-box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.3); + box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.3); + } + /* tbody styles */ + .dnnTableDisplay tr:nth-child(2n) td { + background: rgba(0,0,0,0.04); + } + + .dnnTableDisplay tr:hover td { + background: rgba(2,139,255,0.15); /* blue */ + } + + /* tfooter styles */ + .dnnTableDisplay tfoot tr:hover td { + background: none; + } + +/* table filter styles */ +.dnnTableFilter { + margin-bottom: 18px; + background: rgba(0,0,0,0.04); +} + + .dnnTableFilter .dnnTableDisplay { + margin-bottom: 0; + } + +.dnnFilterSet { + padding: 18px; +} + + .dnnFilterSet label { + display: inline-block; + } + + .dnnFilterSet input, + .dnnFilterSet select { + display: inline-block; + margin: 0 5px; + } + +/* table filter vertical styles */ +.verticalFilter .dnnFilterSet { + float: right; + width: 20%; + padding: 2% 18px; +} + +.verticalFilter .dnnTableDisplay { + float: left; + width: 75%; +} + +.verticalFilter input[type=search], .verticalFilter select, .verticalFilter input[type=text] { + margin: 0; + width: 100%; + box-sizing: border-box; + -moz-box-sizing: border-box; /* Firefox */ + -webkit-box-sizing: border-box; /* Safari */ +} + +/*-------------------------------------*/ +/* PAGINATION & RESULT STYLES */ +/*-------------------------------------*/ +.dnnResults { + float: right; + margin-bottom: 0; +} + +.dnnPagination { + float: left; + margin: 0; + padding: 0; +} + + .dnnPagination li { + float: right; + list-style: none; + } + + .dnnPagination li a, .dnnPagination li span { + display: inline-block; + padding: 0 5px; + text-decoration: none; + color: #333; + } + + .dnnPagination li a:hover { + text-decoration: underline; + color: #222; + } + + .dnnPagination li span { + color: #222; + text-decoration: underline; + } + +/*-------------------------------------*/ +/* FORM STYLES */ +/*-------------------------------------*/ + +.dnnFormItem input[type="text"], +.dnnFormItem select, +.dnnFormItem textarea, +.dnnFormItem input[type="email"], +.dnnFormItem input[type="search"], +.dnnFormItem input[type="password"] { + margin-bottom: 18px; + padding: 8px; + background: #ffffff; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.8), inset 0px 1px 2px 0px rgba(0, 0, 0, 0.1); + box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.8), inset 0px 1px 2px 0px rgba(0, 0, 0, 0.1); + color: #333; + font-size: 12px; +} + + .dnnFormItem input.aspNetDisabled, + .dnnFormItem textarea.aspNetDisabled { + background: #ebebeb; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + border-color: #a7a7a7; + border-width: 1px; + } + +.aspNetDisabled, a.aspNetDisabled, +.dnnDisabled, a.dnnDisabled { + color: #ccc; + cursor: not-allowed; + text-decoration: none; +} + +/* Active and Focus States */ +.dnnFormItem input[type="text"]:active, .dnnFormItem input[type="text"]:focus, +.dnnFormItem input[type="password"]:focus, .dnnFormItem input[type="password"]:active, +.dnnFormItem input[type="email"]:active, .dnnFormItem input[type="email"]:focus, +.dnnFormItem select:active, .dnnFormItem select:focus, +.dnnFormItem textarea:active, .dnnFormItem textarea:focus, +.dnnFormItem input[type="search"]:active, .dnnFormItem input[type="search"]:focus { + background: #fff; + border: 1px solid rgba(2,139,255,0.5); /* blue */ + -webkit-box-shadow: 0px 0px 3px 0px rgba(2, 139, 255, 0.4); + box-shadow: 0px 0px 3px 0px rgba(2, 139, 255, 0.4); + color: #333; +} +/* Required Fields */ +.required label:after, +legend.required:after { + display: inline-block; + margin-top: -2px; + margin-right: 9px; + padding: 1px 9px; + border: 1px solid rgba(0,0,0,0.1); + border-radius: 3px; + -webkit-border-radius: 3px; + background: rgba(0,0,0,0.03); + content: 'Required'; + font-weight: normal; + font-family: Tahoma, "Trebuchet MS", Arial, Helvetica, sans-serif; + font-size: 11px; + font-style: italic; + color: #777; +} + +/* Error Styles */ +.error label, legend.error { + color: rgba(255,0,0,0.9); /* opaque red*/ +} + +.error input[type="text"], +.error select, .error textarea, +.error input[type="email"], +.error input[type="search"] { + border: 1px solid rgba(255,0,0,0.6); /* opaque red*/ + color: rgba(255,0,0,0.7); /* opaque red*/ +} + +/* + * 1. Display hand cursor for clickable form elements + * 2. Allow styling of clickable form elements in iOS + * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6) + */ + +.dnnFormItem button, .dnnFormItem input[type="button"], +.dnnFormItem input[type="reset"], +.dnnFormItem input[type="submit"], +.dnnPrimaryAction, +.dnnSecondaryAction, +.dnnTertiaryAction, +ul.dnnAdminTabNav li a, +.dnnLogin .LoginTabGroup span { + display: inline-block; + padding: 9px 9px; + margin-bottom: 9px; + cursor: pointer; + min-width: 75px; + *overflow: visible; + border: 1px solid #c2c2c2; + background: #eaeaea; + -webkit-border-radius: 3px; + border-radius: 3px; + color: #333; + font-weight: bold; + text-decoration: none; + text-align: center; +} + +.dnnFormItem button, .dnnFormItem input[type="button"], +.dnnFormItem input[type="reset"], +.dnnFormItem input[type="submit"], +.dnnPrimaryAction, +.dnnSecondaryAction, +.dnnTertiaryAction { + padding: 6px 6px; +} + +/* Primary Action */ + +.dnnPrimaryAction, .dnnFormItem input[type="submit"], a.dnnPrimaryAction { + border-color: #0D569E; /*dark blue*/ + background: #3792ED; + background: -moz-linear-gradient(top, #358eea 0%, #2170cd 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#358eea), color-stop(100%,#2170cd)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #358eea 0%,#2170cd 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #358eea 0%,#2170cd 100%); /* W3C */ + -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.6), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4); + box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.6), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4); + color: #efefef; + text-shadow: 0px -1px 0px #185B93; +} + + .dnnPrimaryAction:hover, .dnnFormItem input[type="submit"]:hover, a.dnnPrimaryAction:hover { + border-color: #0D569E; + background: #6cb6f3; /* Old browsers */ + background: -moz-linear-gradient(top, #6cb6f3 0%, #4387d2 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6cb6f3), color-stop(100%,#4387d2)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #6cb6f3 0%,#4387d2 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #6cb6f3 0%,#4387d2 100%); /* W3C */ + color: #fff; + } + + .dnnPrimaryAction:active, .dnnFormItem input[type="submit"]:active, a.dnnPrimaryAction:active { + border-color: #0D569E; + background: #1f66be; /* Old browsers */ + background: -moz-linear-gradient(top, #1f66be 0%, #3085e0 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1f66be), color-stop(100%,#3085e0)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #1f66be 0%,#3085e0 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #1f66be 0%,#3085e0 100%); /* W3C */ + -webkit-box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + color: #fff; + } + + .dnnPrimaryAction[disabled], .dnnPrimaryAction[disabled]:hover, .dnnPrimaryAction[disabled]:active { + background: #ccc !important; + border: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #aaa !important; + text-shadow: none; + } + +/* Secondary Action */ +.dnnFormItem button, .dnnFormItem input[type="button"], +.dnnFormItem input[type="reset"], +.dnnSecondaryAction, +a.dnnSecondaryAction, +ul.dnnAdminTabNav li a, +.dnnLogin .LoginTabGroup span { + background: #f5f5f5; /* Old browsers */ + background: -moz-linear-gradient(top, #f5f5f5 0%, #dfdfdf 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#dfdfdf)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* IE10+ */ + background: linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* W3C */ + -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); + box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); + text-shadow: 0px 1px 0px #ffffff; + color: #333; +} + + .dnnFormItem button:hover, .dnnFormItem input[type="button"]:hover, + .dnnFormItem input[type="reset"]:hover, + .dnnSecondaryAction:hover, + a.dnnSecondaryAction:hover, + ul.dnnAdminTabNav li a:hover, + .dnnLogin .LoginTabGroup span:hover { + background: #fefefe; /* Old browsers */ + background: -moz-linear-gradient(top, #fefefe 0%, #e8e8e8 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefefe), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* IE10+ */ + background: linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* W3C */ + color: #555; + } + + .dnnFormItem button:active, + .dnnFormItem input[type="button"]:active, + .dnnFormItem input[type="reset"]:active, + .dnnFormItem input[type="reset"]:active, + .dnnSecondaryAction:active, + a.dnnSecondaryAction:active, + ul.dnnAdminTabNav li a:active { + border-color: #999; + background: #c6c6c6; /* Old browsers */ + background: -moz-linear-gradient(top, #c6c6c6 0%, #f3f3f3 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#c6c6c6), color-stop(100%,#f3f3f3)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* IE10+ */ + background: linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* W3C */ + -webkit-box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + } + +/* Fix some old forge modules use .dnnPrimaryAction and .dnnSecondaryAction in wrong way */ +span.dnnPrimaryAction > input[type="image"], +span.dnnSecondaryAction > input[type="image"] { + display: none; +} + +span.dnnPrimaryAction > a.dnnPrimaryAction, +span.dnnSecondaryAction > a.dnnSecondaryAction { + display: inline; + background: transparent; + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +/* Tertiary Action */ +.dnnTertiaryAction, a.dnnTertiaryAction { + padding: 10px 10px; + border: none; + background: #eaeaea; + color: #333; +} + + .dnnTertiaryAction:hover, a.dnnTertiaryAction:hover { + background: #f2f2f2; + } + + .dnnTertiaryAction:active, a.dnnTertiaryAction:active { + background: #d8d8d8; + } + +/* Action Button behind input */ +.dnnFormItem input[type="text"] + a.dnnPrimaryAction, +.dnnFormItem input[type="text"] + a.dnnSecondaryAction, +.dnnFormItem input[type="text"] + a.dnnTerriaryAction { + margin-right: 5px; +} + +.dnnFormItem input[type="checkbox"] + span, +.dnnFormItem input[type="radio"] + span { + margin: 5px; +} + +/* text style for buttons and link buttons used in the portal admin pages */ + +/* button style for standard HTML buttons */ +.StandardButton { + border: 1px solid blue; +} + + +/* Re-set default cursor for disabled elements */ +.dnnFormItem button[disabled], +.dnnFormItem input[disabled] { + cursor: default; + opacity: 0.5; +} + + +/* Consistent box sizing and appearance */ +.dnnFormItem input[type="checkbox"], +.dnnFormItem input[type="radio"] { + *width: 13px; + *height: 13px; /*why are we using hacks here*/ + padding: 0; + box-sizing: border-box; +} + +.dnnFormItem input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + + .dnnFormItem input[type="search"]::-webkit-search-decoration, + .dnnFormItem input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; + } + + +/* Remove inner padding and border in FF3/4: h5bp.com/l */ +.dnnFormItem button::-moz-focus-inner, .dnnFormItem input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Remove default vertical scrollbar in IE6/7/8/9 + * 2. Allow only vertical resizing + */ + +.dnnFormItem textarea { + overflow: auto; + vertical-align: top; + resize: vertical; +} + + /* Colors for form validity */ + .dnnFormItem input:valid, .dnnFormItem textarea:valid { + } + + .dnnFormItem input:invalid, .dnnFormItem textarea:invalid { + background-color: #f0dddd; + } + +/*-------------------------------------*/ +/* TAXONOMY */ +/*-------------------------------------*/ + +/* Horizontal taxonomy styles */ +.horizontal ul.categories, +.horizontal ul.tags { + list-style: none; +} + +.horizontal ul.categories { +} + +.horizontal ul.tags { +} + + .horizontal ul.categories li, .horizontal ul.tags li { + } + + .horizontal ul.tags li.add-tags { + } + + .horizontal ul.tags li.add-tags img { + } + +/* Vertical taxonomy styles */ +.vertical ul.categories, +.vertical ul.tags { + list-style: none; +} + + .vertical ul.categories li, + .vertical ul.tags li { + } + + .vertical ul.categories li { + } + + .vertical ul.tags li { + } + + .vertical ul.tags li.add-tags { + } + + .vertical ul.tags li.add-tags img { + } + +/*-------------------------------------*/ +/* TABS : JQUERY UI TABS 1.8.14 */ +/*-------------------------------------*/ +/* Tabs */ +ul.dnnAdminTabNav { + display: inline-block; + margin-top: 5px; + margin-right: 0; + width: 100%; + min-height: 37px; + border-bottom: 1px solid #c2c2c2; +} + + ul.dnnAdminTabNav li { + float: right; + margin-left: 4px; + list-style: none; + } + + ul.dnnAdminTabNav li a { + /* most styles are inherited from typography.css */ + margin-bottom: 0; + border-bottom: 0; + box-shadow: none; + -webkit-box-shadow: none; + -webkit-border-radius: 3px 0px 0px 3px; + border-radius: 3px 0px 0px 3px; + } + + ul.dnnAdminTabNav li.ui-tabs-active a { + margin-top: -3px; + padding: 12px 9px 10px 9px; + background: #fff; + } + +/* Panels */ +.ui-tabs .ui-tabs-panel { + position: relative; + display: block; +} + +.ui-tabs .ui-tabs-hide { + display: none; +} + +/*-------------------------------------*/ +/* LOGIN TAB GROUP */ +/*-------------------------------------*/ +.dnnLogin .LoginTabGroup { + display: inline-block; + width: 100%; + height: 37px; + margin-right: 0; + margin-top: 5px; + border-bottom: 1px solid #C2C2C2; +} + + .dnnLogin .LoginTabGroup span { + margin-left: 4px; + margin-bottom: 0; + border-bottom: 0 none; + border-radius: 3px 0 0 3px; + box-shadow: none; + } + + .dnnLogin .LoginTabGroup span.LoginTabSelected { + margin-top: -3px; + padding: 12px 9px 10px; + background: none repeat scroll 0 0 #FFFFFF; + } + +/*-------------------------------------*/ +/* TABS : JQUERY UI RESIZABLE 1.8.14 */ +/*-------------------------------------*/ +.dnnForm .ui-resizable { + position: relative; +} + +.dnnForm .ui-resizable-handle { + position: absolute; + display: block; + z-index: 99999; + font-size: 0.1px; +} + +.dnnForm .ui-resizable-disabled .ui-resizable-handle, +.dnnForm .ui-resizable-autohide .ui-resizable-handle { + display: none; +} + +.dnnForm .ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + right: 0; +} + +.dnnForm .ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + right: 0; +} + +.dnnForm .ui-resizable-e { + cursor: e-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} + +.dnnForm .ui-resizable-w { + cursor: w-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} + +.dnnForm .ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + left: 1px; + bottom: 1px; +} + +.dnnForm .ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + right: -5px; + bottom: -5px; +} + +.dnnForm .ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} + +.dnnForm .ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +/* + +/*-------------------------------------*/ +/* FORM ITEMS +/*-------------------------------------*/ +.dnnForm { + width: 100%; +} + + .dnnForm fieldset { + clear: none; + position: relative; + margin-bottom: 18px; + text-align: right; + } + + .dnnForm fieldset fieldset { + width: 100%; + } + + .dnnForm .dnnFormItem { + clear: both; + width: 100%; + display: block; + position: relative; + text-align: right; + } + +/* Label */ +.dnnTooltip { + position: relative; + display: block; + width: 32.075%; + margin-right: 18px; +} + +.dnnHelperTip { + position: relative; + display: block; +} + +.dnnDragdropTip { + z-index: 10000; + position: absolute; + width: auto !important; + height: auto !important; + padding: 10px; + padding-right: 30px; + border-radius: 3px; + background: rgba(0, 0, 0, 0.75) url(../../../../../images/pin-icn.png) no-repeat 7px 12px; + font-size: 11px; + color: #DDD; + text-align: right; +} + +span.dnnFormRequired:after, +div.dnnFormItem.dnnFormRequired > div.dnnLabel span:after { + content: "*"; + display: inline-block; + margin: 0 5px 0 0; + color: Red; + font-size: 16px; + line-height: 1em; + font-weight: bold; +} + +.dnnFormItem input[type="checkbox"] + span, +.dnnFormItem input[type="radio"] + span { + display: inline-block; + width: auto; + margin: 6px 5px 6px 5px; +} + +/* Help Label */ +a.dnnFormHelp, +.dnnForm .dnnFormItem a.dnnFormHelp, +.dnnTooltip label a.dnnFormHelp { + color: #333; + text-decoration: none; + font-weight: bold; +} + +a.dnnFormHelp { + display: inline-block; + position: absolute; + left: 0; + top: 2px; + width: 14px; + height: 15px; + background: url(../../../../../images/helpI-icn-grey.png) no-repeat right 2px; + padding: 0 !important; + margin: 0 !important; +} + +.dnnLabel { + display: inline-block; + float: right; + position: relative; + width: 32.075%; + padding-left: 20px; + margin-left: 18px; + overflow: visible; + text-align: left; +} + +.dnnFormItem > .dnnLabel { + margin-top: 5px; +} + +.dnnLabel > span { + text-align: left; +} + +.dnnForm .dnnFormItem a.dnnFormHelp span { + position: relative; +} + +.dnnForm .dnnFormItem a.dnnFormHelp img { + display: block; +} + +.dnnLabel + span { + display: inline-block; + margin-top: 6px; + margin-bottom: 6px; + white-space: pre-line; +} + +/* Compatible with some old forge modules */ +td > .dnnLabel { + width: 220px; +} + +/* Help tooltip */ +.dnnTooltip .dnnFormHelpContent, +.dnnHelperTip .dnnFormHelpContent { + visibility: hidden; + z-index: 10; + position: absolute; + width: 200px; + padding: 10px; + padding-right: 30px; + border-radius: 3px; + background: rgba(0,0,0,0.75); + font-size: 11px; + color: #ddd; + text-align: right; +} + +.dnnFormHelpContent span { + display: block; + word-wrap: break-word; +} + +/*.dnnTooltip .dnnFormHelpContent span:after, +.dnnHelperTip .dnnFormHelpContent span:after { + position: absolute; + content: ""; + right: 15px; + bottom: -7px; + width: 0; + height: 0; + opacity: 0.75; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #000; +}*/ + +.dnnTooltip .dnnFormHelpContent .dnnHelpText { + word-wrap: break-word; +} + +.bottomArrow:after +{ + position: absolute; + content: ""; + right: 15px; + bottom: -7px; + width: 0; + height: 0; + opacity: 0.75; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #000; +} +.topArrow:before { + position: absolute; + content: ""; + right: 15px; + top: -7px; + width: 0; + height: 0; + opacity: 0.75; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #000; +} + +a.pinHelp { + display: block; + position: absolute; + right: 7px; + top: 12px; + width: 15px; + height: 15px; + opacity: 0.5; + background: url(../../../../../images/pin-icn.png) no-repeat 0 0; +} + + .ui-draggable a.pinHelp, + a.pinHelp:hover { + opacity: 1; + } + +/* Error tooltip */ +.dnnFormItem span.dnnFormMessage.dnnFormError { + display: block; + position: absolute; + overflow: visible; + /*top:-95%; right: 12%;*/ + bottom: 95%; + left: 12%; + width: 200px; + margin-bottom: 0; + padding: 10px; + border: none; + border-radius: 3px; + background: rgba(255,0,0,0.75); + font-size: 12px; + color: #fff; + text-align: left; +} + + .dnnFormItem span.dnnFormMessage.dnnFormError:after { + position: absolute; + bottom: -7px; + right: 15px; + content: ""; + width: 0; + height: 0; + opacity: 0.75; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid red; + } + +/* Input Types*/ +.dnnFormItem input[type="text"], +.dnnFormItem input[type="password"], +.dnnFormItem input[type="email"], +.dnnFormItem input[type="tel"], +.dnnFormItem select, +.dnnFormItem textarea { + width: 45%; + max-width: 445px; +} + +.dnnFormItem select { + width: 47%; +} + + .dnnFormItem select option { + color: #333; + } + +.dnnFormItem table { + background: none; +} + +/* Input Customised Checkbox*/ + +.dnnCheckbox { + display: inline-block; + cursor: pointer; +} + + .dnnCheckbox .mark { + display: inline-block; /*margin-top: 3px;*/ + } + + .dnnCheckbox img { + display: inline-block; + width: 20px; + height: 18px; + min-width: 20px; + vertical-align: middle; + } + + .dnnCheckbox img { + background: transparent url(../../../../../images/checkbox.png) no-repeat; + } + + .dnnCheckbox img { + background-position: 3px 0px; + } + +.dnnCheckbox-hover img { + background-position: 3px 0px; +} + +.dnnCheckbox-checked img { + background-position: -51px 0px; +} + +.dnnCheckbox-disabled { + cursor: not-allowed; +} + +.dnnCheckbox-disabled img { + opacity: .5; +} + +.dnnCheckbox-checked-error img { + background-position: -150px 0px; +} + +.dnnCheckbox-error img { + background-position: -100px 0px; +} +.dnnCheckbox-focus { + background-color: #e3e3e5; +} +.dnnBoxLabel{ display: inline-block;} +/* normal checkbox fix */ +.dnnFormItem input[type="checkbox"].normalCheckBox { + display: inline-block; + margin: 8px 0 4px 0; +} + +/* Input Customised Radiobutton */ + +.dnnRadiobutton { + display: inline-block; + cursor: pointer; +} + + .dnnRadiobutton .mark { + display: inline-block; + } + + .dnnRadiobutton img { + width: 20px; + height: 18px; + min-width: 20px; + vertical-align: middle; + } + + .dnnRadiobutton img { + background: transparent url(../../../../../images/radiobutton.png) no-repeat; + } + + .dnnRadiobutton img { + background-position: 0px 0px; + } + +.dnnRadiobutton-hover img { + background-position: 0px 0px; +} + +.dnnRadiobutton-checked img { + background-position: -50px 0px; +} + +.dnnRadiobutton-disabled img { + opacity: .5; +} + +.dnnRadiobutton-checked-error img { + background-position: -150px 0px; +} + +.dnnRadiobutton-error img { + background-position: -100px 0px; +} +.dnnRadiobutton-focus { + background-color: #e3e3e5; +} +/* Input RadioButton group */ +div.dnnFormRadioButtons, +div.dnnHSRadioButtons, +span.dnnFormRadioButtons, +span.dnnHSRadioButtons { + display: inline-block; + padding: 10px; + margin-bottom: 5px; + background-color: #f0f0f0; +} + +table.dnnFormRadioButtons { + background-color: #f0f0f0; + margin-bottom: 5px; +} + +.RadComboBox_Default .rcbInput { + width: 100% !important; +} + +/* general group*/ +div.dnnFormGroup { + display: inline-block; + padding: 10px; + margin-bottom: 5px; + background-color: #f0f0f0; + width: 65%; +} + +/* Input Customised Spinner */ +.dnnSpinner { + display: inline-block; + position: relative; + width: 150px; + padding: 6px 6px; + *overflow: visible; + border: 1px solid #c9c9c9; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + color: #333; + text-decoration: none; + -webkit-box-shadow: 0px 1px 0px 0px #bbb; + box-shadow: 0px 1px 0px 0px #bbb; +} + +.dnnFormItem .dnnSpinner { + width: 45%; + margin-bottom: 18px; +} + +.dnnSpinnerDisplay { + margin: 0 8px 0 25px; + background: transparent; + color: #999; +} + +.dnnFormItem .dnnSpinnerDisplay > input[type="text"], +.dnnFormItem .dnnSpinnerDisplay > input[type="text"]:focus { + border: none; + margin: 0; + box-shadow: none; + padding: 0; + background: transparent; +} + +.dnnSpinnerCtrl { + position: absolute; + top: 0; + left: 0; + width: 25px; + background-color: transparent; + border-right: 1px solid #c9c9c9; +} + + .dnnSpinnerCtrl > a.dnnSpinnerTopButton { + display: block; + width: 25px; + height: 16px; + background: transparent url(../../../../../images/dnnSpinnerUpArrow.png) no-repeat; + background-position: center; + cursor: pointer; + } + + .dnnSpinnerCtrl > a.dnnSpinnerBotButton { + display: block; + width: 25px; + height: 16px; + background: transparent url(../../../../../images/dnnSpinnerDownArrow.png) no-repeat; + background-position: center; + cursor: pointer; + } + +/* Input Customised Tags */ +div.dnnTagsInput { + display: inline-block; + margin: 0; + padding: 5px 5px 0 0; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + border-radius: 3px; + background: #FFF; + -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8), inset 0 1px 2px 0 rgba(0, 0, 0, 0.3); + box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8), inset 0 1px 2px 0 rgba(0, 0, 0, 0.3); +} + +.dnnFormItem .dnnTagsInput { + width: 45%; +} + +div.dnnTagsInput span.tag { + display: block; + float: right; + padding: 2px 6px 2px 6px; + margin-left: 5px; + margin-bottom: 5px; + border: 1px solid #c9c9c9; + border-radius: 3px; + -webkit-border-radius: 3px; + font-size: 12px; + text-decoration: none; + color: #888; + cursor: pointer; + background-color: #eee; +} + + div.dnnTagsInput span.tag:hover { + background-color: #e8f1fa; + color: #444; + } + + div.dnnTagsInput span.tag a { + display: inline-block; + width: 8px; + height: 8px; + margin: 6px 0 0 0; + background: transparent url(../../../../../images/dnnTagClose.png) no-repeat; + background-position: center; + } + +div.dnnTagsInput > div > input, +div.dnnTagsInput > div > input:focus { + border: none; + background: transparent; + outline: none; + font-weight: normal; + font-family: Tahoma, helvetica; + font-size: 12px; + display: inline-block; + vertical-align: top; + height: 19px; + padding: 3px 0 3px 3px; + margin-bottom: 5px; +} + +div.dnnTagsInput > div > input::-ms-clear { + display: none; +} + +div.dnnTagsInput div { + display: block; + float: right; +} + + div.dnnTagsInput div.dnnTags_filter { + float: left; + position: relative; + margin: 0 5px 5px 0; + } + + div.dnnTagsInput div.dnnTags_filter > .dnnTags_filter_label { + display: inline-block; + border-left: 1px solid #ccc; + padding: 3px 10px 0 15px; + margin-left: 3px; + color: #999; + cursor: pointer; + background: url(../../../../../../images/dnnSpinnerDownArrow.png) no-repeat; + background-position: left center; + height: 22px; + } + + div.dnnTagsInput div.dnnTags_filter > .dnnTags_filter_label.dnnExpanded { + color: #666; + background: url(../../../../../../images/dnnSpinnerUpArrow.png) no-repeat; + background-position: left center; + } + + div.dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl { + display: none; + position: absolute; + list-style-type: none; + background: #fff; + border: 1px solid #c9c9c9; + left: 22px; + top: 28px; + margin: 0; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + z-index: 15; + } + +.dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li { + white-space: nowrap; + padding: 6px 8px 6px 12px; + border-top: 1px solid #c9c9c9; + list-style: none; + color: #666; + min-width: 150px; +} + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li:first-child { + border-top: none; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li:hover { + background-color: #e8f1fa; + color: #333; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li > input { + display: inline-block; + vertical-align: top; + margin-left: 10px; + cursor: pointer; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li > span.dnnCheckbox { + margin-left: 8px; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li > label { + display: inline-block; + vertical-align: top; + cursor: pointer; + } + +div.dnnTagsInput div.dnnTags_filter a.dnnSearchButton { + display: inline-block; + width: 18px; + height: 18px; + background-image: url(../../../../../../images/search/searchButton.png); + background-repeat: no-repeat; + background-position: center center; + vertical-align: top; + cursor: pointer; + margin: 4px 4px 0 5px; +} + +.dnnTagsClear { + clear: both; + width: 100%; + height: 0px; +} + +div.dnnTagsInput > div > input.dnnTagsInvalid { + display: block; + float: right; + margin-right: 5px; + border: none; + outline: none; + border-radius: 3px; + -webkit-border-radius: 3px; + background: #FBD8DB; /*light red*/ + cursor: pointer; + font-size: 12px; + color: #90111A !important; /* dark red*/ + text-decoration: none; +} + +/* DNN Auto Complete */ +.dnn_acResults { + padding: 0px; + border: 1px solid #c9c9c9; + background-color: #fff; + overflow: hidden; + z-index: 900001; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + min-width: 150px; +} + + .dnn_acResults ul { + margin: 0px; + padding: 0px; + list-style-position: outside; + list-style: none; + } + + .dnn_acResults ul li { + margin: 0px; + padding: 6px 22px 6px 22px; + border-top: 1px solid #c9c9c9; + color: #666; + cursor: pointer; + display: block; + overflow: hidden; + color: #333; + } + + .dnn_acResults ul li:first-child { + border-top: none; + } + +.dnn_acLoading { +} + +.dnn_acSelect { + background-color: #e8f1fa; + color: #333; +} + +/* Form Item */ +.dnnFormMessage .dnnLabel { + float: none; + width: 90%; + text-align: left; +} + +/* Pane header */ +.dnnFormSectionHead span { + font-size: 18px; + color: #222; +} + +/* Progressbar*/ +.dnnProgressbar { + height: 25px !important; + padding: 18px 10px 0 10px; + border: 1px solid #c9c9c9; + background: #fff; + background: -moz-linear-gradient(top, #f0f2f1 0%, #fff 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f2f1), color-stop(100%,#fff)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f0f2f1 0%,#fff 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #f0f2f1 0%,#fff 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.25), 0px 1px 0px 0px #fff; + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.25), 0px 1px 0px 0px #fff; +} + +.ui-progressbar { + height: 10px !important; + overflow: hidden; + background-color: #ccc; + -webkit-box-shadow: inset 0px 1px 0px 0px #bbb; + box-shadow: inset 0px 1px 0px 0px #bbb; + text-align: right; +} + + .ui-progressbar .ui-progressbar-value { + margin: 0; + height: 100%; + background-color: #1a82f7; + background: -moz-linear-gradient(left, #2b7fda 0%, #3fbdff 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, right top, color-stop(0%,#2b7fda), color-stop(100%,#3fbdff)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(left, #2b7fda 0%, #3fbdff 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(left, #2b7fda 0%, #3fbdff 100%); /* W3C */ + } + +/* Button Dropdown */ +.dnnDropdownSettings { + position: relative; + height: 30px !important; +} + +.dnnButtonDropdown { + width: 50px; + height: 30px !important; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px #bbb; + box-shadow: 0px 1px 0px 0px #bbb; + border: 1px solid #c9c9c9; + cursor: pointer; +} + +.dnnButtonIcon, .dnnButtonArrow { + display: inline-block; + height: 30px !important; +} + +.dnnButtonIcon { + width: 32px; +} + +.dnnButtonArrow { + width: 10px; + background: transparent url(../../../../../images/dnnSpinnerDownArrow.png) no-repeat center; +} + +.dnnButtonDropdown-clicked { + z-index: 100; + position: absolute; + width: 50px; + height: 30px !important; + background: #fff; + border: 1px solid #c9c9c9; + border-bottom: 1px solid #fff; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; +} + +.dnnButtonDropdown-ul { + display: none; + position: absolute; + z-index: 99; + top: 29px; + right: 0; + width: 200px; + margin-right: 0; + background: #fff; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + list-style-type: none; +} + + .dnnButtonDropdown-ul > li, .dnnButtonDropdown-ul > ul > li { + padding: 8px; + border-bottom: 1px solid #c9c9c9; + color: #333; + cursor: pointer; + vertical-align: middle; + list-style: none; + margin: 0; + } + .dnnButtonDropdown-ul > ul{ margin: 0;} + .dnnButtonDropdown-ul > ul > li{ padding-right: 16px;} + + .dnnButtonDropdown-ul > li:last-child { + border-bottom: none !important; + } + + .dnnButtonDropdown-ul > li:hover { + background-color: #e8f1fa; + color: #000; + } + +/* Button Group */ +ul.dnnButtonGroup { + display: inline-block; + margin: 0; + padding: 0; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px #bbb; + box-shadow: 0px 1px 0px 0px #bbb; + border: 1px solid #c9c9c9; + cursor: pointer; + list-style: none; +} + + ul.dnnButtonGroup > li { + display: block; + float: right; + border-right: 1px solid #c9c9c9; + margin: 0; + } + + ul.dnnButtonGroup > li:hover { + background-color: #e8f1fa; + } + + ul.dnnButtonGroup > li.dnnButtonGroup-first { + display: none; + } + + ul.dnnButtonGroup > li.dnnButtonGroup-first + li { + border-right: none; + } + + ul.dnnButtonGroup > li > a { + display: inline-block; + padding: 7px 7px 6px 7px; + text-decoration: none; + color: #333; + } + + ul.dnnButtonGroup span { + color: #333; + } + + +/* Grouped Multi Input */ +.dnnFormItem .dnnInputGroup { + float: right; + display: block; + width: 32.075%; + padding: 5px; + margin-bottom: 18px; + background: rgba(0,0,0,0.05); /* opaque black */ +} + + .dnnFormItem .dnnInputGroup .dnnLeft { + width: 100%; + } + + .dnnFormItem .dnnInputGroup span { + display: inline-block; + width: 33%; + text-align: left; + } + +/* Error Styles */ +.dnnFormError label a span { + color: red; +} + +.dnnFormError input[type="text"], +.dnnFormError input[type="password"], +.dnnFormError input[type="email"], +.dnnFormError input[type="tel"], +.dnnFormError select, +.dnnFormError textarea { + border: 1px solid red; +} + + +/* Tertiary Actions */ +.dnnFormItem input[type="text"] + .dnnTertiaryAction, +.dnnFormItem input[type="password"] + .dnnTertiaryAction, +.dnnFormItem input[type="email"] + .dnnTertiaryAction, +.dnnFormItem input[type="tel"] + .dnnTertiaryAction, +.dnnFormItem select + .dnnTertiaryAction { + display: inline-block; + max-width: 60px; +} + +/* Information Feedback Aside */ +.dnnForm fieldset.dnnFormInformation { + float: right; + width: 32.075%; + margin-left: 16px; + padding: 18px 0; + background: rgba(0,0,0,0.05); +} + +.dnnFormItem textarea { + min-height: 80px; +} + +.dnnAddress input[type="checkbox"] { + margin: 0 5px; +} + +/* Required Fields */ +.dnnFormRadioButtons { + float: right; + display: block; + width: auto; +} + + .dnnFormRadioButtons input[type=radio] { + float: none; + } + + .dnnFormRadioButtons label, + .dnnFormItem input[type=radio] + label { + float: none; + display: inline; + width: auto; + padding-right: 0; + margin: 0 0 0 10px; + text-align: right; + font-weight: normal; + } + +/* Text Editor */ +.dnnTextEditor { + margin-bottom: 18px; +} + +/* Action Items */ +.dnnActions { + float: none; + clear: both; + display: block; /* prevent ul from collapsing */ + margin: 0; + padding-top: 18px; + text-align: right; +} + + .dnnActions li { + float: right; + margin-left: 5px; + list-style: none; + } + +.dnnLoginActions { + display: inline-block; +} + +/* Short Form */ +.dnnForm.dnnShortForm .dnnFormItem label { + float: none; + width: 100%; + margin-bottom: 0.25em; + text-align: right; +} + +.dnnForm.dnnShortForm .dnnFormItem input, +.dnnForm.dnnShortForm .dnnFormItem select, +.dnnForm.dnnShortForm .dnnFormItem textarea { + float: none; + text-align: right; +} + +.dnnForm.dnnShortForm .dnnFormItem a.dnnFormHelp { + background-position: right; + padding-right: 22px; +} + +/* UI Helpers */ +.dnnForm .ui-helper-hidden { + display: none; +} + +.dnnForm .ui-helper-hidden-accessible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); +} + +/* Interaction Cues */ +.dnnForm .ui-state-highlight, +.dnnForm .ui-widget-content .ui-state-highlight, +.dnnForm .ui-widget-header .ui-state-highlight { + border: 1px solid #fed22f; + background: #ffe45c; + color: #363636; +} + + .dnnForm .ui-state-highlight a, + .dnnForm .ui-widget-content .ui-state-highlight a, + .ui-widget-header .ui-state-highlight a { + color: #363636; + } + +.dnnForm .ui-state-error, +.dnnForm .ui-widget-content .ui-state-error, +.dnnForm .ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #b81900; + color: #ffffff; +} + + .dnnForm .ui-state-error a, + .dnnForm .ui-widget-content .ui-state-error a, + .dnnForm .ui-widget-header .ui-state-error a { + color: #ffffff; + } + +.dnnForm .ui-state-error-text, +.dnnForm .ui-widget-content .ui-state-error-text, +.dnnForm .ui-widget-header .ui-state-error-text { + color: #ffffff; +} + +.dnnForm .ui-priority-primary, +.dnnForm .ui-widget-content .ui-priority-primary, +.dnnForm .ui-widget-header .ui-priority-primary { + font-weight: bold; +} + +.dnnForm .ui-priority-secondary, +.dnnForm .ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter: Alpha(Opacity=70); + font-weight: normal; +} + +.dnnForm .ui-state-disabled, +.dnnForm .ui-widget-content .ui-state-disabled, +.dnnForm .ui-widget-header .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; +} + +.dnnForm .ui-draggable { + cursor: move; +} + +/* Corner radius */ +.dnnForm .ui-corner-all, +.dnnForm .ui-corner-top, +.dnnForm .ui-corner-left, +.dnnForm .ui-corner-tl { + border-radius: 4px; +} + +.dnnForm .ui-corner-all, +.dnnForm .ui-corner-top, +.dnnForm .ui-corner-right, +.dnnForm .ui-corner-tr { + border-radius: 4px; +} +/*-------------------------------------*/ +/* MODULE TITLE - TEMPORARY */ +/*-------------------------------------*/ + +/* Need to determine what this is */ +.ModuleTitle_MenuContainer { + border: 1px solid blue; +} + +.ModuleTitle_MenuBar { +} + +.ModuleTitle_MenuItem { +} + +.ModuleTitle_MenuIcon { +} + +.ModuleTitle_SubMenu { +} + +.ModuleTitle_MenuBreak { +} + +.ModuleTitle_MenuItemSel { +} + +.ModuleTitle_MenuArrow { +} + +.ModuleTitle_RootMenuArrow { +} + +/*-------------------------------------*/ +/* MAIN MENU - TEMPORARY */ +/*-------------------------------------*/ + +/* Need to determine what this is */ +.MainMenu_MenuContainer { + border: 1px solid green; +} + +.MainMenu_MenuBar { +} + +.MainMenu_MenuItem { +} + +.MainMenu_MenuIcon { +} + +.MainMenu_SubMenu { +} + +.MainMenu_MenuBreak { +} + +.MainMenu_MenuItemSel { +} + +.MainMenu_MenuArrow { +} + +.MainMenu_RootMenuArrow { +} + +/*-------------------------------------*/ +/* POPUP */ +/*-------------------------------------*/ + +/* Popup Menu */ +.ui-widget-overlay { + position: fixed; + top: 0; + right: 0; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.65); + z-index: 9999; +} + +.dnnFormPopup { + position: absolute; + padding: 18px; + background: #fff; + -webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.75); + box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.75); + z-index: 100000; +} + /* Popup header */ + .dnnFormPopup, .dnnFormPopup > * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + } + .dnnFormPopup .ui-dialog-titlebar { + position: relative; + padding: 0 0 18px 0; + border-bottom: 1px solid #ddd; + cursor: move; + font-size: 18px; + font-weight: bold; + } + + .dnnFormPopup .dnnModalCtrl { + display: block; + position: absolute; + top: -30px; + left: -30px; + width: 69px; + height: 26px; + border-radius: 10px; + background-color: #fff; + -webkit-border-radius: 10px; + box-shadow: 0px 0px 5px #666; + } + + .dnnFormPopup .dnnModalCtrl .ui-dialog-titlebar-close { + float: left; + display: block; + height: 18px; + width: 30px; + margin: 4px 1px 0 4px; + overflow: hidden; + -webkit-border-top-left-radius: 8px; + -webkit-border-bottom-left-radius: 8px; + border: none; + outline: none; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; + background: #585858 url(../../../../../images/closeBtn.png) no-repeat; + background-position: 8px 4px; + text-indent: -9999em; + min-width: 0 !important; + } + + .dnnFormPopup .dnnModalCtrl .ui-dialog-titlebar-close:hover { + background: #358EEA url(../../../../../images/closeBtn.png) no-repeat; + background-position: 8px 4px; + cursor: pointer; + } + + .dnnFormPopup .dnnModalCtrl a.dnnToggleMax { + float: right; + display: block; + height: 18px; + width: 30px; + margin: 4px 4px 0 0; + overflow: hidden; + -webkit-border-top-right-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; + background: #585858 url(../../../../../images/resizeBtn.png) no-repeat; + background-position: 10px 2px; + text-indent: -9999em; + } + + .dnnFormPopup .dnnModalCtrl a.dnnToggleMax:hover { + background: #358EEA url(../../../../../images/resizeBtn.png) no-repeat; + background-position: 10px 2px; + } + +div.ui-dialog-titlebar > .ui-dialog-titlebar-close { + display: block; + position: absolute; + top: -30px; + left: -30px; + height: 24px; + width: 24px; + margin: 0px; + overflow: hidden; + -webkit-border-radius: 12px; + border-radius: 12px; + background: #585858 url(../../../../../images/closeBtn.png) no-repeat; + background-position: 4px 4px; + border: 3px solid #fff; + text-indent: -9999em; + min-width: 0 !important; +} + +/* Poup Iframe styles*/ +.dnnFormPopup #iPopUp { + width: 100%!important; /* to overwrite inline javscript styles */ + padding-top: 10px; +} + +.dnnFormPopup .ui-dialog-content, #iPopUp .ui-dialog-content { + position: relative; + border: 0; + padding: 0px; + overflow: auto; + background: #fff; + zoom: 1; +} + +.dnnFormPopup .ui-dialog-buttonpane { + margin: .5em 0 0 0; + padding: .3em 0em 0em 1em; + overflow: hidden; + border-width: 1px 0 0 0; + background-image: none; + text-align: right; + border-top: 1px solid #ddd; +} + + .dnnFormPopup .ui-dialog-buttonpane button { + margin: 0.5em 0em 0.5em 0.4em; + padding: 0.5em 1em; + cursor: pointer; + border: none; + outline: none; + } + +.dnnFormPopup .ui-resizable-se { + float: left; + height: 24px; + width: 24px; + background: url(../../../../../images/modal-resize-icn.png) no-repeat bottom; + cursor:sw-resize;/*Persian-DnnSoftware*/ +} + +.dnnFormPopup .dnnDialog { + padding: 10px; +} + +.dnnLoading { + background: #fff url(../../../../../images/loading.gif) no-repeat center center; + position: absolute; + z-index: 9999; +} +.dnnPanelLoading { + right: 0; + top: 0; + width: 100%; + height: 100%; + -ms-opacity: 0.7; + opacity: 0.7; +} + +/*-------------------------------------*/ +/* URL ACTION */ +/*-------------------------------------*/ +.urlControl label { + width: auto; + margin-top: 0; + font-weight: normal; +} + +.urlControlLinkType { + width: auto; +} + + .urlControlLinkType span, + .dnnFormItem .urlControlLinkType span { + float: none; + display: block; + width: auto; + text-align: right; + } + +.dnnFormItem .ucLinkTypeRadioButtons label { + display: inline-block; + width: 260px; + padding-left: 0; + margin-top: 0; + font-weight: normal; + text-align: right; +} + +.urlControlLinkType span input { + min-width: 3%; +} + +.dnnForm.dnnModuleSettings .dnnFormItem .urlControlLinkType span label { + text-align: right; +} + +.urlControlFileRow { + clear: both; +} + + .urlControlFileRow span.dnnFormLabel { + width: auto; + text-align: left; + } + + .urlControlFileRow select, .urlControlFileRow input[type=file] { + clear: both; + } + +.urlControlImagesRow { + overflow: hidden; + clear: both; +} + + .urlControlImagesRow span.dnnFormLabel { + width: auto; + text-align: left; + } + + .urlControlImagesRow select { + clear: both; + } + +/*-------------------------------------*/ +/* WIZARD TABS STEPS +/*-------------------------------------*/ + +/* Jquery UI tabs base */ +.dnnWizardTab.ui-tabs { + position: relative; + padding: 0; +} + + .dnnWizardTab.ui-tabs .ui-tabs-nav { + display: block; + height: 46px; + margin: 0; + padding: 0; + background: transparent url(../../../../../images/InstallWizardBG.rtl.png) repeat-x;/*Persian-DnnSoftware*/ + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li { + float: right; + position: relative; + margin: 0; + padding: 0; + border-bottom: 0 !important; + list-style: none; + white-space: nowrap; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: 0; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active a, + .ui-tabs .ui-tabs-nav li.ui-state-disabled a, + .ui-tabs .ui-tabs-nav li.ui-state-processing a { + cursor: text; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li a, + .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { + cursor: pointer; + } + + .dnnWizardTab.ui-tabs .ui-tabs-panel { + clear: both; + display: block; + padding: 3em 1em 1.4em; + border-width: 0; + background: none; + } + + .dnnWizardTab.ui-tabs .ui-tabs-hide { + display: none !important; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li a { + display: block; + } + +.dnnWizardStep > span { + display: block; + float: right; +} + +.dnnWizardStep { + height: 46px; + padding: 0 20px 0 0; + background: transparent url(../../../../../images/InstallWizardBG.rtl.png) repeat-x;/*Persian-DnnSoftware*/ + background-position: 0 0; + cursor: pointer; +} + +.ui-tabs .ui-tabs-nav li:first-child .dnnWizardStep { + padding-right: 30px; +} + +.dnnWizardStepNumber { + margin: 10px 0 0 10px; + padding: 3px 8px 3px 8px; + background-color: #999; + -webkit-border-radius: 18px; + border-radius: 18px; + color: #fff; + font-weight: bold; +} + +.dnnWizardStepTitle { + margin: 13px 0 0 20px; + color: #999; + font-weight: bold; + text-decoration: none; +} + +.dnnWizardStepArrow { + width: 25px; + height: 46px; + background: transparent url(../../../../../images/InstallWizardBG.rtl.png) no-repeat;/*Persian-DnnSoftware*/ + background-position: 100% -401px; +} + +.dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active .dnnWizardStep { + height: 46px; + background-position: 0 -100px; +} + +.dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active .dnnWizardStepNumber { + background-color: #333; +} + +.dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active .dnnWizardStepTitle { + color: #333; +} + +.dnnFormExpandContent { + margin: 10px 0; +} + + .dnnFormExpandContent > a { + color: #333; + font-size: 13px; + font-weight: bold; + } +/*-------------------------------------*/ +/* DNN SIMPLE GRID +/*-------------------------------------*/ + +table.dnnPermissionsGrid, +table.dnnGrid, +table.dnnASPGrid { + margin-bottom: 20px; + border: 1px solid #c9c9c9; +} + + table.dnnPermissionsGrid { + color: #777; + } + + table.dnnPermissionsGrid tr.dnnGridHeader td { + padding: 4px 4px 4px 4px; + vertical-align: middle; + line-height: 120%; + text-align: center; + } + + table.dnnPermissionsGrid tr.dnnGridItem td, + table.dnnPermissionsGrid tr.dnnGridAltItem td { + padding: 5px 4px 5px 4px; + border-top: 1px solid #c9c9c9; + border-bottom: 1px solid #c9c9c9; + width: 70px; + text-align: center; + } + + table.dnnPermissionsGrid tr.dnnGridItem td.permissionHeader, + table.dnnPermissionsGrid tr.dnnGridAltItem td.permissionHeader { + border-left: 1px solid #c9c9c9; + text-align: right; + padding-right: 10px; + width: 150px; + } + + table.dnnPermissionsGrid tr.dnnGridHeader td.permissionHeader { + padding-right: 10px; + text-align: right; + } + + .dnnPermissionsGrid > .dnnFormItem label { + margin-left: 8px; + color: #777; + } + + .dnnPermissionsGrid > .dnnFormItem select { + width: 25%; + margin: 0 0 5px 5px; + min-width: 180px; + color: #777; + } + + .dnnPermissionsGrid > .dnnFormItem input { + margin-bottom: 0; + height: 17px; + color: #777; + width: 25%; + } + .dnnPermissionsGrid > .dnnFormItem ul.token-input-list-facebook { + display: inline-block; + vertical-align: top; + } + + .dnnPermissionsGrid > .dnnFormItem > .leftGroup { + margin-left: 35px; + float:right; + } + + .dnnPermissionsGrid > .dnnFormItem > .rightGroup { + float: right; + } + + .dnnPermissionsGrid > .dnnFormItem > .rightGroup > .dnnSecondaryAction { + position: absolute; + } + + .dnnPermissionsGrid > .dnnFormItem { + margin-bottom: 18px; + overflow: auto; + } + +.dnnGridHeader td, thead.dnnGridHeader th, tr.dnnGridHeader th{ + padding: 6px 12px 6px 12px; + border-bottom: 1px solid #c9c9c9; + border-right: 1px solid #c9c9c9; + background: #f0f2f1; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ +} + +.dnnGridItem td, .dnnGridAltItem td { + padding: 6px; + border-left: 1px solid #c9c9c9; +} + + .dnnGridItem td input, .dnnGridAltItem td input { + margin-bottom: none; + } + +.dnnGridAltItem { + background: #F2F2F2; +} + + .dnnGridItem:hover, .dnnGridAltItem:hover { + background-color: #e8f1fa; + } + +/* td > input[type="image"], + td > input[type="image"] + a, + td a > img{ + display:block; + float: left; + margin-right: 3px; + } */ + +/*-------------------------------------*/ +/* URL Control +/*-------------------------------------*/ + +.urlControl { + float: right; + display: block; + padding: 15px; + margin-bottom: 10px; + background-color: #f0f0f0; +} + + .urlControl select, + .urlControl input { + width: 180px; + margin-bottom: 10px; + } + + .urlControl input[type=text] { + direction:ltr;/*Persian-DnnSoftware*/ + } + + .urlControl dnnFormItem > a.dnnSecondaryAction { + margin: 10px 0 0 10px; + float: right; + } + + .urlControl .urlControlLinkType { + float: right; + width: 100%; + } + + .urlControl .urlControlLinkType .dnnFormLabel { + float: right; + width: auto; + margin-left: 5px; + } + + .urlControl .urlControlLinkType input[type="radio"] { + width: auto; + margin-left: 5px; + } + +/*-------------------------------------*/ +/* File Picker +/*-------------------------------------*/ +span[id$="FileControl"] { + display: block; + float: right; +} + +.dnnFilePicker { + display: block; + float: right; + background-color: #f0f0f0; + margin-bottom: 10px; + margin-left: 10px; + padding: 0 15px 0 15px; + width: 450px; +} + + .dnnFilePicker .dnnLeft { + margin: 0; + padding: 0; + margin-top: -30px; + } + + .dnnFilePicker dnnFormItem { + margin: 0; + margin-top: -10px; + padding: 0; + position: static; + } + + .dnnFilePicker .dnnLeft img { + max-width: 135px; + max-height: 100px; + } + + .dnnFilePicker .dnnLeft .dnnFilePickerImageHolder { + width: 135px; + height: 100px; + background-color: #ccc; + margin: 20px 15px; + } + + .dnnFilePicker .dnnFormItem span { + display: block; + float: right; + width: 40px; + margin-top: 8px; + padding-right: 5px; + text-align: right; + } + + .dnnFilePicker select, + .dnnFilePicker input { + width: 200px; + margin: 0; + margin-left: 10px; + float: none; + } + + .dnnFilePicker .dnnLeft a.dnnSecondaryAction { + margin: 10px 0 0 10px; + display: inline-block; + } + + .dnnFilePicker .dnnLeft img { + display: block; + margin: 20px 15px; + } + +/* FILE UPLOAD CSS */ +span.dnnInputFileWrapper > input[type="file"] { /* force file upload style here, cause some module just override */ + position: absolute; + top: 0; + left: 0; + margin: 0; + opacity: 0; + filter: alpha(opacity=0); + direction: ltr; + cursor: pointer; + height: 100%; + font-size: 200px; +} + +span.dnnInputFileWrapper { /* Notes(by Richard): here must set !important */ + overflow: hidden !important; + margin: 0px 0 0 4px; + width: auto !important; + display: block !important; + float: right !important; + position: relative; +} + + span.dnnInputFileWrapper > span.dnnSecondaryAction { + display: inline-block; + float: none; + width: auto; + } + +/* DNN DRAG n DROP FILE PICKER UPLOAD */ +.dnnFileUploadScope { + display: block; + float: right; + background-color: #F0F0F0; + margin-bottom: 10px; + margin-right: 10px; + padding: 0; + width: 500px; +} + + .dnnFileUploadScope .dnnLeft { + margin: 0; + padding: 15px 10px 15px 10px; + } + + .dnnFileUploadScope .dnnLeft .dnnFormItem { + margin-bottom: 10px; + } + + .dnnFileUploadScope .dnnFormItem span, .urlControlTab .dnnFormItem > span { + display: block; + float: right; + width: 40px; + margin-top: 8px; + padding-left: 5px; + text-align: left; + } + + .dnnFileUploadScope .dnnFormItem .dnnDropDownList span { + margin: 0; + width: auto; + } + + .dnnFileUploadScope .dnnFormItem .RadComboBox_Default, .dnnFileUploadScope .dnnFormItem .dnnDropDownList{ + width: 180px; + margin: 0; + float: none; + } + + .dnnFileUploadScope .dnnLeft .dnnFileUploadDropZone { + position: relative; + margin: 0; + width: 180px; + height: 150px; + background: #d9eeff; + border: 1px dashed #bbb; + box-shadow: 0px 1px 0px #fff; + -webkit-border-radius: 3px; + border-radius: 3px; + color: #4577a2; + } + + .dnnFileUploadScope .dnnLeft .dnnFileUploadDropZone span { + display: block; + position: absolute; + right: 38px; + top: 60px; + color: #fff; + font-size: 12px; + background: rgba(0,0,0,0.5); + padding: 5px 7px; + border-radius: 3px; + box-shadow: 0px 1px 0px #fff, inset 1px 1px 0px #555; + opacity: 0.5; + cursor: default; + -webkit-transition: all 500ms ease-in-out; + -moz-transition: all 500ms ease-in-out; + -ms-transition: all 500ms ease-in-out; + -o-transition: all 500ms ease-in-out; + transition: all 500ms ease-in-out; + } + + .dnnFileUploadScope .dnnLeft .dnnFileUploadDropZone:hover span { + opacity: 1; + } + +input.dnnFixedSizeComboBox { + width: 200px !important; + margin-left: 10px; + float: right; +} + +div.dnnFixedSizeComboBox { + width: 218px !important; + margin-left: 15px; + float: right; +} + +.dnnFixedSizeComboBox + a.dnnSecondaryAction { + float: right; + margin-left: 10px; +} + +input.dnnSmallSizeComboBox { + width: 100px !important; + margin-left: 10px; + float: right; +} + +div.dnnSmallSizeComboBox { + width: 118px !important; + margin-left: 15px; + float: right; +} + +.dnnSmallSizeComboBox + a.dnnSecondaryAction { + float: right; + margin-left: 10px; +} + +td.dnnGridHeaderTD-NoBorder { + border-left: none !important; +} + +tr.dnnGridItem td, tr.dnnGridAltItem td { + border-left: none; +} + + tr.dnnGridItem td input { + margin-bottom: 0; + } + +/*-------------------------------------*/ +/* ACCORDIAN +/*-------------------------------------*/ +h2.dnnFormSectionHead { + margin-top: 8px; + margin-bottom: 18px; + border-bottom: 1px solid #ddd; + font-size: 22px; + line-height: 36px; + letter-spacing: -0.03em; +} + + h2.dnnFormSectionHead a { + display: block; + padding-right: 3px; + background: url(../../../../../images/down-icn.png) no-repeat left 50%; + text-decoration: none; + color: #333; + font-size: 18px; + letter-spacing: normal; + font-weight: normal; + } + + h2.dnnFormSectionHead a:hover { + color: #222; + background: rgba(2,139,255,0.05) /* blue */ url(../../../../../images/down-icn.png) no-repeat left 50%; + } + + h2.dnnFormSectionHead a.dnnSectionExpanded { + background: url(../../../../../images/up-icn.png) no-repeat left 50%; + color: #222; + } + + h2.dnnFormSectionHead a.dnnSectionExpanded:hover { + color: #222; + background: rgba(2,139,255,0.05) /* blue */ url(../../../../../images/up-icn.png) no-repeat left 50%; /* ACTIVE BLUE */ + } + +/*-------------------------------------*/ +/* VERTICAL TABS */ +/*-------------------------------------*/ +.dnnVerticalTabs { + margin-right: 0; +} + + .dnnVerticalTabs li { + list-style: none; + } + + .dnnVerticalTabs li a { + display: block; + padding: 15px 15px; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + background: rgba(0, 0, 0, 0.04); + color: #999; + text-decoration: none; + } + + .dnnVerticalTabs li a:hover { + background: rgba(0, 0, 0, 0.06); + color: #333; + } + + .dnnVerticalTabs li.active a { + background: none; + color: #333; + border-right: 1px solid transparent; + } + +.tabBody { + display: none; +} + +/*-------------------------------------*/ +/* SCROLL BAR */ +/*-------------------------------------*/ + +.jspContainer { + overflow: hidden; + position: relative; +} + +.jspPane { + position: absolute; +} + +.jspVerticalBar { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 100%; + background: #ccc; +} + +.jspHorizontalBar { + position: absolute; + bottom: 0; + right: 0; + width: 100%; + height: 11px; + background: #ccc; +} + + .jspVerticalBar *, + .jspHorizontalBar * { + margin: 0; + padding: 0; + } + +.jspCap { + display: none; +} + +.jspHorizontalBar .jspCap { + float: right; +} + +.jspTrack { + background: transparent; + position: relative; +} + +.jspVerticalBar .jspTrack { + width: 10px; + margin: 0 3px 0 0; +} + +.jspHorizontalBar .jspTrack { + height: 5px; + margin: 3px 0 3px 0; +} + +.jspVerticalBar .jspCap { + display: block; + height: 3px; + width: 11px; +} + +.jspHorizontalBar .jspCap { + display: block; + width: 3px; + height: 11px; +} + +.jspDrag { + position: relative; + top: 0; + right: 0; + border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + opacity: .75; + background: #000; + cursor: pointer; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag { + float: left; + height: 5px; +} + +/*-------------------------------------*/ +/* UPGRADE FIXES */ +/*-------------------------------------*/ + +/* Compatible with some old forge modules---*/ +div.ModDNNAnnouncementsC table.ucLinkTypeRadioButtons label { + display: inline !important; +} + +div.ModDNNAnnouncementsC table.ucLinkTypeRadioButtons span.dnnRadiobutton { + display: inline !important; +} + +div.ModDNNAnnouncementsC .urlControl label, div.ModDNNLinksC .urlControl label { + display: inline !important; +} + +div.ModDNNFAQsC .Normal { + width: auto !important; +} + +div.ModDNNFeedbackC .dnnFormItem > label { + display: inline-block; + width: 33%; + text-align: left; +} + +div.ModDNNUserDefinedTableC div.RadEditor { + height: auto !important; +} + +div.ModDNNUserDefinedTableC ul.dnnActions { + display: block; +} + +div.ModDNNIFrameC .urlControl span.dnnRadiobutton { + display: inline !important; +} + +div.ModDNNIFrameC table.Normal td .dnnLabel { + width: 100px; +} + +div.ModDNNIFrameC table.Normal td span.dnnRadiobutton { + margin: 5px 30px 0 0; +} + +div.ModDNNLinksC .urlControl span.dnnRadiobutton { + display: inline !important; +} + +/*-------------------------------------*/ +/* GENERIC CLASSES */ +/*-------------------------------------*/ +.left { + float: right; +} + +.right { + float: left; +} + +.dnnLeft { + float: right; +} + +.dnnRight { + float: left; +} + +.dnnClear { + clear: both; +} + + .dnnClear:after { + clear: both; + content: "."; + display: block; + height: 0; + visibility: hidden; + font-size: 0; + } + +* + html .dnnClear { + min-height: 1%; +} + +/* used to set the different module align options - from module settings */ +.DNNAlignleft { + text-align: right; +} + +.DNNAlignright { + text-align: left; +} + +.DNNAligncenter { + text-align: center; +} + +/* used to collapse panes without any content in them */ +body:not(.dnnEditState) .DNNEmptyPane { + width: 0px; +} + +/* style to apply if the content should be hidden */ +.Hidden { + display: none; +} +.wordwrap { + white-space: pre-wrap; /* CSS3 */ + white-space: -moz-pre-wrap; /* Firefox */ + white-space: -pre-wrap; /* Opera <7 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* IE */ +} +/*Edit In Place Tool Bar Classes*/ +.eipbackimg { + position:absolute; + margin-top:10px; + white-space:nowrap; + background:url(../../../../../images/eip_toolbar.png) repeat-x; + height:32px; + z-index: 1; +} +.eipbackimg.editMode { + border: 1px solid #777777 !important; + background: -moz-linear-gradient(top, #303030 0%, #191919 100%) !important; /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#303030), color-stop(100%,#191919)) !important; /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #303030 0%,#191919 100%) !important; /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #303030 0%,#191919 100%) !important; /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #303030 0%,#191919 100%) !important; /* IE10+ */ + background: linear-gradient(to bottom, #303030 0%,#191919 100%) !important; /* W3C */ + opacity: 0.8; +} +.eipbackimg.containerTitle { + margin-top: -8px; +} +.eipbackimg.containerTitle.editMode { + right: auto; + left: 0px; + margin-top: 2px; + background: none !important; + border: none !important; +} +.eipbuttonbackimg{ + width: 32px; + height: 32px; + cursor: pointer; + float:right; + background: url(../../../../../images/eip_toolbar.png) no-repeat; + +} +.eipbackimg.editMode .eipbuttonbackimg { + border-right: 1px solid #1f1f1f; + border-left: 1px solid #393939; + opacity: 0.5; +} + +.eipbackimg.editMode.containerTitle .eipbuttonbackimg { + border: none; + opacity: 1; +} + +.eipbuttonbackimg.eipbutton_cancel{ background-position: -32px 0;} +.eipbuttonbackimg.eipbutton_bold{ background-position: -64px 0;} +.eipbuttonbackimg.eipbutton_italic{ background-position: -96px 0;} +.eipbuttonbackimg.eipbutton_underline{ background-position: -128px 0;} +.eipbuttonbackimg.eipbutton_justifyleft{ background-position: -160px 0;} +.eipbuttonbackimg.eipbutton_justifycenter{ background-position: -192px 0;} +.eipbuttonbackimg.eipbutton_justifyright{ background-position: -224px 0;} +.eipbuttonbackimg.eipbutton_orderedlist{ background-position: -256px 0;} +.eipbuttonbackimg.eipbutton_unorderedlist{ background-position: -288px 0;} +.eipbuttonbackimg.eipbutton_outdent{ background-position: -320px 0;} +.eipbuttonbackimg.eipbutton_indent{ background-position: -352px 0;} +.eipbuttonbackimg.eipbutton_createlink{ background-position: -384px 0;} + +.eipbackimg.containerTitle .eipbutton_cancel { + background: url(../../../../../images/eip_title_cancel.png) no-repeat center center; +} + +.eipbutton_edit { + background: url(../../../../../images/eip_edit.png) no-repeat 100% center; + float:right; +} + +.eipbutton_save { + background: url(../../../../../images/eip_save.png) no-repeat 100% center; + float:right; +} +.eipbackimg.containerTitle .eipbutton_save { + background-image: url(../../../../../images/eip_title_save.png); +} + +.eipbackimg.editMode .eipborderhover { + background-color: #333; + opacity: 1; +} +.eipbackimg.editMode.containerTitle .eipborderhover { + background-color: inherit; +} +div[id$=titleLabel_tb].visible ~ span{ margin-right: 32px;} + +/*Critical Error Popup*/ +div.errorWin p{ margin: 0 0 10px 0;} + +input[type="button"].rspCollapseBarSpacer +{ min-width: 0; padding: 0 0; } + + + +/*------------------------------------------------*/ +/* DEFAULT PROFILE STYLE */ +/*------------------------------------------------*/ + +.UserProfileControls ul li { + list-style-type: none; +} + +/*------------------------------------------------*/ +/* PROFILE STYLE */ +/*------------------------------------------------*/ +.console.profile { + /*width: 250px;*/ + width:100% !important; /* updated for responsive*/ + height: auto; + background-color: #484848; /* Menu Background Color */ +} + +.console.profile .console-none div { + cursor: pointer; + cursor: pointer; + float: right; + height: auto; + /*width: 250px;*/ + width:100% !important; /* updated for responsive*/ + padding: 0px; + margin: 0px; + text-align: right; +} + +.console.profile .console-none h3 { + padding: 10px 40px 10px 8px; + margin: 0; + border-bottom: solid 1px #fff; + background: url('../../../../../images/arrow-right-white.png') 18px center no-repeat; + color: #eee; + font-size: 13px; + line-height: 1; + font-weight: bold; +} + +.console.profile .console-none div div { + display: none; +} + +.console.profile .console-mouseon { + background-color: #70b1c7; /* Menu Hover Background Color */ +} +/*-------------------------------------------------*/ + +/* Login/register/reset paswsword controls in mobile view */ +body.mobileView.dnnFormPopup.dnnFormPopupMobileView{ + margin: 0; + padding: 0; + width: 100%; + height: inherit !important; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnFormMessage{ + margin: 0; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + padding: 10px 0 10px 0; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnFormMessage.dnnFormValidationSummary{ + padding: 10px; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .LoginPanel, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnSendPasswordContent, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm { + width: 100%; + padding: 18px 0 0 0; + margin: 0; + float: none; + min-width: inherit !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm{ + width: 100%; + margin: 0; + float: none; + min-width: inherit !important; +} + + + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel { + display: block; + text-align: right; + float: none; + width: 100% !important; + font-size: 14px; + margin: 0 0 7px 0; + vertical-align: top; + padding: 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnSocialRegistration{ + display: none; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnCaptcha{ + width: 100%; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnLeft img{ + display: block; + margin: 0 0 5px 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel a.dnnFormHelp{ + display: none !important; + width: 0 !important; + margin: 0 !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel div.dnnTooltip{ + display: none !important; + width: 0 !important; + position: static !important; + right: 0 !important; + margin: 0 !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem input[type="text"], +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > input[type="password"]{ + display: block; + box-sizing: border-box; + -webkit-box-sizing:border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: 100% !important; + margin-bottom: 18px; + min-width: 100% !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > span#dnn_ctr_Login_Login_DNN_lblLogin{ + display: none !important; + width: 0; + margin: 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem span.dnnFormMessage.dnnFormError{ + border-radius: 0; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + left: 0; + width: auto; + max-width: 100%; + padding: 10px; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm.dnnLoginService a.dnnPrimaryAction, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm.dnnLoginService a.dnnSecondaryAction{ + width: 45%; + padding: 18px 0 18px 0; + display: block; + float: right; + margin: 0 0 0 5px; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnLoginRememberMe{ + display: block; + float: right; + margin: 10px 5px 0 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnLoginActions { + display: block; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions a.dnnSecondaryAction, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions a.dnnPrimaryAction{ + width: 100%; + padding: 18px 0 18px 0; + display: block; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions{ + padding: 0; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions li{ + width: 45%; +} + +/* password strength control in iPopup */ +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .password-strength-container{ + width: 100%; + margin: 0 0 12px 0; + padding: 8px 0 8px 0; + display: block; + max-width: inherit !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-container input[type="password"]{ + display: block; + margin: 0 8px 0 8px; + width: calc(100% - 20px); + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-container span.min-length-text{ + display: block; + margin: 5px 8px 5px 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-container div.meter{ + float: none; + width: 90%; + margin: 0 8px 0 0; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnFormItem input.unmatched{ + background: none !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-tooltip, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .confirm-password-tooltip{ + display: none !important; +} + +.mobileView .dnnFormPopup .ui-dialog-content, .mobileVie #iPopUp .ui-dialog-content { + max-height: none !important; +} + +.mobileView .ui-widget-overlay { + display: none; +} +.dnnFormPopup.dnnFormPopupMobileView { + width: auto !important; + left: 0 !important; + right: 0 !important; + top: 0 !important; + box-shadow: none !important; +} +.dnnFormPopup.dnnFormPopupMobileView div.ui-dialog-titlebar > .ui-dialog-titlebar-close { + display: none; +} + +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-titlebar { + border-bottom: none; + cursor: inherit; + font-size: 22px; + color: #000; + padding: 5px 0 0 0; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel { + display: block; + text-align: right; + float: none; + width: auto !important; + font-size: 14px; + margin: 0 0 7px 0; + vertical-align: top; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > input[type="text"] { + display: block; + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > textarea, +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .redactor_box { + display: block; + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > select { + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnTagsInput { + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + margin-bottom: 18px; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel > input[type="checkbox"].normalCheckBox { + display: inline-block; + margin: 0 12px 0 5px; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnFormItem span.dnnFormMessage.dnnFormError { + left: 0; + width: auto; + border-radius: 0; + text-align: left; + max-width: 100%; +} + +.dnnFormPopup.dnnFormPopupMobileView a.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView a.dnnSecondaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnSecondaryAction { + width: 49%; + margin: 0; + padding: 20px 0 20px 0; + display: block; +} + +.dnnFormPopup.dnnFormPopupMobileView a.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnPrimaryAction { + float: right; +} + +.dnnFormPopup.dnnFormPopupMobileView a.dnnSecondaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnSecondaryAction { + float: left; +} + +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane { + border-top: none; +} + + .dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane .ui-dialog-buttonset { + float: none; + } + +.dnnFormPopup.dnnFormPopupMobileView .four-btn-panel a.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView .four-btn-panel a.dnnSecondaryAction { + width: 24%; + display: inline-block; + margin-left: 1%; + float: none; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnFormMessage { + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + margin: 25px 0 15px 0; +} + +html.mobileView { + overflow: auto !important; +} + +.mobileView .dnnFormPopup .ui-dialog-content, +.mobileView #iPopUp .ui-dialog-content { + max-height: none !important; +} + +.dnnPlaceholder{ color: #666; } + +/* DNN Slider Input Style */ +div.dnnSliderInput { + position: relative; + display: inline-block; + width: 47%; + margin:15px 0 23px 0; + max-width: 445px; + border: 1px solid #d3d3d3; + -ms-border-radius: 3px; + border-radius: 3px; + height: 10px; + text-align:left; /*Persian-DnnSoftware*/ +} + +div.dnnSliderInput .ui-slider-handle { + position: absolute; + z-index: 2; + width: 14px; + height: 14px; + cursor: default; + border: 1px solid #aaaaaa; + background-color: #cccccc; + font-weight: normal; + color: #555555; + outline: none; + top: -2px; + margin-left: -7px; /*Persian-DnnSoftware*/ + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +div.dnnSliderInput .dnnTooltip { + top: -37px; + margin-left: 22px; /*Persian-DnnSoftware*/ + float:left; /*Persian-DnnSoftware*/ +} +div.dnnSliderInput .dnnTooltip .dnnFormHelpContent { + visibility: visible; + padding: 4px 10px; + width: 25px; + text-align: center; + z-index: 1; +} +/*END DNN Slider Input Style*/ + + +/* =========== Persian-DnnSoftware =========== */ + +.RadCalendar_Default a.rcPrev { + background-position: -70px center !important; +} + +.RadCalendar_Default a.rcNext { + background-position: -15px center !important; +} + +.jspDrag { + right: -3px; +} \ No newline at end of file diff --git a/DNN Platform/Website/Resources/Shared/stylesheets/dnndefault/8.0.0/default.rtl.css b/DNN Platform/Website/Resources/Shared/stylesheets/dnndefault/8.0.0/default.rtl.css new file mode 100644 index 00000000000..23507f80f3b --- /dev/null +++ b/DNN Platform/Website/Resources/Shared/stylesheets/dnndefault/8.0.0/default.rtl.css @@ -0,0 +1,3568 @@ +@charset "utf-8"; +/* Persian-DnnSoftware */ +/* @import "01/correct4dnn7.css";*/ + + + +/* CSS Document */ + +/* --------------------------------------------------------- + + * Filename: default.css + * Description: sets basic grids and standard formstyles + * Version: 8.0.0 (2015-11-19) + * Author: Timo Breumelhof + + == INDEX =============================================== + + $__generic classes classes used globally, should be at bottom to prevent semantic inheritance + +------------------------------------------------------------*/ + + +/* Module titles */ +.Head { + display: inline-block; + margin-bottom: 6px; +} + +/* Some old forge modules use .Head, .SubHead, .SubSubHead in table td, We keep this to be compatible */ +td.Head, td.SubHead, td.SubSubHead { + display: table-cell; + margin-bottom: 0; +} + +input[type="image"] + span.Head, input[type="image"] + span.SubHead { + display: inline; +} + + + +/* Set text size in modules*/ +.Normal, +.NormalDisabled, +.NormalDeleted { + color: #444; + font-size: 12px; + font-weight: normal; + line-height: 18px; +} + +/* disabled text styles */ +.NormalDisabled, +.NormalDeleted { + color: #999; +} + +/* text style used for help text rendered by modules */ +.Help { + padding: 2px; + border: #000 1px solid; + background-color: #ff9; + font-weight: normal; + font-size: 11px; + color: #000; +} +/* text style used for rendered text which requires emphasis */ +.NormalBold { + font-weight: bold; + color: #222; +} + +/* text style used for error messages */ +.NormalRed { + font-weight: bold; + color: red; +} + +/* text style used for rendered text which should appear deleted */ +.NormalDeleted { + text-decoration: line-through; +} + + + +/*-------------------------------------*/ +/* IMAGE STYLES */ +/*-------------------------------------*/ +img.dnn-scale-img { + max-width: 100%; + height: auto; +} + +img { + border: 0; + -ms-interpolation-mode: bicubic; + vertical-align: middle; +} + + +/*-------------------------------------*/ +/* MESSAGE STYLES */ +/*-------------------------------------*/ +.dnnFormMessage { + display: block; + padding: 17px 18px; + margin-bottom: 18px; + border: 1px solid rgba(2,139,255,0.2); /* blue */ + background: rgba(2,139,255,0.15); /* blue */ + -webkit-border-radius: 3px; + border-radius: 3px; + max-width: 980px; +} + + .dnnFormMessage.dnnFormError, + .dnnFormMessage.dnnFormValidationSummary { + background-color: rgba(255,0,0,0.15); /* red */ + border-color: rgba(255,0,0,0.2); /* red */ + } + + .dnnFormMessage.dnnFormWarning { + background-color: rgba(255,255,0,0.15); /* yellow */ + border-color: #CDB21F; /* yellow */ + } + + .dnnFormMessage.dnnFormSuccess { + background-color: rgba(0,255,0,0.15); /* green */ + border-color: rgba(0,255,0,0.5); /* green */ + } + +/*-------------------------------------*/ +/* TABLE STYLES */ +/*-------------------------------------*/ +.dnnTableHeader { + display: block; + padding: 15px; + background: none repeat scroll 0 0 #E3E3E5; +} +.dnnTableHeader a, +.dnnTableHeader input, +.dnnTableHeader select{ + margin: 0; +} +.dnnTableDisplay { + margin-bottom: 18px; + border: 1px solid #d1d1d1; + border-right: 0; + border-bottom: 0; +} + + .dnnTableDisplay td, .dnnTableDisplay th { + padding: 5px 9px; + border-bottom: 1px solid #d1d1d1; + } + + .dnnTableDisplay th { + padding: 0; + border-right: 1px solid #d1d1d1; + -webkit-box-shadow: 1px 0px 0px 0px rgba(255, 255, 255, 0.9); + box-shadow: 1px 0px 0px 0px rgba(255, 255, 255, 0.9); + } + + .dnnTableDisplay th > span, + .dnnTableDisplay th > a { + display: block; + padding: 5px 9px; + } + + .dnnTableDisplay td:first-child { + border-right: 1px solid #cfcfcf; + } + + .dnnTableDisplay label { + display: inline; + padding-right: 5px; + } + + .dnnTableDisplay caption { + display: none; + } + + /* thead styles */ + .dnnTableDisplay th { + background: -moz-linear-gradient(top, #f5f5f5 0%, #dfdfdf 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#f5f5f5), color-stop(100%,#dfdfdf)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* IE10+ */ + background: linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* W3C */ + text-align: right; + text-shadow: 1px 1px 0px rgba(255,255,255,0.8); + color: #333; + } + + .dnnTableDisplay th a, .dnnTableDisplay th label { + font-weight: normal; + color: #333; + text-decoration: none; + } + + .dnnTableDisplay th a { + padding: 8px 9px; + } + + .dnnTableDisplay th a:hover { + background: #fefefe; /* Old browsers */ + background: -moz-linear-gradient(top, #fefefe 0%, #e8e8e8 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fefefe), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* IE10+ */ + background: linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* W3C */ + color: #333; + } + + .dnnTableDisplay th a:active { + border-color: #999; + background: #c6c6c6; /* Old browsers */ + background: -moz-linear-gradient(top, #c6c6c6 0%, #f3f3f3 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#c6c6c6), color-stop(100%,#f3f3f3)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* IE10+ */ + background: linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* W3C */ + -webkit-box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.3); + box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.3); + } + /* tbody styles */ + .dnnTableDisplay tr:nth-child(2n) td { + background: rgba(0,0,0,0.04); + } + + .dnnTableDisplay tr:hover td { + background: rgba(2,139,255,0.15); /* blue */ + } + + /* tfooter styles */ + .dnnTableDisplay tfoot tr:hover td { + background: none; + } + +/* table filter styles */ +.dnnTableFilter { + margin-bottom: 18px; + background: rgba(0,0,0,0.04); +} + + .dnnTableFilter .dnnTableDisplay { + margin-bottom: 0; + } + +.dnnFilterSet { + padding: 18px; +} + + .dnnFilterSet label { + display: inline-block; + } + + .dnnFilterSet input, + .dnnFilterSet select { + display: inline-block; + margin: 0 5px; + } + +/* table filter vertical styles */ +.verticalFilter .dnnFilterSet { + float: right; + width: 20%; + padding: 2% 18px; +} + +.verticalFilter .dnnTableDisplay { + float: left; + width: 75%; +} + +.verticalFilter input[type=search], .verticalFilter select, .verticalFilter input[type=text] { + margin: 0; + width: 100%; + box-sizing: border-box; + -moz-box-sizing: border-box; /* Firefox */ + -webkit-box-sizing: border-box; /* Safari */ +} + +/*-------------------------------------*/ +/* PAGINATION & RESULT STYLES */ +/*-------------------------------------*/ +.dnnResults { + float: right; + margin-bottom: 0; +} + +.dnnPagination { + float: left; + margin: 0; + padding: 0; +} + + .dnnPagination li { + float: right; + list-style: none; + } + + .dnnPagination li a, .dnnPagination li span { + display: inline-block; + padding: 0 5px; + text-decoration: none; + color: #333; + } + + .dnnPagination li a:hover { + text-decoration: underline; + color: #222; + } + + .dnnPagination li span { + color: #222; + text-decoration: underline; + } + +/*-------------------------------------*/ +/* FORM STYLES */ +/*-------------------------------------*/ + +.dnnFormItem input[type="text"], +.dnnFormItem select, +.dnnFormItem textarea, +.dnnFormItem input[type="email"], +.dnnFormItem input[type="search"], +.dnnFormItem input[type="password"] { + margin-bottom: 18px; + padding: 8px; + background: #ffffff; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.8), inset 0px 1px 2px 0px rgba(0, 0, 0, 0.1); + box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.8), inset 0px 1px 2px 0px rgba(0, 0, 0, 0.1); + color: #333; + font-size: 12px; +} + + .dnnFormItem input.aspNetDisabled, + .dnnFormItem textarea.aspNetDisabled { + background: #ebebeb; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + border-color: #a7a7a7; + border-width: 1px; + } + +.aspNetDisabled, a.aspNetDisabled, +.dnnDisabled, a.dnnDisabled { + color: #ccc; + cursor: not-allowed; + text-decoration: none; +} + +/* Active and Focus States */ +.dnnFormItem input[type="text"]:active, .dnnFormItem input[type="text"]:focus, +.dnnFormItem input[type="password"]:focus, .dnnFormItem input[type="password"]:active, +.dnnFormItem input[type="email"]:active, .dnnFormItem input[type="email"]:focus, +.dnnFormItem select:active, .dnnFormItem select:focus, +.dnnFormItem textarea:active, .dnnFormItem textarea:focus, +.dnnFormItem input[type="search"]:active, .dnnFormItem input[type="search"]:focus { + background: #fff; + border: 1px solid rgba(2,139,255,0.5); /* blue */ + -webkit-box-shadow: 0px 0px 3px 0px rgba(2, 139, 255, 0.4); + box-shadow: 0px 0px 3px 0px rgba(2, 139, 255, 0.4); + color: #333; +} +/* Required Fields */ +.required label:after, +legend.required:after { + display: inline-block; + margin-top: -2px; + margin-right: 9px; + padding: 1px 9px; + border: 1px solid rgba(0,0,0,0.1); + border-radius: 3px; + -webkit-border-radius: 3px; + background: rgba(0,0,0,0.03); + content: 'Required'; + font-weight: normal; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + font-size: 11px; + font-style: italic; + color: #777; +} + +/* Error Styles */ +.error label, legend.error { + color: rgba(255,0,0,0.9); /* opaque red*/ +} + +.error input[type="text"], +.error select, .error textarea, +.error input[type="email"], +.error input[type="search"] { + border: 1px solid rgba(255,0,0,0.6); /* opaque red*/ + color: rgba(255,0,0,0.7); /* opaque red*/ +} + +/* + * 1. Display hand cursor for clickable form elements + * 2. Allow styling of clickable form elements in iOS + * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6) + */ + +.dnnFormItem button, .dnnFormItem input[type="button"], +.dnnFormItem input[type="reset"], +.dnnFormItem input[type="submit"], +.dnnPrimaryAction, +.dnnSecondaryAction, +.dnnTertiaryAction, +ul.dnnAdminTabNav li a, +.dnnLogin .LoginTabGroup span { + display: inline-block; + padding: 9px 9px; + margin-bottom: 9px; + cursor: pointer; + min-width: 75px; + *overflow: visible; + border: 1px solid #c2c2c2; + background: #eaeaea; + -webkit-border-radius: 3px; + border-radius: 3px; + color: #333; + font-weight: bold; + text-decoration: none; + text-align: center; +} + +.dnnFormItem button, .dnnFormItem input[type="button"], +.dnnFormItem input[type="reset"], +.dnnFormItem input[type="submit"], +.dnnPrimaryAction, +.dnnSecondaryAction, +.dnnTertiaryAction { + padding: 6px 6px; +} + +/* Primary Action */ + +.dnnPrimaryAction, .dnnFormItem input[type="submit"], a.dnnPrimaryAction { + border-color: #0D569E; /*dark blue*/ + background: #3792ED; + background: -moz-linear-gradient(top, #358eea 0%, #2170cd 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#358eea), color-stop(100%,#2170cd)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #358eea 0%,#2170cd 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #358eea 0%,#2170cd 100%); /* W3C */ + -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.6), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4); + box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.6), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4); + color: #efefef; + text-shadow: 0px -1px 0px #185B93; +} + + .dnnPrimaryAction:hover, .dnnFormItem input[type="submit"]:hover, a.dnnPrimaryAction:hover { + border-color: #0D569E; + background: #6cb6f3; /* Old browsers */ + background: -moz-linear-gradient(top, #6cb6f3 0%, #4387d2 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#6cb6f3), color-stop(100%,#4387d2)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #6cb6f3 0%,#4387d2 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #6cb6f3 0%,#4387d2 100%); /* W3C */ + color: #fff; + } + + .dnnPrimaryAction:active, .dnnFormItem input[type="submit"]:active, a.dnnPrimaryAction:active { + border-color: #0D569E; + background: #1f66be; /* Old browsers */ + background: -moz-linear-gradient(top, #1f66be 0%, #3085e0 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#1f66be), color-stop(100%,#3085e0)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #1f66be 0%,#3085e0 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #1f66be 0%,#3085e0 100%); /* W3C */ + -webkit-box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + color: #fff; + } + + .dnnPrimaryAction[disabled], .dnnPrimaryAction[disabled]:hover, .dnnPrimaryAction[disabled]:active { + background: #ccc !important; + border: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #aaa !important; + text-shadow: none; + } + +/* Secondary Action */ +.dnnFormItem button, .dnnFormItem input[type="button"], +.dnnFormItem input[type="reset"], +.dnnSecondaryAction, +a.dnnSecondaryAction, +ul.dnnAdminTabNav li a, +.dnnLogin .LoginTabGroup span { + background: #f5f5f5; /* Old browsers */ + background: -moz-linear-gradient(top, #f5f5f5 0%, #dfdfdf 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#f5f5f5), color-stop(100%,#dfdfdf)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* IE10+ */ + background: linear-gradient(top, #f5f5f5 0%,#dfdfdf 100%); /* W3C */ + -webkit-box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); + box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.4), inset 0px 1px 0px 0px rgba(255, 255, 255, 1); + text-shadow: 0px 1px 0px #ffffff; + color: #333; +} + + .dnnFormItem button:hover, .dnnFormItem input[type="button"]:hover, + .dnnFormItem input[type="reset"]:hover, + .dnnSecondaryAction:hover, + a.dnnSecondaryAction:hover, + ul.dnnAdminTabNav li a:hover, + .dnnLogin .LoginTabGroup span:hover { + background: #fefefe; /* Old browsers */ + background: -moz-linear-gradient(top, #fefefe 0%, #e8e8e8 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fefefe), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* IE10+ */ + background: linear-gradient(top, #fefefe 0%,#e8e8e8 100%); /* W3C */ + color: #555; + } + + .dnnFormItem button:active, + .dnnFormItem input[type="button"]:active, + .dnnFormItem input[type="reset"]:active, + .dnnFormItem input[type="reset"]:active, + .dnnSecondaryAction:active, + a.dnnSecondaryAction:active, + ul.dnnAdminTabNav li a:active { + border-color: #999; + background: #c6c6c6; /* Old browsers */ + background: -moz-linear-gradient(top, #c6c6c6 0%, #f3f3f3 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#c6c6c6), color-stop(100%,#f3f3f3)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* IE10+ */ + background: linear-gradient(top, #c6c6c6 0%,#f3f3f3 100%); /* W3C */ + -webkit-box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.4); + } + +/* Fix some old forge modules use .dnnPrimaryAction and .dnnSecondaryAction in wrong way */ +span.dnnPrimaryAction > input[type="image"], +span.dnnSecondaryAction > input[type="image"] { + display: none; +} + +span.dnnPrimaryAction > a.dnnPrimaryAction, +span.dnnSecondaryAction > a.dnnSecondaryAction { + display: inline; + background: transparent; + border: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +/* Tertiary Action */ +.dnnTertiaryAction, a.dnnTertiaryAction { + padding: 10px 10px; + border: none; + background: #eaeaea; + color: #333; +} + + .dnnTertiaryAction:hover, a.dnnTertiaryAction:hover { + background: #f2f2f2; + } + + .dnnTertiaryAction:active, a.dnnTertiaryAction:active { + background: #d8d8d8; + } + +/* Action Button behind input */ +.dnnFormItem input[type="text"] + a.dnnPrimaryAction, +.dnnFormItem input[type="text"] + a.dnnSecondaryAction, +.dnnFormItem input[type="text"] + a.dnnTerriaryAction { + margin-right: 5px; +} + +.dnnFormItem input[type="checkbox"] + span, +.dnnFormItem input[type="radio"] + span { + margin: 5px; +} + +/* text style for buttons and link buttons used in the portal admin pages */ + +/* button style for standard HTML buttons */ +.StandardButton { + border: 1px solid blue; +} + + +/* Re-set default cursor for disabled elements */ +.dnnFormItem button[disabled], +.dnnFormItem input[disabled] { + cursor: default; + opacity: 0.5; +} + + +/* Consistent box sizing and appearance */ +.dnnFormItem input[type="checkbox"], +.dnnFormItem input[type="radio"] { + *width: 13px; + *height: 13px; /*why are we using hacks here*/ + padding: 0; + box-sizing: border-box; +} + +.dnnFormItem input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + + .dnnFormItem input[type="search"]::-webkit-search-decoration, + .dnnFormItem input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; + } + + +/* Remove inner padding and border in FF3/4: h5bp.com/l */ +.dnnFormItem button::-moz-focus-inner, .dnnFormItem input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Remove default vertical scrollbar in IE6/7/8/9 + * 2. Allow only vertical resizing + */ + +.dnnFormItem textarea { + overflow: auto; + vertical-align: top; + resize: vertical; +} + + /* Colors for form validity */ + .dnnFormItem input:valid, .dnnFormItem textarea:valid { + } + + .dnnFormItem input:invalid, .dnnFormItem textarea:invalid { + background-color: #f0dddd; + } + +/*-------------------------------------*/ +/* TAXONOMY */ +/*-------------------------------------*/ + +/* Horizontal taxonomy styles */ +.horizontal ul.categories, +.horizontal ul.tags { + list-style: none; +} + +.horizontal ul.categories { +} + +.horizontal ul.tags { +} + + .horizontal ul.categories li, .horizontal ul.tags li { + } + + .horizontal ul.tags li.add-tags { + } + + .horizontal ul.tags li.add-tags img { + } + +/* Vertical taxonomy styles */ +.vertical ul.categories, +.vertical ul.tags { + list-style: none; +} + + .vertical ul.categories li, + .vertical ul.tags li { + } + + .vertical ul.categories li { + } + + .vertical ul.tags li { + } + + .vertical ul.tags li.add-tags { + } + + .vertical ul.tags li.add-tags img { + } + +/*-------------------------------------*/ +/* TABS : JQUERY UI TABS 1.8.14 */ +/*-------------------------------------*/ +/* Tabs */ +ul.dnnAdminTabNav { + display: inline-block; + margin-top: 5px; + margin-right: 0; + width: 100%; + min-height: 37px; + border-bottom: 1px solid #c2c2c2; + padding: 0; +} + + ul.dnnAdminTabNav li { + float: right; + margin-left: 4px; + list-style: none; + } + + ul.dnnAdminTabNav li a { + /* most styles are inherited from typography.css */ + margin-bottom: 0; + border-bottom: 0; + box-shadow: none; + webkit-box-shadow: none; + -webkit-border-radius: 3px 3px 0px 0px; + border-radius: 3px 3px 0px 0px; + } + + ul.dnnAdminTabNav li.ui-tabs-active a { + margin-top: -3px; + padding: 12px 9px 10px 9px; + background: #fff; + } + +/* Panels */ +.ui-tabs .ui-tabs-panel { + position: relative; + display: block; +} + +.ui-tabs .ui-tabs-hide { + display: none; +} + +/*-------------------------------------*/ +/* LOGIN TAB GROUP */ +/*-------------------------------------*/ +.dnnLogin .LoginTabGroup { + display: inline-block; + width: 100%; + height: 37px; + margin-right: 0; + margin-top: 5px; + border-bottom: 1px solid #C2C2C2; +} + + .dnnLogin .LoginTabGroup span { + margin-left: 4px; + margin-bottom: 0; + border-bottom: 0 none; + border-radius: 3px 3px 0 0; + box-shadow: none; + } + + .dnnLogin .LoginTabGroup span.LoginTabSelected { + margin-top: -3px; + padding: 12px 9px 10px; + background: none repeat scroll 0 0 #FFFFFF; + } + +/*-------------------------------------*/ +/* TABS : JQUERY UI RESIZABLE 1.8.14 */ +/*-------------------------------------*/ +.dnnForm .ui-resizable { + position: relative; +} + +.dnnForm .ui-resizable-handle { + position: absolute; + display: block; + z-index: 99999; + font-size: 0.1px; +} + +.dnnForm .ui-resizable-disabled .ui-resizable-handle, +.dnnForm .ui-resizable-autohide .ui-resizable-handle { + display: none; +} + +.dnnForm .ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + right: 0; +} + +.dnnForm .ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + right: 0; +} + +.dnnForm .ui-resizable-e { + cursor: e-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} + +.dnnForm .ui-resizable-w { + cursor: w-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} + +.dnnForm .ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + left: 1px; + bottom: 1px; +} + +.dnnForm .ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + right: -5px; + bottom: -5px; +} + +.dnnForm .ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} + +.dnnForm .ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +/* + +/*-------------------------------------*/ +/* FORM ITEMS +/*-------------------------------------*/ +.dnnForm { + width: 100%; +} + + .dnnForm fieldset { + clear: none; + position: relative; + margin-bottom: 18px; + text-align: right; + border: none; + } + + .dnnForm fieldset fieldset { + width: 100%; + } + + .dnnForm .dnnFormItem { + clear: both; + width: 100%; + display: block; + position: relative; + text-align: right; + } + +/* Label */ +.dnnTooltip { + position: relative; + display: block; + width: 32.075%; + margin-left: 18px; +} + +.dnnHelperTip { + position: relative; + display: block; +} + +.dnnDragdropTip { + z-index: 10000; + position: absolute; + width: auto !important; + height: auto !important; + padding: 10px; + padding-right: 30px; + border-radius: 3px; + background: rgba(0, 0, 0, 0.75) url(../../../../../images/pin-icn.png) no-repeat 7px 12px; + font-size: 11px; + color: #DDD; + text-align: right; +} + +span.dnnFormRequired:after, +div.dnnFormItem.dnnFormRequired > div.dnnLabel span:after { + content: "*"; + display: inline-block; + margin: 0 5px 0 0; + color: Red; + font-size: 16px; + line-height: 1em; + font-weight: bold; +} + +.dnnFormItem input[type="checkbox"] + span, +.dnnFormItem input[type="radio"] + span { + display: inline-block; + width: auto; + margin: 6px 5px 6px 5px; +} + +/* Help Label */ +a.dnnFormHelp, +.dnnForm .dnnFormItem a.dnnFormHelp, +.dnnTooltip label a.dnnFormHelp { + color: #333; + text-decoration: none; + font-weight: bold; +} + +a.dnnFormHelp { + display: inline-block; + position: absolute; + left: 0; + top: 2px; + width: 14px; + height: 15px; + background: url(../../../../../images/helpI-icn-grey.png) no-repeat right 2px; + padding: 0 !important; + margin: 0 !important; +} + +.dnnLabel { + display: inline-block; + float: right; + position: relative; + width: 32.075%; + padding-left: 20px; + margin-left: 18px; + overflow: visible; + text-align: left; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.dnnFormItem > .dnnLabel { + margin-top: 5px; +} + +.dnnLabel > span { + text-align: left; +} + +.dnnForm .dnnFormItem a.dnnFormHelp span { + position: relative; +} + +.dnnForm .dnnFormItem a.dnnFormHelp img { + display: block; +} + +.dnnLabel + span { + display: inline-block; + margin-top: 6px; + margin-bottom: 6px; + white-space: pre-line; +} + +/* Compatible with some old forge modules */ +td > .dnnLabel { + width: 220px; +} + +/* Help tooltip */ +.dnnTooltip .dnnFormHelpContent, +.dnnHelperTip .dnnFormHelpContent { + visibility: hidden; + z-index: 10; + position: absolute; + width: 200px; + padding: 10px; + padding-right: 30px; + border-radius: 3px; + background: rgba(0,0,0,0.75); + font-size: 11px; + color: #ddd; + text-align: right; +} + +.dnnFormHelpContent span { + display: block; + word-wrap: break-word; +} + +/*.dnnTooltip .dnnFormHelpContent span:after, +.dnnHelperTip .dnnFormHelpContent span:after { + position: absolute; + content: ""; + right: 15px; + bottom: -7px; + width: 0; + height: 0; + opacity: 0.75; + border-right: 7px solid transparent; + border-left: 7px solid transparent; + border-top: 7px solid #000; +}*/ + +.dnnTooltip .dnnFormHelpContent .dnnHelpText { + word-wrap: break-word; +} + +.bottomArrow:after +{ + position: absolute; + content: ""; + right: 15px; + bottom: -7px; + width: 0; + height: 0; + opacity: 0.75; + border-right: 7px solid transparent; + border-left: 7px solid transparent; + border-top: 7px solid #000; +} +.topArrow:before { + position: absolute; + content: ""; + right: 15px; + top: -7px; + width: 0; + height: 0; + opacity: 0.75; + border-right: 7px solid transparent; + border-left: 7px solid transparent; + border-bottom: 7px solid #000; +} + +a.pinHelp { + display: block; + position: absolute; + right: 7px; + top: 12px; + width: 15px; + height: 15px; + opacity: 0.5; + background: url(../../../../../images/pin-icn.png) no-repeat 0 0; +} + + .ui-draggable a.pinHelp, + a.pinHelp:hover { + opacity: 1; + } + +/* Error tooltip */ +.dnnFormItem span.dnnFormMessage.dnnFormError { + display: block; + position: absolute; + overflow: visible; + /*top:-95%; left: 12%;*/ + bottom: 95%; + left: 12%; + width: 200px; + margin-bottom: 0; + padding: 10px; + border: none; + border-radius: 3px; + background: rgba(255,0,0,0.75); + font-size: 12px; + color: #fff; + text-align: right; +} + + .dnnFormItem span.dnnFormMessage.dnnFormError:after { + position: absolute; + bottom: -7px; + right: 15px; + content: ""; + width: 0; + height: 0; + opacity: 0.75; + border-right: 7px solid transparent; + border-left: 7px solid transparent; + border-top: 7px solid red; + } + +/* Input Types*/ +.dnnFormItem input[type="text"], +.dnnFormItem input[type="password"], +.dnnFormItem input[type="email"], +.dnnFormItem input[type="tel"], +.dnnFormItem select, +.dnnFormItem textarea { + width: 45%; + max-width: 445px; +} + +.dnnFormItem select { + width: 47%; +} + + .dnnFormItem select option { + color: #333; + } + +.dnnFormItem table { + background: none; +} + +/* Input Customised Checkbox*/ + +.dnnCheckbox { + display: inline-block; + cursor: pointer; +} + + .dnnCheckbox .mark { + display: inline-block; /*margin-top: 3px;*/ + } + + .dnnCheckbox img { + display: inline-block; + width: 20px; + height: 18px; + min-width: 20px; + vertical-align: middle; + } + + .dnnCheckbox img { + background: transparent url(../../../../../images/checkbox.png) no-repeat; + } + + .dnnCheckbox img { + background-position: 0px 0px; + } + +.dnnCheckbox-hover img { + background-position: 0px 0px; +} + +.dnnCheckbox-checked img { + background-position: -51px 0px; +} + +.dnnCheckbox-disabled { + cursor: not-allowed; +} + +.dnnCheckbox-disabled img { + opacity: .5; +} + +.dnnCheckbox-checked-error img { + background-position: -150px 0px; +} + +.dnnCheckbox-error img { + background-position: -100px 0px; +} +.dnnCheckbox-focus { + background-color: #e3e3e5; +} +.dnnBoxLabel{ display: inline-block;} +/* normal checkbox fix */ +.dnnFormItem input[type="checkbox"].normalCheckBox { + display: inline-block; + margin: 8px 0 4px 0; +} + +/* Input Customised Radiobutton */ + +.dnnRadiobutton { + display: inline-block; + cursor: pointer; +} + + .dnnRadiobutton .mark { + display: inline-block; + } + + .dnnRadiobutton img { + width: 20px; + height: 18px; + min-width: 20px; + vertical-align: middle; + } + + .dnnRadiobutton img { + background: transparent url(../../../../../images/radiobutton.png) no-repeat; + } + + .dnnRadiobutton img { + background-position: 0px 0px; + } + +.dnnRadiobutton-hover img { + background-position: 0px 0px; +} + +.dnnRadiobutton-checked img { + background-position: -50px 0px; +} + +.dnnRadiobutton-disabled img { + opacity: .5; +} + +.dnnRadiobutton-checked-error img { + background-position: -150px 0px; +} + +.dnnRadiobutton-error img { + background-position: -100px 0px; +} +.dnnRadiobutton-focus { + background-color: #e3e3e5; +} +/* Input RadioButton group */ +div.dnnFormRadioButtons, +div.dnnHSRadioButtons, +span.dnnFormRadioButtons, +span.dnnHSRadioButtons { + display: inline-block; + padding: 10px; + margin-bottom: 5px; + background-color: #f0f0f0; +} + +table.dnnFormRadioButtons { + background-color: #f0f0f0; + margin-bottom: 5px; +} + +.RadComboBox_Default .rcbInput { + width: 100% !important; +} + +/* general group*/ +div.dnnFormGroup { + display: inline-block; + padding: 10px; + margin-bottom: 5px; + background-color: #f0f0f0; + width: 65%; +} + +/* Input Customised Spinner */ +.dnnSpinner { + display: inline-block; + position: relative; + width: 150px; + padding: 6px 6px; + *overflow: visible; + border: 1px solid #c9c9c9; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + color: #333; + text-decoration: none; + -webkit-box-shadow: 0px 1px 0px 0px #bbb; + box-shadow: 0px 1px 0px 0px #bbb; +} + +.dnnFormItem .dnnSpinner { + width: 45%; + margin-bottom: 18px; +} + +.dnnSpinnerDisplay { + margin: 0 8px 0 25px; + background: transparent; + color: #999; +} + +.dnnFormItem .dnnSpinnerDisplay > input[type="text"], +.dnnFormItem .dnnSpinnerDisplay > input[type="text"]:focus { + border: none; + margin: 0; + box-shadow: none; + padding: 0; + background: transparent; +} + +.dnnSpinnerCtrl { + position: absolute; + top: 0; + left: 0; + width: 25px; + background-color: transparent; + border-right: 1px solid #c9c9c9; +} + + .dnnSpinnerCtrl > a.dnnSpinnerTopButton { + display: block; + width: 25px; + height: 16px; + background: transparent url(../../../../../images/dnnSpinnerUpArrow.png) no-repeat; + background-position: center; + cursor: pointer; + } + + .dnnSpinnerCtrl > a.dnnSpinnerBotButton { + display: block; + width: 25px; + height: 16px; + background: transparent url(../../../../../images/dnnSpinnerDownArrow.png) no-repeat; + background-position: center; + cursor: pointer; + } + +/* Input Customised Tags */ +div.dnnTagsInput { + display: inline-block; + margin: 0; + padding: 5px 5px 0 0; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + border-radius: 3px; + background: #FFF; + -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8), inset 0 1px 2px 0 rgba(0, 0, 0, 0.3); + box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8), inset 0 1px 2px 0 rgba(0, 0, 0, 0.3); +} + +.dnnFormItem .dnnTagsInput { + width: 45%; +} + +div.dnnTagsInput span.tag { + display: block; + float: right; + padding: 2px 6px 2px 6px; + margin-left: 5px; + margin-bottom: 5px; + border: 1px solid #c9c9c9; + border-radius: 3px; + -webkit-border-radius: 3px; + font-size: 12px; + text-decoration: none; + color: #888; + cursor: pointer; + background-color: #eee; + max-width: 99%; + max-width: calc(100% - 5px); + -ms-word-wrap: break-word; + word-wrap: break-word; + box-sizing: border-box; +} + + div.dnnTagsInput span.tag:hover { + background-color: #e8f1fa; + color: #444; + } + + div.dnnTagsInput span.tag a { + display: inline-block; + width: 8px; + height: 8px; + margin: 6px 0 0 0; + background: transparent url(../../../../../images/dnnTagClose.png) no-repeat; + background-position: center; + } + +div.dnnTagsInput > div > input, +div.dnnTagsInput > div > input:focus { + border: none; + background: transparent; + outline: none; + font-weight: normal; + font-family: helvetica; + font-size: 12px; + display: inline-block; + vertical-align: top; + height: 19px; + padding: 3px 3px 3px 0; + margin-bottom: 5px; +} + +div.dnnTagsInput > div > input::-ms-clear { + display: none; +} + +div.dnnTagsInput div { + display: block; + float: right; +} + + div.dnnTagsInput div.dnnTags_filter { + float: left; + position: relative; + margin: 0 5px 5px 0; + } + + div.dnnTagsInput div.dnnTags_filter > .dnnTags_filter_label { + display: inline-block; + border-right: 1px solid #ccc; + padding: 3px 10px 0 15px; + margin-left: 3px; + color: #999; + cursor: pointer; + background: url(../../../../../images/dnnSpinnerDownArrow.png) no-repeat; + background-position: left center; + height: 22px; + } + + div.dnnTagsInput div.dnnTags_filter > .dnnTags_filter_label.dnnExpanded { + color: #666; + background: url(../../../../../images/dnnSpinnerUpArrow.png) no-repeat; + background-position: left center; + } + + div.dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl { + display: none; + position: absolute; + list-style-type: none; + background: #fff; + border: 1px solid #c9c9c9; + left: 22px; + top: 28px; + margin: 0; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + z-index: 15; + } + +.dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li { + white-space: nowrap; + padding: 6px 8px 6px 12px; + border-top: 1px solid #c9c9c9; + list-style: none; + color: #666; + min-width: 150px; +} + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li:first-child { + border-top: none; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li:hover { + background-color: #e8f1fa; + color: #333; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li > input { + display: inline-block; + vertical-align: top; + margin-left: 10px; + cursor: pointer; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li > span.dnnCheckbox { + margin-left: 8px; + } + + .dnnTagsInput div.dnnTags_filter > ul.dnnTags_filter_dropdownUl > li > label { + display: inline-block; + vertical-align: top; + cursor: pointer; + } + +div.dnnTagsInput div.dnnTags_filter a.dnnSearchButton { + display: inline-block; + width: 18px; + height: 18px; + background-image: url(../../../../../images/search/searchButton.png); + background-repeat: no-repeat; + background-position: center center; + vertical-align: top; + cursor: pointer; + margin: 4px 4px 0 5px; +} + +.dnnTagsClear { + clear: both; + width: 100%; + height: 0px; +} + +div.dnnTagsInput > div > input.dnnTagsInvalid { + display: block; + float: right; + margin-left: 5px; + border: none; + outline: none; + border-radius: 3px; + -webkit-border-radius: 3px; + background: #FBD8DB; /*light red*/ + cursor: pointer; + font-size: 12px; + color: #90111A !important; /* dark red*/ + text-decoration: none; +} + +/* DNN Auto Complete */ +.dnn_acResults { + padding: 0px; + border: 1px solid #c9c9c9; + background-color: #fff; + overflow: hidden; + z-index: 900001; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + min-width: 150px; +} + + .dnn_acResults ul { + margin: 0px; + padding: 0px; + list-style-position: outside; + list-style: none; + } + + .dnn_acResults ul li { + margin: 0px; + padding: 6px 22px 6px 22px; + border-top: 1px solid #c9c9c9; + color: #666; + cursor: pointer; + display: block; + overflow: hidden; + color: #333; + } + + .dnn_acResults ul li:first-child { + border-top: none; + } + +.dnn_acLoading { +} + +.dnn_acSelect { + background-color: #e8f1fa; + color: #333; +} + +/* Form Item */ +.dnnFormMessage .dnnLabel { + float: none; + width: 90%; + text-align: right; +} + +/* Pane header */ +.dnnFormSectionHead span { + font-size: 18px; + color: #222; +} + +/* Progressbar*/ +.dnnProgressbar { + height: 25px !important; + padding: 18px 10px 0 10px; + border: 1px solid #c9c9c9; + background: #fff; + background: -moz-linear-gradient(top, #f0f2f1 0%, #fff 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#f0f2f1), color-stop(100%,#fff)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #f0f2f1 0%,#fff 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #f0f2f1 0%,#fff 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.25), 0px 1px 0px 0px #fff; + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.25), 0px 1px 0px 0px #fff; +} + +.ui-progressbar { + height: 10px !important; + overflow: hidden; + background-color: #ccc; + -webkit-box-shadow: inset 0px 1px 0px 0px #bbb; + box-shadow: inset 0px 1px 0px 0px #bbb; + text-align: right; +} + + .ui-progressbar .ui-progressbar-value { + margin: 0; + height: 100%; + background-color: #1a82f7; + background: -moz-linear-gradient(right, #2b7fda 0%, #3fbdff 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, left top, color-stop(0%,#2b7fda), color-stop(100%,#3fbdff)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(right, #2b7fda 0%, #3fbdff 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(right, #2b7fda 0%, #3fbdff 100%); /* W3C */ + } + +/* Button Dropdown */ +.dnnDropdownSettings { + position: relative; + height: 30px !important; +} + +.dnnButtonDropdown { + width: 50px; + height: 30px !important; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px #bbb; + box-shadow: 0px 1px 0px 0px #bbb; + border: 1px solid #c9c9c9; + cursor: pointer; +} + +.dnnButtonIcon, .dnnButtonArrow { + display: inline-block; + height: 30px !important; +} + +.dnnButtonIcon { + width: 32px; +} + +.dnnButtonArrow { + width: 10px; + background: transparent url(../../../../../images/dnnSpinnerDownArrow.png) no-repeat center; +} + +.dnnButtonDropdown-clicked { + z-index: 100; + position: absolute; + width: 50px; + height: 30px !important; + background: #fff; + border: 1px solid #c9c9c9; + border-bottom: 1px solid #fff; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; +} + +.dnnButtonDropdown-ul { + display: none; + position: absolute; + z-index: 99; + top: 18px; + right: 0; + width: 200px; + margin-right: 0; + background: #fff; + border: 1px solid #c9c9c9; + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 2px 0px 0px #bbb; + box-shadow: 0px 2px 0px 0px #bbb; + list-style-type: none; + -moz-padding-start: 0; + -webkit-padding-start: 0; + +} + + .dnnButtonDropdown-ul > li, .dnnButtonDropdown-ul > ul > li { + padding: 8px; + border-bottom: 1px solid #c9c9c9; + color: #333; + cursor: pointer; + vertical-align: middle; + list-style: none; + margin: 0; + } + .dnnButtonDropdown-ul > ul{ margin: 0;} + .dnnButtonDropdown-ul > ul > li{ padding-right: 16px;} + + .dnnButtonDropdown-ul > li:last-child { + border-bottom: none !important; + } + + .dnnButtonDropdown-ul > li:hover { + background-color: #e8f1fa; + color: #000; + } + +/* Button Group */ +ul.dnnButtonGroup { + display: inline-block; + margin: 0; + padding: 0; + background: #fff; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ + -webkit-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 0px 0px #bbb; + box-shadow: 0px 1px 0px 0px #bbb; + border: 1px solid #c9c9c9; + cursor: pointer; + list-style: none; +} + + ul.dnnButtonGroup > li { + display: block; + float: right; + border-right: 1px solid #c9c9c9; + margin: 0; + } + + ul.dnnButtonGroup > li:hover { + background-color: #e8f1fa; + } + + ul.dnnButtonGroup > li.dnnButtonGroup-first { + display: none; + } + + ul.dnnButtonGroup > li.dnnButtonGroup-first + li { + border-right: none; + } + + ul.dnnButtonGroup > li > a { + display: inline-block; + padding: 7px 7px 6px 7px; + text-decoration: none; + color: #333; + } + + ul.dnnButtonGroup span { + color: #333; + } + + +/* Grouped Multi Input */ +.dnnFormItem .dnnInputGroup { + float: right; + display: block; + width: 32.075%; + padding: 5px; + margin-bottom: 18px; + background: rgba(0,0,0,0.05); /* opaque black */ +} + + .dnnFormItem .dnnInputGroup .dnnLeft { + width: 100%; + } + + .dnnFormItem .dnnInputGroup span { + display: inline-block; + width: 33%; + text-align: left; + } + +/* Error Styles */ +.dnnFormError label a span { + color: red; +} + +.dnnFormError input[type="text"], +.dnnFormError input[type="password"], +.dnnFormError input[type="email"], +.dnnFormError input[type="tel"], +.dnnFormError select, +.dnnFormError textarea { + border: 1px solid red; +} + + +/* Tertiary Actions */ +.dnnFormItem input[type="text"] + .dnnTertiaryAction, +.dnnFormItem input[type="password"] + .dnnTertiaryAction, +.dnnFormItem input[type="email"] + .dnnTertiaryAction, +.dnnFormItem input[type="tel"] + .dnnTertiaryAction, +.dnnFormItem select + .dnnTertiaryAction { + display: inline-block; + max-width: 60px; +} + +/* Information Feedback Aside */ +.dnnForm fieldset.dnnFormInformation { + float: right; + width: 32.075%; + margin-right: 16px; + padding: 18px 0; + background: rgba(0,0,0,0.05); +} + +.dnnFormItem textarea { + min-height: 80px; +} + +.dnnAddress input[type="checkbox"] { + margin: 0 5px; +} + +/* Required Fields */ +.dnnFormRadioButtons { + float: right; + display: block; + width: auto; +} + + .dnnFormRadioButtons input[type=radio] { + float: none; + } + + .dnnFormRadioButtons label, + .dnnFormItem input[type=radio] + label { + float: none; + display: inline; + width: auto; + padding-left: 0; + margin: 0 0 0 10px; + text-align: right; + font-weight: normal; + } + +/* Text Editor */ +.dnnTextEditor { + margin-bottom: 18px; +} + +/* Action Items */ +.dnnActions { + float: none; + clear: both; + display: block; /* prevent ul from collapsing */ + margin: 0; + padding-top: 18px; + text-align: right; +} + + .dnnActions li { + float: right; + margin-left: 5px; + list-style: none; + } + +.dnnLoginActions { + display: inline-block; +} + +/* Short Form */ +.dnnForm.dnnShortForm .dnnFormItem label { + float: none; + width: 100%; + margin-bottom: 0.25em; + text-align: right; +} + +.dnnForm.dnnShortForm .dnnFormItem input, +.dnnForm.dnnShortForm .dnnFormItem select, +.dnnForm.dnnShortForm .dnnFormItem textarea { + float: none; + text-align: right; +} + +.dnnForm.dnnShortForm .dnnFormItem a.dnnFormHelp { + background-position: right; + padding-right: 22px; +} + +/* UI Helpers */ +.dnnForm .ui-helper-hidden { + display: none; +} + +.dnnForm .ui-helper-hidden-accessible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); +} + +/* Interaction Cues */ +.dnnForm .ui-state-highlight, +.dnnForm .ui-widget-content .ui-state-highlight, +.dnnForm .ui-widget-header .ui-state-highlight { + border: 1px solid #fed22f; + background: #ffe45c; + color: #363636; +} + + .dnnForm .ui-state-highlight a, + .dnnForm .ui-widget-content .ui-state-highlight a, + .ui-widget-header .ui-state-highlight a { + color: #363636; + } + +.dnnForm .ui-state-error, +.dnnForm .ui-widget-content .ui-state-error, +.dnnForm .ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #b81900; + color: #ffffff; +} + + .dnnForm .ui-state-error a, + .dnnForm .ui-widget-content .ui-state-error a, + .dnnForm .ui-widget-header .ui-state-error a { + color: #ffffff; + } + +.dnnForm .ui-state-error-text, +.dnnForm .ui-widget-content .ui-state-error-text, +.dnnForm .ui-widget-header .ui-state-error-text { + color: #ffffff; +} + +.dnnForm .ui-priority-primary, +.dnnForm .ui-widget-content .ui-priority-primary, +.dnnForm .ui-widget-header .ui-priority-primary { + font-weight: bold; +} + +.dnnForm .ui-priority-secondary, +.dnnForm .ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter: Alpha(Opacity=70); + font-weight: normal; +} + +.dnnForm .ui-state-disabled, +.dnnForm .ui-widget-content .ui-state-disabled, +.dnnForm .ui-widget-header .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; +} + +.dnnForm .ui-draggable { + cursor: move; +} + +/* Corner radius */ +.dnnForm .ui-corner-all, +.dnnForm .ui-corner-top, +.dnnForm .ui-corner-right, +.dnnForm .ui-corner-tl { + border-radius: 4px; +} + +.dnnForm .ui-corner-all, +.dnnForm .ui-corner-top, +.dnnForm .ui-corner-left, +.dnnForm .ui-corner-tr { + border-radius: 4px; +} +/*-------------------------------------*/ +/* MODULE TITLE - TEMPORARY */ +/*-------------------------------------*/ + +/* Need to determine what this is */ +.ModuleTitle_MenuContainer { + border: 1px solid blue; +} + +.ModuleTitle_MenuBar { +} + +.ModuleTitle_MenuItem { +} + +.ModuleTitle_MenuIcon { +} + +.ModuleTitle_SubMenu { +} + +.ModuleTitle_MenuBreak { +} + +.ModuleTitle_MenuItemSel { +} + +.ModuleTitle_MenuArrow { +} + +.ModuleTitle_RootMenuArrow { +} + +/*-------------------------------------*/ +/* MAIN MENU - TEMPORARY */ +/*-------------------------------------*/ + +/* Need to determine what this is */ +.MainMenu_MenuContainer { + border: 1px solid green; +} + +.MainMenu_MenuBar { +} + +.MainMenu_MenuItem { +} + +.MainMenu_MenuIcon { +} + +.MainMenu_SubMenu { +} + +.MainMenu_MenuBreak { +} + +.MainMenu_MenuItemSel { +} + +.MainMenu_MenuArrow { +} + +.MainMenu_RootMenuArrow { +} + +/*-------------------------------------*/ +/* POPUP */ +/*-------------------------------------*/ + +/* Popup Menu */ +.ui-widget-overlay { + position: fixed; + top: 0; + right: 0; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.65); + z-index: 9999; +} + +.dnnFormPopup { + position: absolute; + padding: 18px; + background: #fff; + -webkit-box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.75); + box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.75); + z-index: 100000; +} + /* Popup header */ + .dnnFormPopup, .dnnFormPopup > * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + } + + .dnnFormPopup .ui-dialog-titlebar { + position: relative; + padding: 0 0 18px 0; + border-bottom: 1px solid #ddd; + cursor: move; + font-size: 18px; + font-weight: bold; + } + + .dnnFormPopup .dnnModalCtrl { + display: block; + position: absolute; + top: -30px; + left: -30px; + width: 69px; + height: 26px; + border-radius: 10px; + background-color: #fff; + -webkit-border-radius: 10px; + box-shadow: 0px 0px 5px #666; + } + + .dnnFormPopup .dnnModalCtrl .ui-dialog-titlebar-close { + float: left; + display: block; + height: 18px; + width: 30px; + margin: 4px 1px 0 4px; + overflow: hidden; + -webkit-border-top-left-radius: 8px; + -webkit-border-bottom-left-radius: 8px; + border: none; + outline: none; + border-top-left-radius: 8px; + border-bottom-left-radius: 8px; + background: #585858 url(../../../../../images/closeBtn.png) no-repeat; + background-position: 8px 4px; + text-indent: -9999em; + min-width: 0 !important; + } + + .dnnFormPopup .dnnModalCtrl .ui-dialog-titlebar-close:hover { + background: #358EEA url(../../../../../images/closeBtn.png) no-repeat; + background-position: 8px 4px; + cursor: pointer; + } + + .dnnFormPopup .dnnModalCtrl a.dnnToggleMax { + float: right; + display: block; + height: 18px; + width: 30px; + margin: 4px 4px 0 0; + overflow: hidden; + -webkit-border-top-right-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; + background: #585858 url(../../../../../images/resizeBtn.png) no-repeat; + background-position: 10px 2px; + text-indent: -9999em; + } + + .dnnFormPopup .dnnModalCtrl a.dnnToggleMax:hover { + background: #358EEA url(../../../../../images/resizeBtn.png) no-repeat; + background-position: 10px 2px; + } + +div.ui-dialog-titlebar > .ui-dialog-titlebar-close { + display: block; + position: absolute; + top: -30px; + left: -30px; + height: 24px; + width: 24px; + margin: 0px; + overflow: hidden; + -webkit-border-radius: 12px; + border-radius: 12px; + background: #585858 url(../../../../../images/closeBtn.png) no-repeat; + background-position: 4px 4px; + border: 3px solid #fff; + text-indent: -9999em; + min-width: 0 !important; +} + +/* Poup Iframe styles*/ +.dnnFormPopup #iPopUp { + width: 100%!important; /* to overwrite inline javscript styles */ + padding-top: 10px; +} + +.dnnFormPopup .ui-dialog-content, #iPopUp .ui-dialog-content { + position: relative; + border: 0; + padding: 0px; + overflow: auto; + background: #fff; + zoom: 1; +} + +.dnnFormPopup .ui-dialog-buttonpane { + margin: .5em 0 0 0; + padding: .3em 0em 0em 1em; + overflow: hidden; + border-width: 1px 0 0 0; + background-image: none; + text-align: right; + border-top: 1px solid #ddd; +} + + .dnnFormPopup .ui-dialog-buttonpane button { + margin: 0.5em 0em 0.5em 0.4em; + padding: 0.5em 1em; + cursor: pointer; + border: none; + outline: none; + } + +.dnnFormPopup .ui-resizable-se { + float: left; + height: 24px; + width: 24px; + background: url(../../../../../images/modal-resize-icn.png) no-repeat bottom; +} + +.dnnFormPopup .dnnDialog { + padding: 10px; +} + +.dnnLoading { + background: #fff url(../../../../../images/loading.gif) no-repeat center center; + position: absolute; + z-index: 9999; +} +.dnnPanelLoading { + right: 0; + top: 0; + width: 100%; + height: 100%; + -ms-opacity: 0.7; + opacity: 0.7; +} + +/*-------------------------------------*/ +/* URL ACTION */ +/*-------------------------------------*/ +.urlControl label { + width: auto; + margin-top: 0; + font-weight: normal; +} + +.urlControlLinkType { + width: auto; +} + + .urlControlLinkType span, + .dnnFormItem .urlControlLinkType span { + float: none; + display: block; + width: auto; + text-align: right; + } + +.dnnFormItem .ucLinkTypeRadioButtons label { + display: inline-block; + width: 260px; + padding-left: 0; + margin-top: 0; + font-weight: normal; + text-align: right; +} + +.urlControlLinkType span input { + min-width: 3%; +} + +.dnnForm.dnnModuleSettings .dnnFormItem .urlControlLinkType span label { + text-align: right; +} + +.urlControlFileRow { + clear: both; +} + + .urlControlFileRow span.dnnFormLabel { + width: auto; + text-align: left; + } + + .urlControlFileRow select, .urlControlFileRow input[type=file] { + clear: both; + } + +.urlControlImagesRow { + overflow: hidden; + clear: both; +} + + .urlControlImagesRow span.dnnFormLabel { + width: auto; + text-align: left; + } + + .urlControlImagesRow select { + clear: both; + } + +/*-------------------------------------*/ +/* WIZARD TABS STEPS +/*-------------------------------------*/ + +/* Jquery UI tabs base */ +.dnnWizardTab.ui-tabs { + position: relative; + padding: 0; +} + + .dnnWizardTab.ui-tabs .ui-tabs-nav { + display: block; + height: 46px; + margin: 0; + padding: 0; + background: transparent url(../../../../../images/InstallWizardBG.png) repeat-x; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li { + float: right; + position: relative; + margin: 0; + padding: 0; + border-bottom: 0 !important; + list-style: none; + white-space: nowrap; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: 0; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active a, + .ui-tabs .ui-tabs-nav li.ui-state-disabled a, + .ui-tabs .ui-tabs-nav li.ui-state-processing a { + cursor: text; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li a, + .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { + cursor: pointer; + } + + .dnnWizardTab.ui-tabs .ui-tabs-panel { + clear: both; + display: block; + padding: 3em 1em 1.4em; + border-width: 0; + background: none; + } + + .dnnWizardTab.ui-tabs .ui-tabs-hide { + display: none !important; + } + + .dnnWizardTab.ui-tabs .ui-tabs-nav li a { + display: block; + } + +.dnnWizardStep > span { + display: block; + float: right; +} + +.dnnWizardStep { + height: 46px; + padding: 0 20px 0 0; + background: transparent url(../../../../../images/InstallWizardBG.png) repeat-x; + background-position: 0 0; + cursor: pointer; +} + +.ui-tabs .ui-tabs-nav li:first-child .dnnWizardStep { + padding-right: 30px; +} + +.dnnWizardStepNumber { + margin: 10px 0 0 10px; + padding: 3px 8px 3px 8px; + background-color: #999; + -webkit-border-radius: 18px; + border-radius: 18px; + color: #fff; + font-weight: bold; +} + +.dnnWizardStepTitle { + margin: 13px 0 0 20px; + color: #999; + font-weight: bold; + text-decoration: none; +} + +.dnnWizardStepArrow { + width: 25px; + height: 46px; + background: transparent url(../../../../../images/InstallWizardBG.png) no-repeat; + background-position: 0 -401px; +} + +.dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active .dnnWizardStep { + height: 46px; + background-position: 0 -100px; +} + +.dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active .dnnWizardStepNumber { + background-color: #333; +} + +.dnnWizardTab.ui-tabs .ui-tabs-nav li.ui-tabs-active .dnnWizardStepTitle { + color: #333; +} + +.dnnFormExpandContent { + margin: 10px 0; +} + + .dnnFormExpandContent > a { + color: #333; + font-size: 13px; + font-weight: bold; + } +/*-------------------------------------*/ +/* DNN SIMPLE GRID +/*-------------------------------------*/ + +table.dnnPermissionsGrid, +table.dnnGrid, +table.dnnASPGrid { + margin-bottom: 20px; + border: 1px solid #c9c9c9; +} + + table.dnnPermissionsGrid { + color: #777; + } + + table.dnnPermissionsGrid tr.dnnGridHeader td { + padding: 4px 4px 4px 4px; + vertical-align: middle; + line-height: 120%; + text-align: center; + } + + table.dnnPermissionsGrid tr.dnnGridItem td, + table.dnnPermissionsGrid tr.dnnGridAltItem td { + padding: 5px 4px 5px 4px; + border-top: 1px solid #c9c9c9; + border-bottom: 1px solid #c9c9c9; + width: 70px; + text-align: center; + } + + table.dnnPermissionsGrid tr.dnnGridItem td.permissionHeader, + table.dnnPermissionsGrid tr.dnnGridAltItem td.permissionHeader { + border-left: 1px solid #c9c9c9; + text-align: right; + padding-right: 10px; + width: 150px; + } + + table.dnnPermissionsGrid tr.dnnGridHeader td.permissionHeader { + padding-right: 10px; + text-align: right; + } + + .dnnPermissionsGrid > .dnnFormItem label { + margin-left: 8px; + color: #777; + } + + .dnnPermissionsGrid > .dnnFormItem select { + width: 25%; + margin: 0 0 5px 5px; + min-width: 180px; + color: #777; + } + + .dnnPermissionsGrid > .dnnFormItem input { + margin-bottom: 0; + height: 17px; + color: #777; + width: 25%; + } + .dnnPermissionsGrid > .dnnFormItem ul.token-input-list-facebook { + display: inline-block; + vertical-align: top; + } + + .dnnPermissionsGrid > .dnnFormItem > .leftGroup { + margin-left: 35px; + float:right; + } + + .dnnPermissionsGrid > .dnnFormItem > .rightGroup { + float: right; + } + + .dnnPermissionsGrid > .dnnFormItem > .rightGroup > .dnnSecondaryAction { + position: absolute; + } + + .dnnPermissionsGrid > .dnnFormItem { + margin-bottom: 18px; + overflow: auto; + } + +.dnnGridHeader td, thead.dnnGridHeader th, tr.dnnGridHeader th{ + padding: 6px 12px 6px 12px; + border-bottom: 1px solid #c9c9c9; + border-left: 1px solid #c9c9c9; + background: #f0f2f1; + background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ + background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ +} + +.dnnGridItem td, .dnnGridAltItem td { + padding: 6px; + border-left: 1px solid #c9c9c9; +} + + .dnnGridItem td input, .dnnGridAltItem td input { + margin-bottom: none; + } + +.dnnGridAltItem { + background: #F2F2F2; +} + + .dnnGridItem:hover, .dnnGridAltItem:hover { + background-color: #e8f1fa; + } + +/* td > input[type="image"], + td > input[type="image"] + a, + td a > img{ + display:block; + float: right; + margin-left: 3px; + } */ + +/*-------------------------------------*/ +/* URL Control +/*-------------------------------------*/ + +.urlControl { + float: right; + display: block; + padding: 15px; + margin-bottom: 10px; + background-color: #f0f0f0; +} + + .urlControl select, + .urlControl input { + width: 180px; + margin-bottom: 10px; + } + + .urlControl dnnFormItem > a.dnnSecondaryAction { + margin: 10px 0 0 10px; + float: right; + } + + .urlControl .urlControlLinkType { + float: right; + width: 100%; + } + + .urlControl .urlControlLinkType .dnnFormLabel { + float: right; + width: auto; + margin-left: 5px; + } + + .urlControl .urlControlLinkType input[type="radio"] { + width: auto; + margin-left: 5px; + } + +/*-------------------------------------*/ +/* File Picker +/*-------------------------------------*/ +span[id$="FileControl"] { + display: block; + float: right; +} + +.dnnFilePicker { + display: block; + float: right; + background-color: #f0f0f0; + margin-bottom: 10px; + margin-left: 10px; + padding: 0 15px 0 15px; + width: 450px; +} + + .dnnFilePicker .dnnLeft { + margin: 0; + padding: 0; + margin-top: -30px; + } + + .dnnFilePicker dnnFormItem { + margin: 0; + margin-top: -10px; + padding: 0; + position: static; + } + + .dnnFilePicker .dnnLeft img { + max-width: 135px; + max-height: 100px; + } + + .dnnFilePicker .dnnLeft .dnnFilePickerImageHolder { + width: 135px; + height: 100px; + background-color: #ccc; + margin: 20px 15px; + } + + .dnnFilePicker .dnnFormItem span { + display: block; + float: right; + width: 40px; + margin-top: 8px; + padding-right: 5px; + text-align: right; + } + + .dnnFilePicker select, + .dnnFilePicker input { + width: 200px; + margin: 0; + margin-left: 10px; + float: none; + } + + .dnnFilePicker .dnnLeft a.dnnSecondaryAction { + margin: 10px 0 0 10px; + display: inline-block; + } + + .dnnFilePicker .dnnLeft img { + display: block; + margin: 20px 15px; + } + +/* FILE UPLOAD CSS */ +span.dnnInputFileWrapper > input[type="file"] { /* force file upload style here, cause some module just override */ + position: absolute; + top: 0; + left: 0; + margin: 0; + opacity: 0; + filter: alpha(opacity=0); + direction: ltr; + cursor: pointer; + height: 100%; + font-size: 200px; +} + +span.dnnInputFileWrapper { /* Notes(by Richard): here must set !important */ + overflow: hidden !important; + margin: 0px 0 0 4px; + width: auto !important; + display: block !important; + float: right !important; + position: relative; +} + + span.dnnInputFileWrapper > span.dnnSecondaryAction { + display: inline-block; + float: none; + width: auto; + } + +/* DNN DRAG n DROP FILE PICKER UPLOAD */ +.dnnFileUploadScope { + display: block; + float: right; + background-color: #F0F0F0; + margin-bottom: 10px; + margin-left: 10px; + padding: 0; + width: 500px; +} + + .dnnFileUploadScope .dnnLeft { + margin: 0; + padding: 15px 10px 15px 10px; + } + + .dnnFileUploadScope .dnnLeft .dnnFormItem { + margin-bottom: 10px; + } + + .dnnFileUploadScope .dnnFormItem span, .urlControlTab .dnnFormItem > span { + display: block; + float: right; + width: 40px; + margin-top: 8px; + padding-right: 5px; + text-align: right; + } + + .dnnFileUploadScope .dnnFormItem .dnnDropDownList span { + margin: 0; + width: auto; + } + + .dnnFileUploadScope .dnnFormItem .RadComboBox_Default, .dnnFileUploadScope .dnnFormItem .dnnDropDownList{ + width: 180px; + margin: 0; + float: none; + } + + .dnnFileUploadScope .dnnLeft .dnnFileUploadDropZone { + position: relative; + margin: 0; + width: 180px; + height: 150px; + background: #d9eeff; + border: 1px dashed #bbb; + box-shadow: 0px 1px 0px #fff; + -webkit-border-radius: 3px; + border-radius: 3px; + color: #4577a2; + } + + .dnnFileUploadScope .dnnLeft .dnnFileUploadDropZone span { + display: block; + position: absolute; + right: 38px; + top: 60px; + color: #fff; + font-size: 12px; + background: rgba(0,0,0,0.5); + padding: 5px 7px; + border-radius: 3px; + box-shadow: 0px 1px 0px #fff, inset 1px 1px 0px #555; + opacity: 0.5; + cursor: default; + -webkit-transition: all 500ms ease-in-out; + -moz-transition: all 500ms ease-in-out; + -ms-transition: all 500ms ease-in-out; + -o-transition: all 500ms ease-in-out; + transition: all 500ms ease-in-out; + } + + .dnnFileUploadScope .dnnLeft .dnnFileUploadDropZone:hover span { + opacity: 1; + } + +input.dnnFixedSizeComboBox { + width: 200px !important; + margin-left: 10px; + float: right; +} + +div.dnnFixedSizeComboBox { + width: 218px !important; + margin-left: 15px; + float: right; +} + +.dnnFixedSizeComboBox + a.dnnSecondaryAction { + float: right; + margin-left: 10px; +} + +input.dnnSmallSizeComboBox { + width: 100px !important; + margin-left: 10px; + float: right; +} + +div.dnnSmallSizeComboBox { + width: 118px !important; + margin-left: 15px; + float: right; +} + +.dnnSmallSizeComboBox + a.dnnSecondaryAction { + float: right; + margin-left: 10px; +} + +td.dnnGridHeaderTD-NoBorder { + border-left: none !important; +} + +tr.dnnGridItem td, tr.dnnGridAltItem td { + border-left: none; +} + + tr.dnnGridItem td input { + margin-bottom: 0; + } + +/*-------------------------------------*/ +/* ACCORDIAN +/*-------------------------------------*/ +h2.dnnFormSectionHead { + margin-top: 8px; + margin-bottom: 18px; + border-bottom: 1px solid #ddd; + font-size: 32px; + line-height: 36px; + letter-spacing: -0.03em; +} + + h2.dnnFormSectionHead a { + display: block; + padding-right: 3px; + background: url(../../../../../images/down-icn.png) no-repeat left 50%; + text-decoration: none; + color: #333; + font-size: 18px; + letter-spacing: normal; + font-weight: normal; + } + + h2.dnnFormSectionHead a:hover { + color: #222; + background: rgba(2,139,255,0.05) /* blue */ url(../../../../../images/down-icn.png) no-repeat left 50%; + } + + h2.dnnFormSectionHead a.dnnSectionExpanded { + background: url(../../../../../images/up-icn.png) no-repeat left 50%; + color: #222; + } + + h2.dnnFormSectionHead a.dnnSectionExpanded:hover { + color: #222; + background: rgba(2,139,255,0.05) /* blue */ url(../../../../../images/up-icn.png) no-repeat left 50%; /* ACTIVE BLUE */ + } + +/*-------------------------------------*/ +/* VERTICAL TABS */ +/*-------------------------------------*/ +.dnnVerticalTabs { + margin-right: 0; +} + + .dnnVerticalTabs li { + list-style: none; + } + + .dnnVerticalTabs li a { + display: block; + padding: 15px 15px; + border-bottom: 1px solid #ddd; + border-left: 1px solid #ddd; + background: rgba(0, 0, 0, 0.04); + color: #999; + text-decoration: none; + } + + .dnnVerticalTabs li a:hover { + background: rgba(0, 0, 0, 0.06); + color: #333; + } + + .dnnVerticalTabs li.active a { + background: none; + color: #333; + border-left: 1px solid transparent; + } + +.tabBody { + display: none; +} + +/*-------------------------------------*/ +/* SCROLL BAR */ +/*-------------------------------------*/ + +.jspContainer { + overflow: hidden; + position: relative; +} + +.jspPane { + position: absolute; +} + +.jspVerticalBar { + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 100%; + background: #ccc; +} + +.jspHorizontalBar { + position: absolute; + bottom: 0; + right: 0; + width: 100%; + height: 11px; + background: #ccc; +} + + .jspVerticalBar *, + .jspHorizontalBar * { + margin: 0; + padding: 0; + } + +.jspCap { + display: none; +} + +.jspHorizontalBar .jspCap { + float: right; +} + +.jspTrack { + background: transparent; + position: relative; +} + +.jspVerticalBar .jspTrack { + width: 10px; + margin: 0 3px 0 0; +} + +.jspHorizontalBar .jspTrack { + height: 5px; + margin: 3px 0 3px 0; +} + +.jspVerticalBar .jspCap { + display: block; + height: 3px; + width: 11px; +} + +.jspHorizontalBar .jspCap { + display: block; + width: 3px; + height: 11px; +} + +.jspDrag { + position: relative; + top: 0; + right: 0; + border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + opacity: .75; + background: #000; + cursor: pointer; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag { + float: right; + height: 5px; +} + +/*-------------------------------------*/ +/* UPGRADE FIXES */ +/*-------------------------------------*/ + +/* Compatible with some old forge modules---*/ +div.ModDNNAnnouncementsC table.ucLinkTypeRadioButtons label { + display: inline !important; +} + +div.ModDNNAnnouncementsC table.ucLinkTypeRadioButtons span.dnnRadiobutton { + display: inline !important; +} + +div.ModDNNAnnouncementsC .urlControl label, div.ModDNNLinksC .urlControl label { + display: inline !important; +} + +div.ModDNNFAQsC .Normal { + width: auto !important; +} + +div.ModDNNFeedbackC .dnnFormItem > label { + display: inline-block; + width: 33%; + text-align: left; +} + +div.ModDNNUserDefinedTableC div.RadEditor { + height: auto !important; +} + +div.ModDNNUserDefinedTableC ul.dnnActions { + display: block; +} + +div.ModDNNIFrameC .urlControl span.dnnRadiobutton { + display: inline !important; +} + +div.ModDNNIFrameC table.Normal td .dnnLabel { + width: 100px; +} + +div.ModDNNIFrameC table.Normal td span.dnnRadiobutton { + margin: 5px 30px 0 0; +} + +div.ModDNNLinksC .urlControl span.dnnRadiobutton { + display: inline !important; +} + +/*-------------------------------------*/ +/* GENERIC CLASSES */ +/*-------------------------------------*/ +.right { + float: right; +} + +.left { + float: left; +} + +.dnnLeft { + float: right; +} + +.dnnRight { + float: left; +} + +.dnnClear { + clear: both; +} + + .dnnClear:after { + clear: both; + content: "."; + display: block; + height: 0; + visibility: hidden; + font-size: 0; + } + +* + html .dnnClear { + min-height: 1%; +} + +/* used to set the different module align options - from module settings */ +.DNNAlignleft { + text-align: right; +} + +.DNNAlignright { + text-align: left; +} + +.DNNAligncenter { + text-align: center; +} + +/* used to collapse panes without any content in them */ +body:not(.dnnEditState) .DNNEmptyPane { + width: 0px; +} + +/* style to apply if the content should be hidden */ +.Hidden { + display: none; +} +.wordwrap { + white-space: pre-wrap; /* CSS3 */ + white-space: -moz-pre-wrap; /* Firefox */ + white-space: -pre-wrap; /* Opera <7 */ + white-space: -o-pre-wrap; /* Opera 7 */ + word-wrap: break-word; /* IE */ +} +/*Edit In Place Tool Bar Classes*/ +.eipbackimg { + position:absolute; + margin-top:10px; + white-space:nowrap; + background:url(../../../../../images/eip_toolbar.png) repeat-x; + height:32px; + z-index: 1; +} +.eipbackimg.editMode { + border: 1px solid #777777 !important; + background: -moz-linear-gradient(top, #303030 0%, #191919 100%) !important; /* FF3.6+ */ + background: -webkit-gradient(linear, right top, right bottom, color-stop(0%,#303030), color-stop(100%,#191919)) !important; /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #303030 0%,#191919 100%) !important; /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #303030 0%,#191919 100%) !important; /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #303030 0%,#191919 100%) !important; /* IE10+ */ + background: linear-gradient(to bottom, #303030 0%,#191919 100%) !important; /* W3C */ + opacity: 0.8; +} +.eipbackimg.containerTitle { + margin-top: -8px; +} +.eipbackimg.containerTitle.editMode { + right: auto; + left: 0px; + margin-top: 2px; + background: none !important; + border: none !important; +} +.eipbuttonbackimg{ + width: 32px; + height: 32px; + cursor: pointer; + float:right; + background: url(../../../../../images/eip_toolbar.png) no-repeat; + +} +.eipbackimg.editMode .eipbuttonbackimg { + border-right: 1px solid #1f1f1f; + border-left: 1px solid #393939; + opacity: 0.5; +} + +.eipbackimg.editMode.containerTitle .eipbuttonbackimg { + border: none; + opacity: 1; +} + +.eipbuttonbackimg.eipbutton_cancel{ background-position: -32px 0;} +.eipbuttonbackimg.eipbutton_bold{ background-position: -64px 0;} +.eipbuttonbackimg.eipbutton_italic{ background-position: -96px 0;} +.eipbuttonbackimg.eipbutton_underline{ background-position: -128px 0;} +.eipbuttonbackimg.eipbutton_justifyleft{ background-position: -160px 0;} +.eipbuttonbackimg.eipbutton_justifycenter{ background-position: -192px 0;} +.eipbuttonbackimg.eipbutton_justifyright{ background-position: -224px 0;} +.eipbuttonbackimg.eipbutton_orderedlist{ background-position: -256px 0;} +.eipbuttonbackimg.eipbutton_unorderedlist{ background-position: -288px 0;} +.eipbuttonbackimg.eipbutton_outdent{ background-position: -320px 0;} +.eipbuttonbackimg.eipbutton_indent{ background-position: -352px 0;} +.eipbuttonbackimg.eipbutton_createlink{ background-position: -384px 0;} + +.eipbackimg.containerTitle .eipbutton_cancel { + background: url(../../images/eip_title_cancel.png) no-repeat center center; +} + +.eipbutton_edit { + background: url(../../../../../images/eip_edit.png) no-repeat 100% center; + float:right; +} + +.eipbutton_save { + background: url(../../../../../images/eip_save.png) no-repeat 100% center; + float:right; +} +.eipbackimg.containerTitle .eipbutton_save { + background-image: url(../../images/eip_title_save.png); +} + +.eipbackimg.editMode .eipborderhover { + background-color: #333; + opacity: 1; +} +.eipbackimg.editMode.containerTitle .eipborderhover { + background-color: inherit; +} +div[id$=titleLabel_tb].visible ~ span{ margin-right: 32px;} + +/*Critical Error Popup*/ +div.errorWin p{ margin: 0 0 10px 0;} + +input[type="button"].rspCollapseBarSpacer +{ min-width: 0; padding: 0 0; } + + +/*------------------------------------------------*/ +/* DEFAULT PROFILE STYLE */ +/*------------------------------------------------*/ + +.UserProfileControls ul li { + list-style-type: none; +} + +/*------------------------------------------------*/ +/* PROFILE STYLE */ +/*------------------------------------------------*/ +.console.profile { + /*width: 250px;*/ + width:100% !important; /* updated for responsive*/ + height: auto; + background-color: #484848; /* Menu Background Color */ +} + +.console.profile .console-none div { + cursor: pointer; + cursor: hand; + float: right; + height: auto; + /*width: 250px;*/ + width:100% !important; /* updated for responsive*/ + padding: 0px; + margin: 0px; + text-align: right; +} + +.console.profile .console-none h3 { + padding: 10px 40px 10px 8px; + margin: 0; + border-bottom: solid 1px #fff; + background: url('../../../../images/arrow-left-white.png') 18px center no-repeat; + color: #eee; + font-size: 13px; + line-height: 1; + font-weight: bold; +} + +.console.profile .console-none div div { + display: none; +} + +.console.profile .console-mouseon { + background-color: #70b1c7; /* Menu Hover Background Color */ +} +/*-------------------------------------------------*/ + +/* Login/register/reset paswsword controls in mobile view */ +body.mobileView.dnnFormPopup.dnnFormPopupMobileView{ + margin: 0; + padding: 0; + width: 100%; + height: inherit !important; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnFormMessage{ + margin: 0; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + padding: 10px 0 10px 0; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnFormMessage.dnnFormValidationSummary{ + padding: 10px; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .LoginPanel, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnSendPasswordContent, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm { + width: 100%; + padding: 18px 0 0 0; + margin: 0; + float: none; + min-width: inherit !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm{ + width: 100%; + margin: 0; + float: none; + min-width: inherit !important; +} + + + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel { + display: block; + text-align: right; + float: none; + width: 100% !important; + font-size: 14px; + margin: 0 0 7px 0; + vertical-align: top; + padding: 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnSocialRegistration{ + display: none; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnCaptcha{ + width: 100%; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnLeft img{ + display: block; + margin: 0 0 5px 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel a.dnnFormHelp{ + display: none !important; + width: 0 !important; + margin: 0 !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel div.dnnTooltip{ + display: none !important; + width: 0 !important; + position: static !important; + left: 0 !important; + margin: 0 !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem input[type="text"], +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > input[type="password"]{ + display: block; + box-sizing: border-box; + -webkit-box-sizing:border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: 100% !important; + margin-bottom: 18px; + min-width: 100% !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > span#dnn_ctr_Login_Login_DNN_lblLogin{ + display: none !important; + width: 0; + margin: 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem span.dnnFormMessage.dnnFormError{ + border-radius: 0; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + left: 0; + width: auto; + max-width: 100%; + padding: 10px; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm.dnnLoginService a.dnnPrimaryAction, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm.dnnLoginService a.dnnSecondaryAction{ + width: 45%; + padding: 18px 0 18px 0; + display: block; + float: right; + margin: 0 0 0 5px; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnLoginRememberMe{ + display: block; + float: right; + margin: 10px 5px 0 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnLoginActions { + display: block; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions a.dnnSecondaryAction, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions a.dnnPrimaryAction{ + width: 100%; + padding: 18px 0 18px 0; + display: block; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions{ + padding: 0; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnActions li{ + width: 45%; +} + +/* password strength control in iPopup */ +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .password-strength-container{ + width: 100%; + margin: 0 0 12px 0; + padding: 8px 0 8px 0; + display: block; + max-width: inherit !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-container input[type="password"]{ + display: block; + margin: 0 8px 0 8px; + width: calc(100% - 20px); + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-container span.min-length-text{ + display: block; + margin: 5px 8px 5px 0; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-container div.meter{ + float: none; + width: 90%; + margin: 0 8px 0 0; +} +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnFormItem input.unmatched{ + background: none !important; +} + +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .password-strength-tooltip, +body.mobileView.dnnFormPopup.dnnFormPopupMobileView .dnnRegistrationForm .dnnFormItem .confirm-password-tooltip{ + display: none !important; +} + +.mobileView .dnnFormPopup .ui-dialog-content, .mobileVie #iPopUp .ui-dialog-content { + max-height: none !important; +} + +.mobileView .ui-widget-overlay { + display: none; +} +.dnnFormPopup.dnnFormPopupMobileView { + width: auto !important; + right: 0 !important; + left: 0 !important; + top: 0 !important; + box-shadow: none !important; +} +.dnnFormPopup.dnnFormPopupMobileView div.ui-dialog-titlebar > .ui-dialog-titlebar-close { + display: none; +} + +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-titlebar { + border-bottom: none; + cursor: inherit; + font-size: 22px; + color: #000; + padding: 5px 0 0 0; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel { + display: block; + text-align: right; + float: none; + width: auto !important; + font-size: 14px; + margin: 0 0 7px 0; + vertical-align: top; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > input[type="text"] { + display: block; + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > textarea, +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .redactor_box { + display: block; + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > select { + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnTagsInput { + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100% !important; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + margin-bottom: 18px; + max-width: inherit !important; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnForm .dnnFormItem > .dnnLabel > input[type="checkbox"].normalCheckBox { + display: inline-block; + margin: 0 12px 0 5px; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnFormItem span.dnnFormMessage.dnnFormError { + left: 0; + width: auto; + border-radius: 0; + text-align: left; + max-width: 100%; +} + +.dnnFormPopup.dnnFormPopupMobileView a.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView a.dnnSecondaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnSecondaryAction { + width: 49%; + margin: 0; + padding: 20px 0 20px 0; + display: block; +} + +.dnnFormPopup.dnnFormPopupMobileView a.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnPrimaryAction { + float: right; +} + +.dnnFormPopup.dnnFormPopupMobileView a.dnnSecondaryAction, +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane button.dnnSecondaryAction { + float: left; +} + +.dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane { + border-top: none; +} + + .dnnFormPopup.dnnFormPopupMobileView .ui-dialog-buttonpane .ui-dialog-buttonset { + float: none; + } + +.dnnFormPopup.dnnFormPopupMobileView .four-btn-panel a.dnnPrimaryAction, +.dnnFormPopup.dnnFormPopupMobileView .four-btn-panel a.dnnSecondaryAction { + width: 24%; + display: inline-block; + margin-left: 1%; + float: none; +} + +.dnnFormPopup.dnnFormPopupMobileView .dnnFormMessage { + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + margin: 25px 0 15px 0; +} + +html.mobileView { + overflow: auto !important; +} + +.mobileView .dnnFormPopup .ui-dialog-content, +.mobileView #iPopUp .ui-dialog-content { + max-height: none !important; +} + +.dnnPlaceholder{ color: #666; } + +/* DNN Slider Input Style */ +div.dnnSliderInput { + position: relative; + display: inline-block; + width: 47%; + margin:15px 0 23px 0; + max-width: 445px; + border: 1px solid #d3d3d3; + -ms-border-radius: 3px; + border-radius: 3px; + height: 10px; +} + +div.dnnSliderInput .ui-slider-handle { + position: absolute; + z-index: 2; + width: 14px; + height: 14px; + cursor: default; + border: 1px solid #aaaaaa; + background-color: #cccccc; + font-weight: normal; + color: #555555; + outline: none; + top: -2px; + margin-right: -7px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +div.dnnSliderInput .dnnTooltip { + top: -37px; + margin-right: -22px; +} +div.dnnSliderInput .dnnTooltip .dnnFormHelpContent { + visibility: visible; + padding: 4px 10px; + width: 25px; + text-align: center; + z-index: 1; +} +/*END DNN Slider Input Style*/ \ No newline at end of file diff --git a/DNN Platform/Website/admin/Menus/ModuleActions/ModuleActions.rtl.css b/DNN Platform/Website/admin/Menus/ModuleActions/ModuleActions.rtl.css new file mode 100644 index 00000000000..cf1685b2518 --- /dev/null +++ b/DNN Platform/Website/admin/Menus/ModuleActions/ModuleActions.rtl.css @@ -0,0 +1,209 @@ +/* Persian-DnnSoftware */ +.dnnEditState .DnnModule:hover { + opacity: 1; +} +.dnnEditState.dnnOpacityDisabled .DnnModule { + opacity: 1; +} +div.actionMenu ul { + z-index: 1000 !important; +} +div.actionMenu ul:hover, +div.actionMenu ul.showhover { + z-index: 1003 !important; +} +div.actionMenu ul.dnn_mact { + margin-bottom: 0; + margin-right: 0; +} +div.actionMenu ul.dnn_mact li { + position: relative; + list-style: none; +} +/* +div.actionMenu ul.dnn_mact > li { + width: 20px; + height: 20px; + float: right; + padding: 0; + margin: 0; + cursor: pointer; + border: 1px solid transparent; + background: transparent; +} +*/ + +div.actionMenu ul.dnn_mact > li { + width: 20px; + height: 20px; + float: left; + padding: 0; + margin: 0; + cursor: pointer; + border: 1px solid transparent; + background: transparent; +} + +div.actionMenu ul.dnn_mact > li:hover { + border: 1px solid #cccccc; + border-bottom: 1px solid #ffffff; + background: #ffffff; +} +div.actionMenu ul.dnn_mact > li > a { + display: inline-block; + width: 20px; + height: 20px; + background-color: #000000; + color: #ffffff; + font-size: 16px; + line-height: 20px; + text-align: center; +} +div.actionMenu ul.dnn_mact > li:hover > a { + background-color: #ffffff; + color: #000000; +} +div.actionMenu ul.dnn_mact > li > a > i { + vertical-align: baseline; +} +/* Secondary level */ +div.actionMenu ul.dnn_mact > li ul { + /* Styles for all sub levels */ + display: none; + position: absolute; + top: 20px; + width: 220px; + padding: 0; + margin: 0; + margin-left: -1px; + background: #ffffff; + border: 1px solid #cccccc; + list-style-type: none; + -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3); + box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3); +} +div.actionMenu ul.dnn_mact > li > ul { + /* styles specific to secondary level */ + left: 0; +} +div.actionMenu ul.dnn_mact > li > ul > li { + display: block; + padding: 0; + margin: 0; + border-top: 1px solid #cccccc; + white-space: nowrap; +} +div.actionMenu ul.dnn_mact > li > ul > li:first-child { + border: none; +} +div.actionMenu ul.dnn_mact > li > ul li:hover { + background-color: #e8f1fa; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings > ul li:hover { + background-color: #ffffff; +} +div.actionMenu ul.dnn_mact > li ul a { + display: block; + padding: 5px 12px; + color: #666; + text-decoration: none; + overflow: hidden; + font-size: 11px; +} +div.actionMenu ul.dnn_mact > li ul a > * { + display: inline-block; + margin-left: 5px; +} +div.actionMenu ul.dnn_mact > li > ul > li:hover a { + color: #333; +} +div.actionMenu ul.dnn_mact > li.actionMenuMove > ul { + max-height: 220px; + overflow: auto; + padding: 0; + margin: 0; +} +div.actionMenu ul.dnn_mact > li.actionMenuMove > ul li { + padding: 8px 10px 5px 0; + height: 20px; + margin: 0; + border-bottom: 1px solid #cccccc; + border-top: none; + cursor: pointer; + font-size: 12px; + /*font-family: Arial;*/ + line-height: 18px; + text-shadow: none; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings > ul { + width: auto; + min-height: 250px; + overflow: auto; + cursor: default; + z-index: 1000; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings div.qsHeader { + margin-top: 9px; + margin-right: 10px; + margin-left: 10px; + padding-bottom: 9px; + border-bottom: 1px solid #cccccc; + font-size: 20px; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings div.qsContainer { + margin-right: 10px; + margin-left: 10px; + min-height: 150px; + border-bottom: 1px solid #cccccc; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings div.qsFooter { + margin-top: 6px; + padding-bottom: 6px; + clear: both; + width: 100%; + padding-top: 10px; + text-align: center; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings div.qsFooter a { + margin-right: 10px; + margin-left: 10px; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings div.qsFooter a.primarybtn { + background: #0087c6; + color: #ffffff !important; + display: inline-block; + padding: 9px 9px; + cursor: pointer; + min-width: 75px; + border-radius: 3px; + text-decoration: none; + text-align: center; + font-size: 13px; +} +div.actionMenu ul.dnn_mact > li.actionQuickSettings div.qsFooter a.secondarybtn { + background: #e4e4e4; + color: #333333 !important; + display: inline-block; + padding: 9px 9px; + cursor: pointer; + min-width: 75px; + border-radius: 3px; + text-decoration: none; + text-align: center; + font-size: 13px; +} +div.actionMenu ul.dnn_mact li.dnn_menu_label { + display: inline-block; + pointer-events: none; +} +div.actionMenu ul.dnn_mact li.dnn_menu_label > div { + display: inline-block; + padding: 0.5em 0; + -webkit-writing-mode: vertical-rl; + -ms-writing-mode: tb-rl; + writing-mode: vertical-rl; + white-space: nowrap; + color: white; + background-color: #000; + background-image: none !important; +} diff --git a/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.eot b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.eot new file mode 100644 index 00000000000..a30335d748c Binary files /dev/null and b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.eot differ diff --git a/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.ttf b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.ttf new file mode 100644 index 00000000000..d7994e13086 Binary files /dev/null and b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.ttf differ diff --git a/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.woff b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.woff new file mode 100644 index 00000000000..6fd4ede0f30 Binary files /dev/null and b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.woff differ diff --git a/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.woff2 b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000000..5560193ccc5 Binary files /dev/null and b/DNN Platform/Website/admin/Menus/ModuleActions/fonts/fontawesome-webfont.woff2 differ diff --git a/DNN Platform/Website/admin/Modules/module.rtl.css b/DNN Platform/Website/admin/Modules/module.rtl.css new file mode 100644 index 00000000000..ffcd1596516 --- /dev/null +++ b/DNN Platform/Website/admin/Modules/module.rtl.css @@ -0,0 +1,134 @@ +/* =========== Module Settings Styling =========== */ +.dnnModuleSettings { + margin: 2em auto; +} +.dnnModuleSettings div.msModuleSettings, .dnnModuleSettings div.msPermissions, .dnnModuleSettings div.msPageSettings, .dnnModuleSettings div.msSpecificSettings { + padding: 0; +} +.dnnModuleSettings .dnnFormItem input[type="text"], .dnnModuleSettings .dnnFormItem .dnnFormInput, .dnnModuleSettings .dnnFormItem textarea, .dnnExport .dnnFormItem input[type="text"], .dnnExport .dnnFormItem .dnnFormInput, .dnnExport .dnnFormItem textarea { + +} +.dnnModuleSettings .urlControlLinkType .dnnFormLabel { + width: 100px; + float: right; + display: block; + margin-top: 0; + font-weight: normal; +} +.dnnModuleSettings .urlControlLinkType br, .dnnModuleSettings .dnnFormRadioButtons br { + display: none; +} +.dnnModuleSettings .urlControlLinkType .ucLinkTypeRadioButtons { + float: right; + display: block; + min-width: 350px; +} +.dnnModuleSettings .dnnFormRadioButtons { + min-width: 350px; + margin-top: 0 !important; +} +.dnnModuleSettings .urlControlLinkType label, .urlControlFileRow .dnnFormLabel { + margin-top: 0; + font-weight: normal; +} +.urlControl span.dnnFormLabel { + width: 100px; + text-align: left; + display: block; + float: right; + margin: 8px 0 0 14px; +} +.dnnModuleSettings div.dnnmsStat { + border-top: 1px #ccc solid; + padding: 1em 0 4em; + overflow: hidden; +} +.dnnmsStat p { + float: right; + padding-left: 2em; +} +p.dnnFormRequired span { + border-right: 5px #F00 solid; + padding-right: 0.5em; +} +.mspsContent .urlControl { + overflow: hidden; +} +.mspsContent .urlControlLinkType { + float: right; + width: 100%; +} +.mspsContent .urlControlLinkType .dnnFormLabel { + float: right; + width: auto; +} +.mspsContent .urlControlFileRow a.dnnSecondaryAction { + margin: 10px 0 0 10px; + float: right; +} +.mspsContent .urlControlLinkType input[type="radio"] { + width: auto; + margin-left: 5px; +} +.dnnModuleSettings .dnnFormItem input[type="text"].msCacheDuration { + width: 100px; + min-width: 50px; +} + +/* adjust form item padding/spacing */ +.dnnFormItem label + input{ + margin-right: 15px; +} +.dnnFormItem .dnnLeft{ + width: 60%; + margin: 6px 0 15px 0; +} +.dnnFormItem > textarea{ + margin-top:5px; +} + +span.labelCacheInherited{ + display: block !important; + background-color: rgba(255, 0, 0, 0.15); + border-color: rgba(255, 0, 0, 0.2); + padding: 8px; + float: right; + width: 100px !important; +} +.tabVisibilityRow span.dnnFormLabel { + width: 20%; + display: block; + float: right; + text-align: left; + margin:0 0 0 12px; + font-weight: normal; +} +.tabVisibilityRowItem{ + width: 100%; + clear: both; + margin-bottom: 8px; +} +.dnnContainerPreview .dnnLabel{ + float: right; +} + +.dnnContainerPreview .RadComboBox_Default{ + float: right; + margin-left: 15px; +} + +.dnnContainerPreview .dnnSecondaryAction{ + float: right; +} + +.dnnCacheSettings .dnnLabel{ + float: right; +} + +.dnnCacheSettings .RadComboBox_Default{ + width: 200px !important; + float: right; + margin-left: 15px; +} + +/* =========== End Module Settings Styling =========== */ \ No newline at end of file diff --git a/DNN Platform/Website/admin/Security/module.rtl.css b/DNN Platform/Website/admin/Security/module.rtl.css new file mode 100644 index 00000000000..3496116facc --- /dev/null +++ b/DNN Platform/Website/admin/Security/module.rtl.css @@ -0,0 +1,9 @@ +/* Persian-DnnSoftware */ + .dnnSendPasswordContent input[type=text]{width:35%;} + .dnnSendPasswordContent ul.dnnActions{margin:0;border:none;padding:0;} + .dnnSendPasswordContent{width:550px;} + + .dnnPasswordResetContent input[type=text]{width:45%;} + .dnnPasswordResetContent ul.dnnActions{margin:0;border:none;padding:0;} + .dnnPasswordResetContent{width:550px;} + .dnnPasswordResetContent .confirm-password-tooltip{ left: auto !important; right: 3% !important; } \ No newline at end of file diff --git a/DNN Platform/Website/admin/Skins/CurrentDate.ascx.cs b/DNN Platform/Website/admin/Skins/CurrentDate.ascx.cs index b0d781cbb53..c9a8adf556e 100644 --- a/DNN Platform/Website/admin/Skins/CurrentDate.ascx.cs +++ b/DNN Platform/Website/admin/Skins/CurrentDate.ascx.cs @@ -32,7 +32,17 @@ protected override void OnLoad(EventArgs e) } var user = UserController.Instance.GetCurrentUserInfo(); - this.lblDate.Text = !string.IsNullOrEmpty(this.DateFormat) ? user.LocalTime().ToString(this.DateFormat) : user.LocalTime().ToLongDateString(); + /* START Persian-DnnSoftware */ + if (System.Globalization.CultureInfo.CurrentCulture.ToString() == "fa-IR") + { + this.lblDate.Text = !string.IsNullOrEmpty(this.DateFormat) ? DateTime.Now.ToString(this.DateFormat) : DateTime.Now.ToLongDateString(); + } + else + { + this.lblDate.Text = !string.IsNullOrEmpty(this.DateFormat) ? user.LocalTime().ToString(this.DateFormat) : user.LocalTime().ToLongDateString(); + } + + /* END Persian-DnnSoftware */ } private void InitializeComponent() diff --git a/DNN Platform/Website/admin/Skins/Styles.ascx.cs b/DNN Platform/Website/admin/Skins/Styles.ascx.cs index 4eee5f5ec61..1e146c73539 100644 --- a/DNN Platform/Website/admin/Skins/Styles.ascx.cs +++ b/DNN Platform/Website/admin/Skins/Styles.ascx.cs @@ -13,6 +13,10 @@ namespace DotNetNuke.UI.Skins.Controls public partial class Styles : SkinObjectBase { private bool useSkinPath = true; + + // Bazrafshan + /* Persian-DnnSoftware */ + private int priority = 10; public string Condition { get; set; } @@ -20,8 +24,24 @@ public partial class Styles : SkinObjectBase public string Name { get; set; } - public string StyleSheet { get; set; } + public string StyleSheet { get; set; } + + // Bazrafshan + /* START Persian-DnnSoftware */ + public int Priority + { + get + { + return ((int)Web.Client.FileOrder.Css.SkinCss) + this.priority; + } + + set + { + this.priority = value; + } + } + /* END Persian-DnnSoftware */ public bool UseSkinPath { get @@ -60,72 +80,101 @@ protected void AddStyleSheet() skinpath = ((Skin)this.Parent).SkinPath; } - var objLink = new HtmlLink(); - objLink.ID = Globals.CreateValidID(this.Name); - objLink.Attributes["rel"] = "stylesheet"; - objLink.Attributes["type"] = "text/css"; - objLink.Href = skinpath + this.StyleSheet; - if (this.Media != string.Empty) - { - objLink.Attributes["media"] = this.Media; // NWS: add support for "media" attribute - } - - if (this.IsFirst) - { - // Find the first HtmlLink - int iLink; - for (iLink = 0; iLink <= objCSS.Controls.Count - 1; iLink++) - { - if (objCSS.Controls[iLink] is HtmlLink) - { - break; - } - } - - this.AddLink(objCSS, iLink, objLink); - } - else - { - this.AddLink(objCSS, -1, objLink); - } + // Bazrafshan + /* START Persian-DnnSoftware */ + + if (string.IsNullOrEmpty(this.Condition)) + { + if (System.Globalization.CultureInfo.CurrentCulture.TextInfo.IsRightToLeft) + { + string skinfile = skinpath + this.StyleSheet.Replace(".css", ".rtl.css"); + skinfile = skinfile.Substring(skinfile.IndexOf("Portals") > 0 ? skinfile.IndexOf("Portals") : skinfile.IndexOf("DesktopModules") > 0 ? skinfile.IndexOf("DesktopModules") : 0); + if (System.IO.File.Exists(this.Server.MapPath("~/" + skinfile))) + { + DotNetNuke.Web.Client.ClientResourceManagement.ClientResourceManager.RegisterStyleSheet(this.Page, skinfile, this.Priority); + } + else + { + DotNetNuke.Web.Client.ClientResourceManagement.ClientResourceManager.RegisterStyleSheet(this.Page, skinpath + this.StyleSheet, this.Priority); + } + } + else + { + DotNetNuke.Web.Client.ClientResourceManagement.ClientResourceManager.RegisterStyleSheet(this.Page, skinpath + this.StyleSheet, this.Priority); + } + } + else + { + string skinfile = skinpath + this.StyleSheet.Replace(".css", ".rtl.css"); + skinfile = skinfile.Substring(skinfile.IndexOf("Portals") > 0 ? skinfile.IndexOf("Portals") : skinfile.IndexOf("DesktopModules") > 0 ? skinfile.IndexOf("DesktopModules") : 0); + var objLink = new HtmlLink(); + objLink.ID = Globals.CreateValidID(this.Name); + objLink.Attributes["rel"] = "stylesheet"; + objLink.Attributes["type"] = "text/css"; + objLink.Href = skinfile.Replace("../", "/"); + + if (this.IsFirst) + { + // Find the first HtmlLink + int iLink; + for (iLink = 0; iLink <= objCSS.Controls.Count - 1; iLink++) + { + if (objCSS.Controls[iLink] is HtmlLink) + { + break; + } + } + + this.AddLink(objCSS, iLink, objLink); + } + else + { + this.AddLink(objCSS, -1, objLink); + } + } + + /* END Persian-DnnSoftware */ } } } protected void AddLink(Control cssRoot, int insertAt, HtmlLink link) { - if (string.IsNullOrEmpty(this.Condition)) - { - if (insertAt == -1) - { - cssRoot.Controls.Add(link); - } - else - { - cssRoot.Controls.AddAt(insertAt, link); - } - } - else - { - var openif = new Literal(); - openif.Text = string.Format(""; - if (insertAt == -1) - { - cssRoot.Controls.Add(openif); - cssRoot.Controls.Add(link); - cssRoot.Controls.Add(closeif); - } - else - { - // Since we want to add at a specific location, we do this in reverse order - // this allows us to use the same insertion point - cssRoot.Controls.AddAt(insertAt, closeif); - cssRoot.Controls.AddAt(insertAt, link); - cssRoot.Controls.AddAt(insertAt, openif); - } - } + /* START Persian-DnnSoftware */ + // if (string.IsNullOrEmpty(this.Condition)) + // { + // if (insertAt == -1) + // { + // cssRoot.Controls.Add(link); + // } + // else + // { + // cssRoot.Controls.AddAt(insertAt, link); + // } + // } + // else + // { + var openif = new Literal(); + openif.Text = string.Format(""; + if (insertAt == -1) + { + cssRoot.Controls.Add(openif); + cssRoot.Controls.Add(link); + cssRoot.Controls.Add(closeif); + } + else + { + // Since we want to add at a specific location, we do this in reverse order + // this allows us to use the same insertion point + cssRoot.Controls.AddAt(insertAt, closeif); + cssRoot.Controls.AddAt(insertAt, link); + cssRoot.Controls.AddAt(insertAt, openif); + } + + // } + /* END Persian-DnnSoftware */ } } } diff --git a/DNN Platform/Website/admin/Tabs/module.rtl.css b/DNN Platform/Website/admin/Tabs/module.rtl.css new file mode 100644 index 00000000000..551531a2f58 --- /dev/null +++ b/DNN Platform/Website/admin/Tabs/module.rtl.css @@ -0,0 +1,52 @@ +/* Persian-DnnSoftware */ +.dnnTabImport { + width: 100%; + margin: 2em auto; +} +.dnnTabImport textarea, .dnnTabExport textarea { + min-height: 120px; +} +.dnnTabImport .dnnFormItem textarea, .dnnTabExport .dnnFormItem textarea { + width: 45%; +} +.dnnTabImport .dnnFormItem input[type=checkbox], .dnnTabImport .dnnFormItem input[type=radio], .dnnTabExport .dnnFormItem input[type=checkbox] { + width: auto; +} +.dnnTabImport .dnnFormItem input[type=radio] { + margin-top: 4px; +} +.dnnFormItem .dnnTIRadioButtons label, .dnnFormItem .dnnTIRadioButtons input, .dnnFormItem .dnnTIRadioButtons label, .dnnFormItem .dnnTIRadioButtons input { + padding: 0; + width: auto; + text-align: right; +} +.dnnFormItem .dnnTIRadioButtons label, .dnnFormItem .dnnTIRadioButtons label { + width: auto; + padding: 0 6px 0 15px; + font-weight: normal; + margin-top: 0; +} +.dnnTabImport .dnnTIRadioButtons br { + display: none !important; + font-size: 0; + line-height: 0; + border-collapse: collapse; +} +.dnnPositionInput { + margin-right: 36%; +} + +/* adjust form item padding/spacing */ +.dnnFormItem input[type="checkbox"] + span, .dnnFormItem input[type="radio"] + span { + margin: 5px 5px 15px 5px; +} +.dnnFormItem textarea + span.dnnFormError{ + top: -30% !important; +} +.dnnFormItem span.dnnFormMessage.dnnFormError { + top: -110%; +} +.dnnFormItem .labelTemplateDescription{ + margin-right: 36%; + margin-bottom: 15px; +} diff --git a/DNN Platform/Website/images/InstallWizardBg.rtl.png b/DNN Platform/Website/images/InstallWizardBg.rtl.png new file mode 100644 index 00000000000..d3fc9164bc6 Binary files /dev/null and b/DNN Platform/Website/images/InstallWizardBg.rtl.png differ diff --git a/DNN Platform/Website/images/installer-feedback-states-sprite.rtl.png b/DNN Platform/Website/images/installer-feedback-states-sprite.rtl.png new file mode 100644 index 00000000000..ce53a27c6f2 Binary files /dev/null and b/DNN Platform/Website/images/installer-feedback-states-sprite.rtl.png differ diff --git a/DNN Platform/Website/images/modal-resize-icn.rtl.png b/DNN Platform/Website/images/modal-resize-icn.rtl.png new file mode 100644 index 00000000000..852de8dbaf1 Binary files /dev/null and b/DNN Platform/Website/images/modal-resize-icn.rtl.png differ diff --git a/DNN Platform/Website/js/PersianCalendar.css b/DNN Platform/Website/js/PersianCalendar.css new file mode 100644 index 00000000000..27a593a7ef0 --- /dev/null +++ b/DNN Platform/Website/js/PersianCalendar.css @@ -0,0 +1,119 @@ +/* Persian-DnnSoftware */ +.divcls +{ + vertical-align:bottom; +} + +.imgcls +{ + padding:1px; + border:2px; +} + +/* the div that holds the date picker calendar */ +.dpDiv {} +/* the table (within the div) that holds the date picker calendar */ +.dpTable +{ + font-family: Tahoma; + font-size: 14px; + text-align: center; + color: #505050; + background-color: #FFFFFF; + border: 1px solid #8A99BA; + width:210px; +} + +/* a table row that holds date numbers (either blank or 1-31) */ +.dpTR {} + +/* the top table row that holds the month, year, and forward/backward buttons */ +.dpTitleTR +{ + background-color:#9FBEF4; +} + +/* the second table row, that holds the names of days of the week (Mo, Tu, We, etc.) */ +.dpDayTR {} + +/* the bottom table row, that has the "This Month" and "Close" buttons */ +.dpTodayButtonTR {} + +/* a table cell that holds a date number (either blank or 1-31) */ +.dpTD +{ + border: 1px solid white; +} + +/* a table cell that holds a highlighted day (usually either today's date or the current date field value) */ +.dpDayHighlightTD +{ + background-color: #F3E18D; + border: 1px solid #B35412; +} + +/* the date number table cell that the mouse pointer is currently over ( + you can use contrasting colors to make it apparent which cell is being hovered over) */ +.dpTDHover +{ + background-color: #F3E18D; + border: 1px solid #B35412; + cursor: pointer; +} + +/* the table cell that holds the name of the month and the year */ +.dpTitleTD {} + +/* a table cell that holds one of the forward/backward buttons */ +.dpButtonTD {} + +/* the table cell that holds the "This Month" or "Close" button at the bottom */ +.dpTodayButtonTD {} + +/* a table cell that holds the names of days of the week (Mo, Tu, We, etc.) */ +.dpDayTD +{ + font-size: 17px; + background-color: #e1ecfc; + border-bottom : 1px solid #b9d1f4; + border-top : 1px solid #b9d1f4; + color: Black; +} + +/* additional style information for the text that indicates the month and year */ +.dpTitleText +{ + font-family: Tahoma; + font-size: 12px; + color: Black; + font-weight: bold; +} + +/* additional style information for the cell that holds a highlighted day (usually either today's date or the current date field value) */ +.dpDayHighlight +{ + color: #4060ff; + font-weight: bold; +} + +/* the forward/backward buttons at the top */ +.dpButton +{ + font-family: Tahoma; + font-size: 12px; + color: #2254b1; + font-weight: bold; + padding: 0px; + cursor: pointer; +} + +/* the "This Month" and "Close" buttons at the bottom */ +.dpTodayButton +{ + font-family: Tahoma; + font-size: 11px; + font-weight: bold; + color: #2254b1; + cursor: pointer; +} + diff --git a/DNN Platform/Website/js/PersianCalendar.js b/DNN Platform/Website/js/PersianCalendar.js new file mode 100644 index 00000000000..3479ca87f2f --- /dev/null +++ b/DNN Platform/Website/js/PersianCalendar.js @@ -0,0 +1,636 @@ +/* Persian-DnnSoftware */ +////////////////////////////////////////////////////////////// +///// Jalali (Shamsi) Calendar Date Picker (JavaScript) ///// +//////////////////////////////////////////////////////////// + +var datePickerDivID = "datepicker"; +var iFrameDivID = "datepickeriframe"; + +var dayArrayShort = new Array('ش' , 'ی', 'د', 'س', 'چ', 'پ', 'ج'); +var dayArrayMed = new Array('شنبه' , 'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه' , 'پنجشنبه' , 'جمعه'); +var dayArrayLong = dayArrayMed; +var monthArrayShort = new Array('فروردین','اردیبهشت','خرداد','تیر','مرداد','شهریور','مهر','آبان','آذر','دی','بهمن','اسفند'); +var monthArrayMed = monthArrayShort; +var monthArrayLong = monthArrayShort; + +// these variables define the date formatting we're expecting and outputting. +// If you want to use a different format by default, change the defaultDateSeparator +// and defaultDateFormat variables either here or on your HTML page. +var defaultDateSeparator = "/"; // common values would be "/" or "." +var defaultDateFormat = "ymd" // valid values are "mdy", "dmy", and "ymd" +var dateSeparator = defaultDateSeparator; +var dateFormat = defaultDateFormat; + +function displayDatePicker(dateFieldName, displayBelowThisObject, dtFormat, dtSep) +{ + var targetDateField = document.getElementById(dateFieldName); + // if we weren't told what node to display the datepicker beneath, just display it + // beneath the date field we're updating + if (!displayBelowThisObject) + displayBelowThisObject = targetDateField; + + // if a date separator character was given, update the dateSeparator variable + if (dtSep) + dateSeparator = dtSep; + else + dateSeparator = defaultDateSeparator; + + // if a date format was given, update the dateFormat variable + if (dtFormat) + dateFormat = dtFormat; + else + dateFormat = defaultDateFormat; + + var x = displayBelowThisObject.offsetLeft; + var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight ; + + // deal with elements inside tables and such + var parent = displayBelowThisObject; + while (parent.offsetParent) { + parent = parent.offsetParent; + x += parent.offsetLeft; + y += parent.offsetTop ; + } + + drawDatePicker(targetDateField, x, y); +} + +/** +Draw the datepicker object (which is just a table with calendar elements) at the +specified x and y coordinates, using the targetDateField object as the input tag +that will ultimately be populated with a date. + +This function will normally be called by the displayDatePicker function. +*/ +function drawDatePicker(targetDateField, x, y) +{ + var dt = getFieldDate(targetDateField.value); + + // the datepicker table will be drawn inside of a
with an ID defined by the + // global datePickerDivID variable. If such a div doesn't yet exist on the HTML + // document we're working with, add one. + if (!document.getElementById(datePickerDivID)) { + // don't use innerHTML to update the body, because it can cause global variables + // that are currently pointing to objects on the page to have bad references + //document.body.innerHTML += "
"; + var newNode = document.createElement("div"); + newNode.setAttribute("id", datePickerDivID); + newNode.setAttribute("class", "dpDiv"); + newNode.setAttribute("style", "visibility: hidden;"); + document.body.appendChild(newNode); + } + + // move the datepicker div to the proper x,y coordinate and toggle the visiblity + var pickerDiv = document.getElementById(datePickerDivID); + pickerDiv.style.position = "absolute"; + pickerDiv.style.left = x + "px"; + pickerDiv.style.top = y + "px"; + pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible"); + pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block"); + pickerDiv.style.zIndex = 10000000; + + // draw the datepicker table + refreshDatePicker(targetDateField.id, dt[0], dt[1], dt[2]); +} + + +/** +This is the function that actually draws the datepicker calendar. +*/ +function refreshDatePicker(dateFieldName, year, month, day) +{ + // if no arguments are passed, use today's date; otherwise, month and year + // are required (if a day is passed, it will be highlighted later) + var thisDay = getTodayPersian(); + var weekday = (thisDay[3] - thisDay[2] + 1)%7; + if(!day) + day =1; + if ((month >= 1) && (year > 0)) { + thisDay = calcPersian(year,month,1); + weekday = thisDay[3]; + thisDay = new Array(year,month,day,weekday); + thisDay[2] = 1; + } else { + day = thisDay[2]; + thisDay[2] = 1; + } + + // the calendar will be drawn as a table + // you can customize the table elements with a global CSS style sheet, + // or by hardcoding style and formatting elements below + var crlf = "\r\n"; + var TABLE = "" + crlf; + var xTABLE = "
" + crlf; + var TR = ""; + var TR_title = ""; + var TR_days = ""; + var TR_todaybutton = ""; + var xTR = "" + crlf; + var TD = " // + html += TD_buttons + getButtonCodeYear(dateFieldName, thisDay, 1, ">>") + xTD ;// >> // + html += xTR; + html += "" + + // this is the row that indicates which day of the week we're on + html += TR_days; + var i; + for(i = 0; i < dayArrayShort.length; i++) + html += TD_days + dayArrayShort[i] + xTD; + html += xTR; + + // now we'll start populating the table with days of the month + html += TR; + + // first, the leading blanks + if(weekday != 6) + for (i = 0; i <= weekday; i++) + html += TD + " " + xTD; + + // now, the days of the month + var len = 31; + if( thisDay[1] > 6) + len = 30; + if( thisDay[1] == 12 && !leap_persian(thisDay[0])) + len = 29; + + for(var dayNum = thisDay[2]; dayNum <= len; dayNum++) { + TD_onclick = " onclick=\"updateDateField('" + dateFieldName + "', '" + getDateString(thisDay) + "');\">"; + + if (dayNum == day) + html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD; + else + html += TD + TD_onclick + dayNum + xTD; + + // if this is a Friday, start a new row + if (weekday == 5) + html += xTR + TR; + weekday++; + weekday = weekday % 7; + + // increment the day + thisDay[2]++; + } + + // fill in any trailing blanks + if (weekday > 0) { + for (i = 6; i >weekday; i--) + html += TD + " " + xTD; + } + html += xTR; + + // add a button to allow the user to easily return to today, or close the calendar + html += TR_todaybutton + TD_todaybutton; + var today = getTodayPersian(); + html += " "; +// html += " "; + html += ""; + html += xTD + xTR; + + // and finally, close the table + html += xTABLE; + + document.getElementById(datePickerDivID).innerHTML = html; + // add an "iFrame shim" to allow the datepicker to display above selection lists + adjustiFrame(); +} + + +/** +Convenience function for writing the code for the buttons that bring us back or forward +a month. +*/ +function getButtonCode(dateFieldName, dateVal, adjust, label) +{ + var newMonth = (dateVal[1] + adjust) % 12; + var newYear = dateVal[0] + parseInt((dateVal[1] + adjust) / 12); + if (newMonth < 1) { + newMonth += 12; + newYear += -1; + } + + return ""; +} + +function getButtonCodeYear(dateFieldName, dateVal, adjust, label) +{ + var newMonth = dateVal[1]; + var newYear = (dateVal[0] + adjust); + + return ""; +} +/** +Convert a JavaScript Date object to a string, based on the dateFormat and dateSeparator +variables at the beginning of this script library. +*/ +function getDateString(dateVal) +{ + var dayString = "00" + dateVal[2]; + var monthString = "00" + (dateVal[1]); + dayString = dayString.substring(dayString.length - 2); + monthString = monthString.substring(monthString.length - 2); + + switch (dateFormat) { + case "dmy" : + return dayString + dateSeparator + monthString + dateSeparator + dateVal[0]; + case "ymd" : + return dateVal[0] + dateSeparator + monthString + dateSeparator + dayString; + case "mdy" : + default : + return monthString + dateSeparator + dayString + dateSeparator + dateVal[0]; + } +} + + +/** +Convert a string to a JavaScript Date object. +*/ +function getFieldDate(dateString) +{ + var dateVal; + var dArray; + var d, m, y; + + try { + dArray = splitDateString(dateString); + if (dArray) { + switch (dateFormat) { + case "dmy" : + d = parseInt(dArray[0], 10); + m = parseInt(dArray[1], 10); + y = parseInt(dArray[2], 10); + break; + case "ymd" : + d = parseInt(dArray[2], 10); + m = parseInt(dArray[1], 10); + y = parseInt(dArray[0], 10); + break; + case "mdy" : + default : + d = parseInt(dArray[1], 10); + m = parseInt(dArray[0], 10); + y = parseInt(dArray[2], 10); + break; + } + dateVal = new Array(y, m, d); + } else if (dateString) { + dateVal = getTodayPersian(); + } else { + dateVal = getTodayPersian(); + } + } catch(e) { + dateVal = getTodayPersian(); + } + + return dateVal; +} + + +/** +Try to split a date string into an array of elements, using common date separators. +If the date is split, an array is returned; otherwise, we just return false. +*/ +function splitDateString(dateString) +{ + var dArray; + if (dateString.indexOf("/") >= 0) + dArray = dateString.split("/"); + else if (dateString.indexOf(".") >= 0) + dArray = dateString.split("."); + else if (dateString.indexOf("-") >= 0) + dArray = dateString.split("-"); + else if (dateString.indexOf("\\") >= 0) + dArray = dateString.split("\\"); + else + dArray = false; + + return dArray; +} + +/** +Update the field with the given dateFieldName with the dateString that has been passed, +and hide the datepicker. If no dateString is passed, just close the datepicker without +changing the field value. + +Also, if the page developer has defined a function called datePickerClosed anywhere on +the page or in an imported library, we will attempt to run that function with the updated +field as a parameter. This can be used for such things as date validation, setting default +values for related fields, etc. For example, you might have a function like this to validate +a start date field: + +function datePickerClosed(dateField) +{ + var dateObj = getFieldDate(dateField.value); + var today = new Date(); + today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); + + if (dateField.name == "StartDate") { + if (dateObj < today) { + // if the date is before today, alert the user and display the datepicker again + alert("Please enter a date that is today or later"); + dateField.value = ""; + document.getElementById(datePickerDivID).style.visibility = "visible"; + adjustiFrame(); + } else { + // if the date is okay, set the EndDate field to 7 days after the StartDate + dateObj.setTime(dateObj.getTime() + (7 * 24 * 60 * 60 * 1000)); + var endDateField = document.getElementsByName ("EndDate").item(0); + endDateField.value = getDateString(dateObj); + } + } +} + +*/ +function updateDateField(dateFieldName, dateString) +{ + var targetDateField = document.getElementById(dateFieldName); + if (dateString) + targetDateField.value = dateString; + + var pickerDiv = document.getElementById(datePickerDivID); + pickerDiv.style.visibility = "hidden"; + pickerDiv.style.display = "none"; + + adjustiFrame(); + targetDateField.focus(); + + // after the datepicker has closed, optionally run a user-defined function called + // datePickerClosed, passing the field that was just updated as a parameter + // (note that this will only run if the user actually selected a date from the datepicker) + if ((dateString) && (typeof(datePickerClosed) == "function")) + datePickerClosed(targetDateField); +} + + +/** +Use an "iFrame shim" to deal with problems where the datepicker shows up behind +selection list elements, if they're below the datepicker. The problem and solution are +described at: + +http://dotnetjunkies.com/WebLog/jking/archive/2003/07/21/488.aspx +http://dotnetjunkies.com/WebLog/jking/archive/2003/10/30/2975.aspx +*/ +function adjustiFrame(pickerDiv, iFrameDiv) +{ + // we know that Opera doesn't like something about this, so if we + // think we're using Opera, don't even try + var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1); + if (is_opera) + return; + + // put a try/catch block around the whole thing, just in case + try { + if (!document.getElementById(iFrameDivID)) { + // don't use innerHTML to update the body, because it can cause global variables + // that are currently pointing to objects on the page to have bad references + //document.body.innerHTML += "