divan/GanjooRazor/Pages/Partials/Contribs/_GroupedByDateViewPartial.cshtml
Anas Rashid 223166ef5e Divan: make env config work, ur-PK locale, own-site links relative
- AddEnvironmentVariables() where appsettings.json is read directly
- JWT ValidIssuer follows RSecurityBackend:ApplicationName (was hard-coded Ganjoor)
- deploy/entrypoint.sh: copy settings RSecurityBackend reads only from appsettings.json
- Dockerfile: pin SDK 10.0.302 (newer Razor rejects some upstream views)
- lang=ur-PK; ganjoor.net own-site links -> relative; api.ganjoor.net -> APIRoot; search.xml
- DIVAN.md: first admin password is Test!123 (upstream doc is wrong)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 23:32:16 +02:00

134 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@model GanjooRazor.Pages._GroupedByDateViewPartialModel
@switch (Model.DataType)
{
case "poemcorrections":
<text>
<p>
قابلیت ویرایش متن از <a href="https://blog.ganjoor.net/1400/05/23/notes-for-suggesting-corrections/">اواسط سال ۱۴۰۰</a> به دیوان افزوده شده است و به صورت دو مرحله‌ای (ویرایش و بعد تأیید یا رد ویرایش) کار می‌کند. ویرایش می‌تواند شامل متن، معنی یا وزن و حروف قافیه و قالب و زبان غالب و ... باشد. جزئیات ویرایش‌های کاربران با نام آنها منتشر نمی‌شود. یک ویرایش می‌تواند شامل یک یا چند ویرایش جزئی باشد از این جهت حجم کار انجام شده از لحاظ تعداد جزئیات تغییر یافته چند برابر این اعداد است. این آمار نشان‌دهندهٔ تعداد ویرایش‌های کلی تأیید شده است. در صورتی که کاربری حساب کاربری خود را حذف کند تاریخچهٔ ویرایش‌های او به حساب «کاربر سیستمی حذف‌شده» منتقل می‌شود.
</p>
</text>
break;
case "sectioncorrections":
<text>
<p>
ویرایش قطعات همانند ویرایش متن است. در متون مخلوط نظم و نثر برای تعیین وزن و قافیه باید مشخص شود که وزن و قافیه مربوط به کدام قطعهٔ بخش است. این کار را با <a href="https://blog.ganjoor.net/1401/02/30/section-editor/">ویرایش قطعه</a> انجام می‌دهیم. به دلایل فنی امکان یکی کردن آمار این ویرایش‌ها با ویرایش‌های عادی وجود ندارد. ویرایش‌های قطعات هم به صورت دو مرحله‌ای (ویرایش و بعد تأیید یا رد ویرایش) انجام می‌شود. جزئیات ویرایش‌های کاربران با نام آنها منتشر نمی‌شود. یک ویرایش قطعه نیز می‌تواند شامل یک یا چند ویرایش جزئی باشد از این جهت حجم کار انجام شده از لحاظ تعداد جزئیات تغییر یافته چند برابر این اعداد است. این آمار نشان‌دهندهٔ تعداد ویرایش‌های قطعات کلی تأیید شده است. در صورتی که کاربری حساب کاربری خود را حذف کند تاریخچهٔ ویرایش‌های قطعات او به نام حساب کاربر سیستمی حذف‌شده منتقل می‌شود.
</p>
</text>
break;
case "catcorrections":
<text>
<p>
<a href="https://blog.ganjoor.net/1404/01/05/cat-editor/">ویرایش بخش</a> برای ویرایش زندگینامهٔ سخنوران و همینطور توضیحات اضافی زیربخش‌ها کاربرد دارد و به صورت دو مرحله‌ای (ویرایش و بعد تأیید یا رد ویرایش) انجام می‌شود. جزئیات ویرایش‌های کاربران با نام آنها منتشر نمی‌شود. این آمار نشان‌دهندهٔ تعداد ویرایش‌های بخش‌های تأیید شده است. در صورتی که کاربری حساب کاربری خود را حذف کند تاریخچهٔ ویرایش‌های بخش او به نام حساب کاربر سیستمی حذف‌شده منتقل می‌شود.
</p>
</text>
break;
case "suggestedsongs":
<text>
<p>
سابقهٔ <a href="https://blog.ganjoor.net/1395/06/28/bptags/">پیشنهاد ترانه‌های مرتبط با اشعار</a> به پیش از افزوده شدن امکان نام‌نویسی کاربران به دیوان برمی‌گردد (پیشنهاد ترانه بدون ورود به دیوان و به شکل بی‌نام انجام می‌شده). از این جهت تعداد ۴٬۶۸۲ ترانهٔ پیشنهادی تأیید شده (داخل در آمار زیر) فاقد اطلاعات کاربر پیشنهاد دهنده است. جزئیات ترانه‌های پیشنهادی کاربران با نام آنها منتشر نمی‌شود. این آمار نشان‌دهندهٔ تعداد ترانه‌های مرتبط تأیید شده است. در صورتی که کاربری حساب کاربری خود را حذف کند تاریخچهٔ ترانه‌های پیشنهادی او به نام حساب کاربر سیستمی حذف‌شده منتقل می‌شود.
</p>
</text>
break;
case "quoteds":
<text>
<p>
<a href="https://blog.ganjoor.net/1402/11/06/suggest-quotes/">مشق شعر</a> نقل قول اشعار شاعران از اشعار دیگر و یا اشعار خودشان است. جزئیات مشق شعرهای پیشنهادی کاربران با نام آنها منتشر نمی‌شود. این آمار نشان‌دهندهٔ تعداد مشق شعرهای تأیید شده است. در صورتی که کاربری حساب کاربری خود را حذف کند تاریخچهٔ مشق شعرهای او به نام حساب کاربر سیستمی حذف‌شده منتقل می‌شود.
</p>
</text>
break;
case "discussions":
<text>
<p>
<a href="/hashieha/">حاشیه‌ها</a> دیدگاه‌های ثبت شدهٔ کاربران دیوان است. <a href="https://blog.ganjoor.net/1386/12/06/comments/">سابقهٔ امکان درج حاشیه</a> در دیوان به ۱۴ سال پیش از <a href="https://blog.ganjoor.net/1400/03/01/signupandlogin/">افزوده شدن امکان نام‌نویسی در دیوان</a> برمی‌گردد و پیش از آن کاربران می‌توانستند حتی بدون وارد کردن نامشان در دیوان حاشیه‌نویسی کنند. بعد از افزوده شدن امکان نام‌نویسی اگر کاربر با ایمیلی ثبت نام کند که پیش از آن با همان ایمیل حاشیه‌ای در دیوان ثبت کرده باشد مالکیت آن حاشیه(ها) به او منتقل می‌شود. در صورتی که کاربری حساب کاربری خود را حذف کند حاشیه‌های او هم به طور کامل حذف می‌شود.
</p>
</text>
break;
case "recitations":
<text>
<p>
امکان <a href="https://ava.ganjoor.net/about/">روخوانی متون دیوان</a> پیش از <a href="https://blog.ganjoor.net/1400/03/01/signupandlogin/">افزوده شدن امکان نام‌نویسی در دیوان</a> وجود داشته و شیوهٔ انتشار روخوانی‌ها آن بوده که خوانشگر روخوانی را با ایمیل یا روش‌های ارتباطی دیگر برای گردانندهٔ دیوان می‌فرستاده که بعدها به دلیل حجم بالای ورودی‌ها این روش منقضی شد و سیستمی برای آن ارائه شد. یک کاربر می‌تواند با تعریف نمایه‌های متعدد روخوانی‌های افراد مختلفی را منتشر کند. لذا لزوماً همهٔ خوانش‌های کاربر متعلق به خود او نیست. در صورت حذف حساب کاربری کلیهٔ خوانش‌های متعلق به کاربر حذف می‌شوند.
</p>
</text>
break;
case "museumlinks":
<text>
<p>
سیستم <a href="https://blog.ganjoor.net/1398/07/12/mganjoor/">پیشنهاد تصاویر نسخه‌های خطی مرتبط با متون دیوان</a> پیش از <a href="https://blog.ganjoor.net/1400/03/01/signupandlogin/">افزوده شدن امکان نام‌نویسی در دیوان</a> ارائه شده و همان سیستم مدیریت کاربران و کاربران آن بعدها برای دیوان استفاده شده است. در صورت حذف حساب کاربری سوابق کلیهٔ ارتباطات پیشنهادی به حساب سیستمی کاربر حذف شدهٔ دیوان منتقل می‌شود.
</p>
</text>
break;
case "pinterestlinks":
<text>
<p>
<a href="https://blog.ganjoor.net/1399/01/29/pinterest/">تصاویر خارجی</a> تصاویر نگاره‌ها و صفحات نسخه‌های نفیس است که در <a href="https://museum.ganjoor.net/">گنجینهٔ دیوان</a> میزبانی نمی‌شود. در صورت حذف حساب کاربری سوابق کلیهٔ ارتباطات پیشنهادی به حساب سیستمی کاربر حذف شدهٔ دیوان منتقل می‌شود.
</p>
</text>
break;
case "poetspeclines":
<text>
<p>
کاربران دیوان می‌توانند <a href="https://blog.ganjoor.net/1400/11/28/photos/">برای چهره‌های شاعران دیوان نکاتی را پیشنهاد دهند</a>. در نسخه‌های اولیه تاریخ ثبت یا تأیید پیشنهاد ذخیره نمی‌شده و از این جهت تعدادی از موارد پیشنهادی بدون تاریخ هستند. در صورت حذف حساب کاربری سوابق کلیهٔ نکات پیشنهادی به حساب سیستمی کاربر حذف شدهٔ دیوان منتقل می‌شود.
</p>
</text>
break;
case "poetpix":
<text>
<p>
کاربران دیوان می‌توانند <a href="https://blog.ganjoor.net/1400/11/28/photos/">برای چهره‌های شاعران دیوان تصاویری را پیشنهاد دهند</a>. در نسخه‌های اولیه تاریخ ثبت یا تأیید پیشنهاد ذخیره نمی‌شده و از این جهت تعدادی از موارد پیشنهادی بدون تاریخ هستند. در صورت حذف حساب کاربری سوابق کلیهٔ تصاویر پیشنهادی به حساب سیستمی کاربر حذف شدهٔ دیوان منتقل می‌شود.
</p>
</text>
break;
case "usernotes":
<text>
<p>
کاربران گنجینهٔ دیوان می‌توانند روی نسخه‌های در دسترس روی آن یا تصاویر آنها <a href="https://museum.ganjoor.net/notes">یادداشتهایی را به شکل عمومی بنویسند</a>. در صورت حذف حساب کاربری این یادداشتها نیز پاک می‌شوند.
</p>
</text>
break;
case "users":
<text>
<p>
آمار کاربران دیوان را برای نسبت‌گیری تعداد کاربران مشارکت‌کننده و همینطور مشاهدهٔ روند نام‌نویسی آنها در دسترس گذاشته‌ایم.
</p>
</text>
break;
}
@if (Model.Summary != null)
{
@if (Model.DataType == "users")
{
<div class="stats-section-no-grid">
<div class="stat-item">
<div class="stat-value" id="totalCorrections">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Summary.TotalCount)</div>
<div class="stat-label">
تعداد کل
</div>
</div>
</div>
}
else
{
<div class="stats-section">
<div class="stat-item">
<div class="stat-value" id="totalDays">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Summary.Days)</div>
<div class="stat-label">روز مشارکت</div>
</div>
<div class="stat-item">
<div class="stat-value" id="totalCorrections">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Summary.TotalCount)</div>
<div class="stat-label">
تعداد کل مشارکت‌ها
</div>
</div>
<div class="stat-item">
<div class="stat-value" id="totalUsers">@RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.Summary.UserIds)</div>
<div class="stat-label">کاربران مشارکت کننده</div>
</div>
</div>
}
}
<partial name="_GroupedByDateViewTablePartial.cshtml" model="Model.TableModel" />