Files
Atakan Doğan ÖzbanandCursor fc45c35dbe Add support page, admin features, and auth hardening.
Rename public affiliate route to /support with localized nav labels, and include affiliate/social/wallpaper admin, 2FA login, and related site updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 20:25:55 +02:00

69 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.Mvc;
using atakanozbancom;
using atakanozbancom.Models.classes;
namespace atakanozbancom.Controllers
{
public class SupportController : Controller
{
private readonly Context db = new Context();
// GET: /Support
[HttpGet]
public ActionResult Index()
{
var cultureFull = Thread.CurrentThread.CurrentUICulture.Name;
var cultureShort = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName;
var isEnglish = cultureShort == "en";
var links = db.AffiliateLinks
.Include(x => x.Translations)
.OrderBy(x => x.sort_order)
.ThenBy(x => x.id)
.ToList();
var model = links.Select(a =>
{
var title = !isEnglish
? a.Translations
.Where(t => t.culture == cultureFull || t.culture == cultureShort)
.Select(t => t.title)
.FirstOrDefault() ?? a.title
: a.title;
var description = !isEnglish
? a.Translations
.Where(t => t.culture == cultureFull || t.culture == cultureShort)
.Select(t => t.description)
.FirstOrDefault() ?? a.description
: a.description;
return new AffiliateLinkVM
{
id = a.id,
title = title,
description = description,
url = a.url,
image = a.image
};
}).ToList();
return View(model);
}
// POST: /Support/ChangeLanguage
[HttpPost]
public ActionResult ChangeLanguage(string lang)
{
new LanguageTR().SetLanguage(lang);
return RedirectToAction("Index");
}
}
}