/// <summary> /// Effectue le traitement de préchargement du /// controle. /// </summary> /// <param name="e"></param> protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); SiteWeb st = ECommerceServer.CurrentSite; string dt = ECommerceServer.User.CreateNewCSRFToken(); // Récupère les infos de configuration de Facebook // depuis la base de données FacebookSitesDS ds = ECommerceServer.DataCache.Facebook; if (ds == null || ds.ecommerce_facebook_siteswebs.Count == 0) { return; } FacebookSitesDS.ecommerce_facebook_siteswebsRow r = ds.ecommerce_facebook_siteswebs[0]; if (r.Isfcb_application_idNull()) { return; } ServerConfigSection sc = EConfigurationManager.GetConfig(st); string appId = r.fcb_application_id; // Prépare l'URL de connexion à la page de login StringBuilder blr = new StringBuilder(); blr.Append("https://www.facebook.com/dialog/oauth?client_id="); blr.Append(appId); blr.Append("&scope=email"); blr.Append("&state="); blr.Append(HttpUtility.UrlEncode(dt)); blr.Append("|"); if (!string.IsNullOrEmpty(Page.Request["ReturnUrl"])) { blr.Append(HttpUtility.UrlEncode(Page.Request["ReturnUrl"])); } else { blr.Append(HttpUtility.UrlEncode("/")); } blr.Append("&redirect_uri="); StringBuilder blrUri = new StringBuilder(); blrUri.Append(st.UrlPrincipale); if (!st.UrlPrincipale.EndsWith("/")) { blrUri.Append("/"); } blrUri.Append("oauth/facebook/process/"); blr.Append(HttpUtility.UrlEncode(blrUri.ToString())); // et en fait l'url du lien this.NavigateUrl = blr.ToString(); }
/// <summary> /// Génère le rendu du contrôle via le writer HTML spécifié. /// </summary> /// <param name="writer">Objet <see cref="T:System.Web.UI.HtmlTextWriter" /> qui reçoit le contenu du contrôle.</param> protected override void Render(System.Web.UI.HtmlTextWriter writer) { ECommercePage pg = Page as ECommercePage; if (pg == null) { return; } string canon = pg.CanonicalUrl; if (!string.IsNullOrEmpty(canon)) { var cfg = EConfigurationManager.GetConfig(ECommerceServer.CurrentSite); bool useAmp = cfg.ECommerce.UseAmpFramework; #if DEBUG useAmp = true; #endif string uPr = ECommerceServer.CurrentSite.UrlPrincipale; if (string.IsNullOrEmpty(uPr)) { return; } if (!uPr.EndsWith("/")) { uPr += "/"; } if (useAmp) { string amp = canon; if (canon.EndsWith("/")) { amp = amp + "default.amp"; } else { amp = Path.ChangeExtension(amp, ".amp"); } writer.Write("<link rel='amphtml' href='"); amp = amp.Replace("~/", uPr); writer.Write(amp); writer.Write("' />"); } canon = canon.Replace("~/", uPr); writer.Write("<link rel='canonical' href='"); writer.Write(canon); writer.Write("' />"); } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); ServerConfigSection s = EConfigurationManager.GetConfig(ECommerceServer.CurrentSite); if (!s.ECommerce.ClickNMortar.Enabled) { this.Visible = false; } }
public ClickNMortarHomeLink() { ServerConfigSection s = EConfigurationManager.GetConfig(ECommerceServer.CurrentSite); if (!s.ECommerce.ClickNMortar.Enabled) { this.Visible = false; } else { this.NavigateUrl = s.ECommerce.ClickNMortar.RootPagePath; } }
/// <summary> /// Gère l'évènement de chargement de la page /// </summary> /// <param name="e"></param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); SiteWeb st = ECommerceServer.CurrentSite; ServerConfigSection sc = EConfigurationManager.GetConfig(st); if (sc.ECommerce.Authentication == null || !sc.ECommerce.Authentication.UseFacebook) { this.Visible = false; } if (Page.User.Identity.IsAuthenticated) { this.Visible = false; } }
public void BindTo(object o) { if (o == null) { return; } int sit_pk = ECommerceServer.SiteId; ServerConfigSection config = EConfigurationManager.GetConfig(ECommerceServer.CurrentSite); if (o is ArticlesDataSourceResult) { ArticlesDataSourceResult res = o as ArticlesDataSourceResult; VueArticlesWebDS.ecommerce_articles_webRow r = res.Article.ecommerce_articles_web[0]; BindTo(r); } else if (o is PromotionsLotsRepeater.ProduitLotRepeaterItemData) { PromotionsLotsRepeater.ProduitLotRepeaterItemData res = o as PromotionsLotsRepeater.ProduitLotRepeaterItemData; VueArticlesWebDS.ecommerce_articles_webRow r = res.ArticleLot; BindTo(r); } else if (o is VueArticlesWebDS.ecommerce_articles_webRow) { VueArticlesWebDS.ecommerce_articles_webRow r = o as VueArticlesWebDS.ecommerce_articles_webRow; if (string.IsNullOrEmpty(ImageUrl)) { if (config.ECommerce.DocumentBase.ProductImages.UseDocumentBase) { string code = config.ECommerce.DocumentBase.ProductImages.CodeForTiny; switch (_typeImage) { case TypeProduitImage.Petite: code = config.ECommerce.DocumentBase.ProductImages.CodeForSmall; break; case TypeProduitImage.Intermediaire: code = config.ECommerce.DocumentBase.ProductImages.CodeForIntermediate; break; case TypeProduitImage.Tiny: code = config.ECommerce.DocumentBase.ProductImages.CodeForTiny; break; case TypeProduitImage.Thumb: code = config.ECommerce.DocumentBase.ProductImages.CodeForThumb; break; case TypeProduitImage.Detail: code = config.ECommerce.DocumentBase.ProductImages.CodeForDetails; break; case TypeProduitImage.Aucune: this.ImageUrl = ECommerceServer.ResolveResourceUrl(this.ImageUrl); break; } //if (string.IsNullOrEmpty(this.ImageUrl)) //{ // this.ImageUrl = _GetResourceUrl(DocBaseHelper.(config.ECommerce.DocumentBase.ProductImages.MainDocumentType, // r.art_guid, // code)); //} } else { switch (_typeImage) { case TypeProduitImage.Petite: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_smallNull() ? null : r.arw_url_img_small); break; case TypeProduitImage.Intermediaire: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_intermediateNull() ? (r.Isarw_url_img_imagetteNull() ? null : r.arw_url_img_imagette) : r.arw_url_img_intermediate); break; case TypeProduitImage.Tiny: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_tinyNull() ? null : r.arw_url_img_tiny); break; case TypeProduitImage.Thumb: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_imagetteNull() ? null : r.arw_url_img_imagette); break; case TypeProduitImage.Detail: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_bigNull() ? null : r.arw_url_img_big); break; case TypeProduitImage.Aucune: this.ImageUrl = ECommerceServer.ResolveResourceUrl(this.ImageUrl); break; } } } if (string.IsNullOrEmpty(this.ImageUrl)) { this.ImageUrl = ECommerceServer.ResolveResourceUrl(ImageUrlIfNone); } this.ToolTip = r.arw_libelle; this.AlternateText = r.arw_libelle; } }
public void BindTo(object o) { if (o == null) { return; } int sit_pk = ECommerceServer.SiteId; ServerConfigSection config = EConfigurationManager.GetConfig(ECommerceServer.CurrentSite); if (o is ArticlesDataSourceResult) { ArticlesDataSourceResult res = o as ArticlesDataSourceResult; VueArticlesWebDS.ecommerce_articles_webRow r = res.Article.ecommerce_articles_web[0]; BindTo(r); } else if (o is PromotionsLotsRepeater.ProduitLotRepeaterItemData) { PromotionsLotsRepeater.ProduitLotRepeaterItemData res = o as PromotionsLotsRepeater.ProduitLotRepeaterItemData; VueArticlesWebDS.ecommerce_articles_webRow r = res.ArticleLot; BindTo(r); } else if (o is VueArticlesWebDS.ecommerce_articles_webRow) { VueArticlesWebDS.ecommerce_articles_webRow r = o as VueArticlesWebDS.ecommerce_articles_webRow; if (string.IsNullOrEmpty(ImageUrl) && !RenderAsText) { if (config.ECommerce.DocumentBase.ProductImages.UseDocumentBase) { string code = config.ECommerce.DocumentBase.ProductImages.CodeForTiny; switch (_typeImage) { case TypeProduitImage.Petite: code = config.ECommerce.DocumentBase.ProductImages.CodeForSmall; break; case TypeProduitImage.Intermediaire: code = config.ECommerce.DocumentBase.ProductImages.CodeForIntermediate; break; case TypeProduitImage.Tiny: code = config.ECommerce.DocumentBase.ProductImages.CodeForTiny; break; case TypeProduitImage.Thumb: code = config.ECommerce.DocumentBase.ProductImages.CodeForThumb; break; case TypeProduitImage.Detail: code = config.ECommerce.DocumentBase.ProductImages.CodeForDetails; break; case TypeProduitImage.Aucune: this.ImageUrl = _GetResourceUrl(this.ImageUrl); break; } //if (string.IsNullOrEmpty(this.ImageUrl)) //{ // this.ImageUrl = _GetResourceUrl(DocBaseHelper.(config.ECommerce.DocumentBase.ProductImages.MainDocumentType, // r.art_guid, // code)); //} } else { switch (_typeImage) { case TypeProduitImage.Petite: this.ImageUrl = _GetResourceUrl(r.Isarw_url_img_smallNull() ? null : r.arw_url_img_small); break; case TypeProduitImage.Intermediaire: this.ImageUrl = _GetResourceUrl(r.Isarw_url_img_intermediateNull() ? (r.Isarw_url_img_imagetteNull() ? null : r.arw_url_img_imagette) : r.arw_url_img_intermediate); break; case TypeProduitImage.Tiny: this.ImageUrl = _GetResourceUrl(r.Isarw_url_img_tinyNull() ? null : r.arw_url_img_tiny); break; case TypeProduitImage.Thumb: this.ImageUrl = _GetResourceUrl(r.Isarw_url_img_imagetteNull() ? null : r.arw_url_img_imagette); break; case TypeProduitImage.Detail: this.ImageUrl = _GetResourceUrl(r.Isarw_url_img_bigNull() ? null : r.arw_url_img_big); break; case TypeProduitImage.Aucune: this.ImageUrl = _GetResourceUrl(this.ImageUrl); break; } } } if (string.IsNullOrEmpty(this.ImageUrl)) { this.ImageUrl = _GetResourceUrl(ImageUrlIfNone); } switch (LinkType) { case TypeLienProduit.Detail: string url = ECommerceServer.Contexte.GetProductPage(r.arw_sit_pk, r.art_guid, r.art_pk, r.art_ref, r.Isarw_url_persoNull() ? null : r.arw_url_perso, (int)r.arw_seg_pk_principale); if (PourPageAmp) { url = System.IO.Path.ChangeExtension(url, ".amp"); } this.NavigateUrl = url; break; case TypeLienProduit.Image: this.NavigateUrl = _GetResourceUrl(r.Isarw_url_img_bigNull() ? null : r.arw_url_img_big); if (this.NavigateUrl.Equals(this.ImageUrl, StringComparison.InvariantCultureIgnoreCase)) { if (CacherSiAucunZoom) { this.Visible = false; } } if (!IsZoomable()) { break; } this.ToolTip = r.arw_libelle; break; } this.ToolTip = r.arw_libelle; this.Text = r.arw_libelle; } }
void IEquihiraBindable.BindTo(object o) { if (o == null) { return; } int sit_pk = ECommerceServer.SiteId; ServerConfigSection config = EConfigurationManager.GetConfig(ECommerceServer.CurrentSite); if (o is ArticlesDataSourceResult) { ArticlesDataSourceResult res = o as ArticlesDataSourceResult; VueArticlesWebDS.ecommerce_articles_webRow r = res.Article.ecommerce_articles_web[0]; (this as IEquihiraBindable).BindTo(r); } else if (o is VueArticlesWebDS.ecommerce_articles_webRow) { VueArticlesWebDS.ecommerce_articles_webRow r = o as VueArticlesWebDS.ecommerce_articles_webRow; if (config.ECommerce.DocumentBase.ProductImages.UseDocumentBase) { string code = config.ECommerce.DocumentBase.ProductImages.CodeForTiny; switch (_typeImage) { case TypeProduitImage.Petite: code = config.ECommerce.DocumentBase.ProductImages.CodeForSmall; break; case TypeProduitImage.Intermediaire: code = config.ECommerce.DocumentBase.ProductImages.CodeForIntermediate; break; case TypeProduitImage.Tiny: code = config.ECommerce.DocumentBase.ProductImages.CodeForTiny; break; case TypeProduitImage.Thumb: code = config.ECommerce.DocumentBase.ProductImages.CodeForThumb; break; case TypeProduitImage.Detail: code = config.ECommerce.DocumentBase.ProductImages.CodeForDetails; break; } } else { switch (_typeImage) { case TypeProduitImage.Petite: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_smallNull() ? null : r.arw_url_img_small); break; case TypeProduitImage.Intermediaire: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_intermediateNull() ? (r.Isarw_url_img_imagetteNull() ? null : r.arw_url_img_imagette) : r.arw_url_img_intermediate); break; case TypeProduitImage.Tiny: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_tinyNull() ? null : r.arw_url_img_tiny); break; case TypeProduitImage.Thumb: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_imagetteNull() ? null : r.arw_url_img_imagette); break; case TypeProduitImage.Detail: this.ImageUrl = ECommerceServer.ResolveResourceUrl(r.Isarw_url_img_bigNull() ? null : r.arw_url_img_big); break; case TypeProduitImage.Aucune: this.ImageUrl = ECommerceServer.ResolveResourceUrl(this.ImageUrl); break; } } string url = ECommerceServer.Contexte.GetProductPage(r.arw_sit_pk, r.art_guid, r.art_pk, r.art_ref, r.Isarw_url_persoNull()?null:r.arw_url_perso, (int)r.arw_seg_pk_principale); url = System.IO.Path.ChangeExtension(url, ".amp"); ProductUrl = Page.ResolveUrl(url); if (string.IsNullOrEmpty(this.ImageUrl)) { this.ImageUrl = ECommerceServer.ResolveResourceUrl(ImageUrlIfNone); } this.ToolTip = r.arw_libelle; } }