docs: #355 سخنور instead of شاعر

This commit is contained in:
Hamid Reza Mohammadi 2022-10-18 20:33:26 +03:30
parent 3097d60f24
commit 5a08bd81c0
23 changed files with 50 additions and 50 deletions

View File

@ -267,7 +267,7 @@
{
<tr>
<td colspan="2">
<a role="button" href="/Admin/Poet?id=@Model.PageInformation.PoetOrCat.Poet.Id" class="actionlink">شاعر</a>
<a role="button" href="/Admin/Poet?id=@Model.PageInformation.PoetOrCat.Poet.Id" class="actionlink">سخنور</a>
</td>
</tr>
}

View File

@ -3,7 +3,7 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_AdminLayout";
ViewData["Title"] = "ویرایش شاعر";
ViewData["Title"] = "ویرایش سخنور";
}
<h1>@ViewData["Title"]</h1>
@ -119,7 +119,7 @@
<td colspan="2">
@if(Model.Poet != null)
{
<a href="@Model.Poet.FullUrl">صفحهٔ متناظر شاعر</a>
<a href="@Model.Poet.FullUrl">صفحهٔ متناظر سخنور</a>
}
</td>
</tr>
@ -162,7 +162,7 @@
<table>
<tr>
<td><a role="button" href="/Admin/PoetDel/?id=@Model.Poet.Id" class="actionlink">حذف شاعر</a></td>
<td><a role="button" href="/Admin/PoetDel/?id=@Model.Poet.Id" class="actionlink">حذف سخنور</a></td>
</tr>
</table>

View File

@ -197,7 +197,7 @@ namespace GanjooRazor.Areas.Admin.Pages
_memoryCache.Remove(cacheKey2);
}
LastResult = $"ویرایش انجام شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
LastResult = $"ویرایش انجام شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش سخنور</a>";
await PreparePoet();
@ -235,7 +235,7 @@ namespace GanjooRazor.Areas.Admin.Pages
return Page();
}
LastResult = $"تصویر بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
LastResult = $"تصویر بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش سخنور</a>";
}
}
@ -271,7 +271,7 @@ namespace GanjooRazor.Areas.Admin.Pages
return Page();
}
LastResult = $"پایگاه داده‌ها بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
LastResult = $"پایگاه داده‌ها بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش سخنور</a>";
}
}
@ -307,7 +307,7 @@ namespace GanjooRazor.Areas.Admin.Pages
return Page();
}
LastResult = $"پایگاه داده‌های اصلاحی بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
LastResult = $"پایگاه داده‌های اصلاحی بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش سخنور</a>";
}
}

View File

@ -3,7 +3,7 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_AdminLayout";
ViewData["Title"] = "حذف شاعر";
ViewData["Title"] = "حذف سخنور";
}
<h1>@ViewData["Title"]</h1>

View File

@ -96,7 +96,7 @@ namespace GanjooRazor.Areas.Admin.Pages
_memoryCache.Remove(cacheKey2);
}
LastResult = "عملیات حذف شاعر شروع شد.";
LastResult = "عملیات حذف سخنور شروع شد.";
return Page();

View File

@ -3,7 +3,7 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_AdminLayout";
ViewData["Title"] = "مدیریت شاعران";
ViewData["Title"] = "مدیریت سخنوران";
}
<h1>@ViewData["Title"]</h1>
@ -60,13 +60,13 @@
<table>
<tr>
<th>نام شاعر</th>
<th>نام سخنور</th>
<th>زاده</th>
<th>درگذشته</th>
<th>چسبانی</th>
</tr>
<tr>
<td colspan="4"><a href="/Admin/Poet">شاعر جدید</a></td>
<td colspan="4"><a href="/Admin/Poet">سخنور جدید</a></td>
</tr>
@foreach (var poet in Model.Poets)
{

View File

@ -3,7 +3,7 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_UserPanelLayout";
ViewData["Title"] = "تصاویر پیشنهادی برای تصاویر شاعران";
ViewData["Title"] = "تصاویر پیشنهادی برای تصاویر سخنوران";
await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData);
}
@ -18,7 +18,7 @@ else
<table style="width:100%" class="noborder">
<tr>
<td>
<span class="inputlabel">شاعر: </span>
<span class="inputlabel">سخنور: </span>
</td>
<td>
<a href="/photos?p=@Model.Poet.FullUrl.Substring(1)" target="_blank">@Model.Poet.Nickname</a>

View File

@ -3,7 +3,7 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "_UserPanelLayout";
ViewData["Title"] = "نکات پیشنهادی برای تصاویر شاعران";
ViewData["Title"] = "نکات پیشنهادی برای تصاویر سخنوران";
await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData);
}
@ -18,7 +18,7 @@ else
<table style="width:100%" class="noborder">
<tr>
<td>
<span class="inputlabel">شاعر: </span>
<span class="inputlabel">سخنور: </span>
</td>
<td>
<a href="/photos?p=@Model.Poet.FullUrl.Substring(1)" target="_blank">@Model.Poet.Nickname</a>

View File

@ -10,7 +10,7 @@
<head>
<title>نقشهٔ گنجور</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="شاعران و نویسندگان گنجور روی نقشهٔ جغرافیایی" />
<meta name="description" content="سخنوران و نویسندگان گنجور روی نقشهٔ جغرافیایی" />
<meta charset="utf-8" />
<link href="/css/p8.css?version=51" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="/css/leaflet.css" />

View File

@ -118,22 +118,22 @@
@if (Model.Poet != null)
{
<h3>
<a href="/photos">شاعران دیگر</a>
<a href="/photos">سخنوران دیگر</a>
</h3>
}
<h3><a href="/">برگشت به گنجور</a></h3>
<p>
از طریق این صفحه می‌توانید تصویر مد نظر یا طراحی شدهٔ خود را برای شاعران محبوبتان پیشنهاد دهید.
از طریق این صفحه می‌توانید تصویر مد نظر یا طراحی شدهٔ خود را برای سخنوران محبوبتان پیشنهاد دهید.
</p>
<div class="notice">
<p><small>هدف اولیهٔ استفاده از تصاویر شاعران در گنجور آسان کردن فرایند جستجو و مرور اشعار است. از عموم ادبای ایران زمین (تقریباً همهٔ غیر معاصرین) تصویر مستندی به جا نمانده و تصویری که ما از سعدی، حافظ، مولانا و فردوسی و دیگر بزرگانمان در ذهن داریم حاصل کار هنرمندان معاصر است. به همین جهت و به این جهت که خصوصاً برای شاعرانی که شهرت زیادی ندارند تصاویری که به نیت و به نام آنها ارائه شده باشد یافت نمی‌شد در گنجور بعضاً از تصاویری که به نام دیگران ارائه شده استفاده کرده‌ایم.</small></p>
<p><small>هدف اولیهٔ استفاده از تصاویر سخنوران در گنجور آسان کردن فرایند جستجو و مرور اشعار است. از عموم ادبای ایران زمین (تقریباً همهٔ غیر معاصرین) تصویر مستندی به جا نمانده و تصویری که ما از سعدی، حافظ، مولانا و فردوسی و دیگر بزرگانمان در ذهن داریم حاصل کار هنرمندان معاصر است. به همین جهت و به این جهت که خصوصاً برای سخنورانی که شهرت زیادی ندارند تصاویری که به نیت و به نام آنها ارائه شده باشد یافت نمی‌شد در گنجور بعضاً از تصاویری که به نام دیگران ارائه شده استفاده کرده‌ایم.</small></p>
<p>
<small>
اگر تمایل دارید این فرایند را بهبود دهید یا اگر هنرمند هستید و علاقه دارید اثر خودتان را برای خصوصاً شاعران کمتر شناخته شده در گنجور و در قالب چهرهٔ شاعران یا ادیبان ببینید از این صفحه استفاده کنید.
اگر تمایل دارید این فرایند را بهبود دهید یا اگر هنرمند هستید و علاقه دارید اثر خودتان را برای خصوصاً سخنوران کمتر شناخته شده در گنجور و در قالب چهرهٔ سخنوران یا ادیبان ببینید از این صفحه استفاده کنید.
</small>
</p>
<p><small>شاعر مد نظرتان را انتخاب کنید و تصویر مد نظرتان را بارگذاری کنید. توجه فرمایید که از لحاظ هنری امکان استفاده از تصاویری که با تصاویر موجود همخوان نباشند (مثلاً حالت طراحی سیاه قلم داشته باشند یا خیلی مینیاتوری باشند) وجود ندارد. تلاش کنید تصویری که ارائه می‌کنید شاخص باشد و بتوان با یک نگاه تفاوت آن را با بقیهٔ تصاویر تشخیص داد. توجه فرمایید که در نهایت تصاویر باید در قالب قاب بیضوی ایستادهٔ گنجور بریده شوند منتهی شما تصویر کامل را ارسال بفرمایید.</small></p>
<p><small>به گونه‌ای دیگر نیز می‌توانید به این پروژه کمک کنید و آن این که برای کمک به تناسب تصاویر با زندگی واقعی شاعران اگر نکات خاصی که روی تصویر آنها تأثیرگذار است می‌دانید با ارائهٔ لینک یا مستندات (مثلاً ذکر شعری که در آن به این نکات اشاره شده) آنها را عنوان کنید. مثلاً ذکر این که شاعری در جوانی از دنیا رفته می‌تواند نکتهٔ مهمی باشد تا سن تصویر متناسب با زندگی واقعی شاعر باشد و ... . </small></p>
<p><small>سخنور مد نظرتان را انتخاب کنید و تصویر مد نظرتان را بارگذاری کنید. توجه فرمایید که از لحاظ هنری امکان استفاده از تصاویری که با تصاویر موجود همخوان نباشند (مثلاً حالت طراحی سیاه قلم داشته باشند یا خیلی مینیاتوری باشند) وجود ندارد. تلاش کنید تصویری که ارائه می‌کنید شاخص باشد و بتوان با یک نگاه تفاوت آن را با بقیهٔ تصاویر تشخیص داد. توجه فرمایید که در نهایت تصاویر باید در قالب قاب بیضوی ایستادهٔ گنجور بریده شوند منتهی شما تصویر کامل را ارسال بفرمایید.</small></p>
<p><small>به گونه‌ای دیگر نیز می‌توانید به این پروژه کمک کنید و آن این که برای کمک به تناسب تصاویر با زندگی واقعی سخنوران اگر نکات خاصی که روی تصویر آنها تأثیرگذار است می‌دانید با ارائهٔ لینک یا مستندات (مثلاً ذکر شعری که در آن به این نکات اشاره شده) آنها را عنوان کنید. مثلاً ذکر این که سخنوری در جوانی از دنیا رفته می‌تواند نکتهٔ مهمی باشد تا سن تصویر متناسب با زندگی واقعی سخنور باشد و ... . </small></p>
</div>
</div>
@ -147,11 +147,11 @@
@if (Model.Poet == null)
{
<div class="clear-both">
<input type="text" id="findpoet" placeholder="جستجوی شاعر" size="35" value="" oninput="onInlineSearch(this.value, 'found-poets', 'poet')" />
<input type="text" id="findpoet" placeholder="جستجوی سخنور" size="35" value="" oninput="onInlineSearch(this.value, 'found-poets', 'poet')" />
<div class="spacer" id="found-poets"></div>
</div>
<div class="century">
فهرست شاعران
فهرست سخنوران
</div>
@foreach (var poet in Model.Poets)
{

View File

@ -109,7 +109,7 @@ namespace GanjooRazor.Pages
Poets = await _PreparePoets();
}
ViewData["Title"] = Poet == null ? "پیشنهاد تصویر برای شاعران" : $"پیشنهاد تصویر برای {Poet.Nickname}";
ViewData["Title"] = Poet == null ? "پیشنهاد تصویر برای سخنوران" : $"پیشنهاد تصویر برای {Poet.Nickname}";
return Page();
}

View File

@ -173,7 +173,7 @@
ب) کلماتی را که ممکن است به صورت جدا یا سر هم نوشته شوند در گام اول به صورت جدا امتحان کنید (<strong>می شود</strong> و نه <del>میشود</del> یا <del>می‌شود</del>).
</p>
<p>
ج) در صورتی که نام شاعر را می‌دانید بهتر است از طریق لیست بازشوی جلوی جعبهٔ جستجو نام او را انتخاب کنید. این توصیه برای زمانی مناسب است که جستجوی عبارت مورد نظر شما باعث می‌شود آثار شاعرانی که مورد نظر شما نیستند در صدر نتایج قرار گیرد و به این وسیله شما می‌خواهید به فهرست محدودتری از نتایج دست پیدا کنید.
ج) در صورتی که نام سخنور را می‌دانید بهتر است از طریق لیست بازشوی جلوی جعبهٔ جستجو نام او را انتخاب کنید. این توصیه برای زمانی مناسب است که جستجوی عبارت مورد نظر شما باعث می‌شود آثار سخنورانی که مورد نظر شما نیستند در صدر نتایج قرار گیرد و به این وسیله شما می‌خواهید به فهرست محدودتری از نتایج دست پیدا کنید.
</p>
<p>
د) در صورتی که با فنون اولیهٔ جستجو آشنا نیستید یا <strong>معمولاً جستجوهایتان به نتیجهٔ مطلوب نمی‌رسد</strong> بد نیست نگاهی به <a href="http://hrmoh.ir/1385/04/18/howto-search-better/" title="توصیه هایی برای جستجوی بهتر در اینترنت">این نوشته</a> بیندازید.

View File

@ -279,7 +279,7 @@
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="Admin" asp-page="Poets">شاعران</a>
<a class="nav-link text-dark" asp-area="Admin" asp-page="Poets">سخنوران</a>
</li>
</ul>

View File

@ -29,7 +29,7 @@
<div id="guides">
<div class="century">
شاعران پرمخاطب
سخنوران پرمخاطب
</div>
@{
@ -55,7 +55,7 @@
}
</div>
<div class="clear-both">
<input type="text" id="findpoet" placeholder="جستجوی شاعر" size="35" value="" oninput="onInlineSearch(this.value, 'found-poets', 'poet')" />
<input type="text" id="findpoet" placeholder="جستجوی سخنور" size="35" value="" oninput="onInlineSearch(this.value, 'found-poets', 'poet')" />
<div class="spacer" id="found-poets"></div>
</div>
<div class="century" id="cl">

View File

@ -22,7 +22,7 @@
<a class="cursor-pointer" role="button" onclick="window.location.reload()">بیتی دیگر</a>
</p>
<p>
برای مطالعهٔ متن کامل شعر روی نام شاعر بزنید.
برای مطالعهٔ متن کامل شعر روی نام سخنور بزنید.
</p>
<p>
به کمک <a href="https://c.ganjoor.net">کدهای گنجور</a>

View File

@ -182,7 +182,7 @@ namespace RMuseum.Models.Auth.Memory
new SecurableItemOperation(Banners, "مدیریت آگاهی‌ها", false),
new SecurableItemOperation(Donations, "مدیریت کمکهای مالی", false),
new SecurableItemOperation(Translations, "ترجمه", false),
new SecurableItemOperation(ModeratePoetPhotos, "مدیریت تصاویر شاعران", false),
new SecurableItemOperation(ModeratePoetPhotos, "مدیریت تصاویر سخنوران", false),
}
},
new SecurableItem()

View File

@ -142,7 +142,7 @@ namespace RMuseum.Services.Implementation
string htmlText = $"<p>در این صفحه فهرست اشعار استفاده شده در آلبومهای موسیقی را با استفاده از اطلاعات جمع‌آوری شده در <a href=\"http://blog.ganjoor.net/1395/06/28/bptags/\">این پروژه</a> به تفکیک خواننده و به ترتیب نزولی تعداد قطعات مرتبط گرد آورده‌ایم." +
$" تا تاریخ {LanguageUtils.FormatDate(DateTime.Now)} ارتباط {poemMusicTracks.Count.ToPersianNumbers()} قطعهٔ موسیقی از {poemMusicTracks.GroupBy(m => m.ArtistName).Count().ToPersianNumbers()} هنرمند با {poemMusicTracks.GroupBy(m => m.PoemId).Count().ToPersianNumbers()} شعر در پایگاه گنجور ثبت و تأیید شده است. </p>{Environment.NewLine}";
htmlText += $"<p>جهت مشاهدهٔ این اطلاعات به تفکیک شاعران <small>(به همراه اطلاعات مجموعهٔ گلها و سایت اسپاتیفای)</small> <a href=\"/mundex/bypoet/\" > این صفحه</a> را ببینید.</p>{Environment.NewLine}";
htmlText += $"<p>جهت مشاهدهٔ این اطلاعات به تفکیک سخنوران <small>(به همراه اطلاعات مجموعهٔ گلها و سایت اسپاتیفای)</small> <a href=\"/mundex/bypoet/\" > این صفحه</a> را ببینید.</p>{Environment.NewLine}";
htmlText += $"<p>جهت کمک به تکمیل این مجموعه <a href=\"http://blog.ganjoor.net/1395/06/28/bptags/\">این مطلب</a> را مطالعه بفرمایید و <a href=\"http://www.aparat.com/v/kxGre\">این فیلم</a> را مشاهده کنید.</p>{Environment.NewLine}";
var singers = poemMusicTracks.GroupBy(m => new { m.SingerId })
@ -208,8 +208,8 @@ namespace RMuseum.Services.Implementation
var dbPage = await context.GanjoorPages.Where(p => p.FullUrl == "/mundex/bypoet").SingleAsync();
string htmlText = $"<p>در این صفحه فهرست اشعار استفاده شده در آلبومهای موسیقی را با استفاده از اطلاعات جمع‌آوری شده در <a href=\"http://blog.ganjoor.net/1395/06/28/bptags/\">این پروژه</a> به تفکیک شاعر و به ترتیب نزولی تعداد اشعار مرتبط گرد آورده‌ایم." +
$" تا تاریخ {LanguageUtils.FormatDate(DateTime.Now)} ارتباط {poemMusicTracks.GroupBy(m => m.PoemId).Count().ToPersianNumbers()} شعر از {poemMusicTracks.GroupBy(m => m.Poem.Cat.PoetId).Count().ToPersianNumbers()} شاعر با {poemMusicTracks.Count.ToPersianNumbers()} قطعهٔ موسیقی در پایگاه گنجور ثبت و تأیید شده است. </p>{Environment.NewLine}";
string htmlText = $"<p>در این صفحه فهرست اشعار استفاده شده در آلبومهای موسیقی را با استفاده از اطلاعات جمع‌آوری شده در <a href=\"http://blog.ganjoor.net/1395/06/28/bptags/\">این پروژه</a> به تفکیک سخنور و به ترتیب نزولی تعداد اشعار مرتبط گرد آورده‌ایم." +
$" تا تاریخ {LanguageUtils.FormatDate(DateTime.Now)} ارتباط {poemMusicTracks.GroupBy(m => m.PoemId).Count().ToPersianNumbers()} شعر از {poemMusicTracks.GroupBy(m => m.Poem.Cat.PoetId).Count().ToPersianNumbers()} سخنور با {poemMusicTracks.Count.ToPersianNumbers()} قطعهٔ موسیقی در پایگاه گنجور ثبت و تأیید شده است. </p>{Environment.NewLine}";
htmlText += $"<p>جهت مشاهدهٔ این اطلاعات به تفکیک هنرمندان <small>(بدون اطلاعات مجموعهٔ گلها و سایت اسپاتیفای)</small> <a href=\"/mundex/\" > این صفحه</a> را ببینید.</p>{Environment.NewLine}";
htmlText += $"<p>جهت کمک به تکمیل این مجموعه <a href=\"http://blog.ganjoor.net/1395/06/28/bptags/\">این مطلب</a> را مطالعه بفرمایید و <a href=\"http://www.aparat.com/v/kxGre\">این فیلم</a> را مشاهده کنید.</p>{Environment.NewLine}";
@ -262,7 +262,7 @@ namespace RMuseum.Services.Implementation
}
await _UpdatePageHtmlText(context, editingUserId, dbPage, "به روزرسانی خودکار صفحهٔ شاعران به روایت آهنگها", htmlText);
await _UpdatePageHtmlText(context, editingUserId, dbPage, "به روزرسانی خودکار صفحهٔ سخنوران به روایت آهنگها", htmlText);
}

View File

@ -180,8 +180,8 @@ namespace RMuseum.Services.Implementation
await _notificationService.PushNotification
(
(Guid)moderator.Id,
"ثبت مشخصات جدید برای شاعر",
$"درخواستی برای ثبت مشخصات جدید برای «{poet.Nickname}» ثبت شده است. در صورت تمایل به بررسی، بخش مربوط به شاعر را <a href=\"/User/SuggestedPoetSpecLines\">اینجا</a> ببینید.{ Environment.NewLine}" +
"ثبت مشخصات جدید برای سخنور",
$"درخواستی برای ثبت مشخصات جدید برای «{poet.Nickname}» ثبت شده است. در صورت تمایل به بررسی، بخش مربوط به سخنور را <a href=\"/User/SuggestedPoetSpecLines\">اینجا</a> ببینید.{ Environment.NewLine}" +
$"توجه فرمایید که اگر کاربر دیگری که دارای مجوز بررسی مشخصات است پیش از شما به آن رسیدگی کرده باشد آن را در صف نخواهید دید."
);
}

View File

@ -397,13 +397,13 @@ namespace RMuseum.Services.Implementation
var poets = await context.GanjoorPoets.AsNoTracking().ToListAsync();
string htmlText = $"<p>تا تاریخ {LanguageUtils.FormatDate(DateTime.Now)} مجموعاً {LanguageUtils.FormatMoney(sumPoetsCouplets)} بیت شعر از طریق سایت گنجور در دسترس قرار گرفته است. در جدول زیر که شاعران در آنها بر اساس تعداد ابیات اشعارشان به صورت نزولی مرتب شده‌اند با کلیک بر روی نام هر شاعر می‌توانید آمار اوزان اشعار او را مشاهده کنید.</p>{Environment.NewLine}";
htmlText += $"<p>توجه فرمایید که این آمار به دلایلی از قبیل وجود چند نسخه از آثار شعرا در گنجور (مثل آثار خیام)، یک بیت محسوب شدن مصرع‌های بند قالبهای ترکیبی مثل مخمس‌ها و همینطور این که اشعار نقل شده از شاعران دیگر در تذکره‌ها و کتابهایی مانند آن به نام مؤلف نقل‌کنندهٔ شعر ثبت شده تقریبی و حدودی است و افزونگی دارد.</p>{Environment.NewLine}";
string htmlText = $"<p>تا تاریخ {LanguageUtils.FormatDate(DateTime.Now)} مجموعاً {LanguageUtils.FormatMoney(sumPoetsCouplets)} بیت شعر از طریق سایت گنجور در دسترس قرار گرفته است. در جدول زیر که سخنوران در آنها بر اساس تعداد ابیات اشعارشان به صورت نزولی مرتب شده‌اند با کلیک بر روی نام هر سخنور می‌توانید آمار اوزان اشعار او را مشاهده کنید.</p>{Environment.NewLine}";
htmlText += $"<p>توجه فرمایید که این آمار به دلایلی از قبیل وجود چند نسخه از آثار شعرا در گنجور (مثل آثار خیام)، یک بیت محسوب شدن مصرع‌های بند قالبهای ترکیبی مثل مخمس‌ها و همینطور این که اشعار نقل شده از سخنوران دیگر در تذکره‌ها و کتابهایی مانند آن به نام مؤلف نقل‌کنندهٔ شعر ثبت شده تقریبی و حدودی است و افزونگی دارد.</p>{Environment.NewLine}";
htmlText += $"<table>{Environment.NewLine}" +
$"<tr class=\"h\">{Environment.NewLine}" +
$"<td class=\"c1\">ردیف</td>{Environment.NewLine}" +
$"<td class=\"c2\">شاعر</td>{Environment.NewLine}" +
$"<td class=\"c2\">سخنور</td>{Environment.NewLine}" +
$"<td class=\"c3\">تعداد ابیات</td>{Environment.NewLine}" +
$"<td class=\"c4\">درصد از کل</td>{Environment.NewLine}" +
$"</tr>{Environment.NewLine}";

View File

@ -2706,7 +2706,7 @@ namespace RMuseum.Services.Implementation
{
Title = poet.Nickname,
HtmlText = dbPoetPage.HtmlText,
Note = "ویرایش مستقیم مشخصات شاعر",
Note = "ویرایش مستقیم مشخصات سخنور",
UrlSlug = poet.FullUrl.Substring(1),
}
);
@ -2864,7 +2864,7 @@ namespace RMuseum.Services.Implementation
GanjoorPageId = poetPageId,
MadeObsoleteByUserId = editingUserId,
RecordDate = DateTime.Now,
Note = "ایجاد شاعر",
Note = "ایجاد سخنور",
Title = dbPage.Title,
UrlSlug = dbPage.UrlSlug,
HtmlText = dbPage.HtmlText,

View File

@ -5,9 +5,9 @@ namespace ganjoor
{
public class GDBInfo
{
[DisplayName("شاعر/بخش")]
[DisplayName("سخنور/بخش")]
public string CatName { get; set; }
[DisplayName("شناسهٔ شاعر")]
[DisplayName("شناسهٔ سخنور")]
public int PoetID { get; set; }
[DisplayName("شناسهٔ بخش")]
public int CatID { get; set; }

View File

@ -133,8 +133,8 @@ namespace RMuseum.Services.Implementation
await _notificationService.PushNotification
(
(Guid)moderator.Id,
"ثبت تصویر پیشنهادی جدید برای شاعر",
$"درخواستی برای ثبت تصویر پیشنهادی جدیدی برای «{poet.Nickname}» ثبت شده است. در صورت تمایل به بررسی، بخش مربوط به شاعر را <a href=\"/User/SuggestedPoetPhotos\">اینجا</a> ببینید.{ Environment.NewLine}" +
"ثبت تصویر پیشنهادی جدید برای سخنور",
$"درخواستی برای ثبت تصویر پیشنهادی جدیدی برای «{poet.Nickname}» ثبت شده است. در صورت تمایل به بررسی، بخش مربوط به سخنور را <a href=\"/User/SuggestedPoetPhotos\">اینجا</a> ببینید.{ Environment.NewLine}" +
$"توجه فرمایید که اگر کاربر دیگری که دارای مجوز بررسی تصاویر است پیش از شما به آن رسیدگی کرده باشد آن را در صف نخواهید دید."
);
}
@ -284,7 +284,7 @@ namespace RMuseum.Services.Implementation
var poet = await _context.GanjoorPoets.AsNoTracking().Where(p => p.Id == dbModel.PoetId).SingleAsync();
await _notificationService.PushNotification((Guid)dbModel.SuggestedById,
$"انتشار تصویر پیشنهادی شما برای {poet.Nickname}",
$"با سپاس! پیشنهاد شما برای تصویر {poet.Nickname} در فهرست تصاویر قابل انتخاب برای شاعر قابل مشاهده است."
$"با سپاس! پیشنهاد شما برای تصویر {poet.Nickname} در فهرست تصاویر قابل انتخاب برای سخنور قابل مشاهده است."
);
}

View File

@ -794,7 +794,7 @@ namespace RMuseum.Services.Implementationa
{
session.UploadedFiles.Where(f => f.Id == file.Id).SingleOrDefault().ProcessResultMsg
= $"شعری با این شناسه در گنجور وجود ندارد: {audio.PoemId}.{Environment.NewLine}" +
$"ممکن است شعر مد نظر در گنجور جابجا یا حذف شده باشد. لطفاً از طریق دریافت مجموعه‌ها در گنجور رومیزی آخرین نسخهٔ مجموعهٔ شاعر مد نظر را دریافت کنید.";
$"ممکن است شعر مد نظر در گنجور جابجا یا حذف شده باشد. لطفاً از طریق دریافت مجموعه‌ها در گنجور رومیزی آخرین نسخهٔ مجموعهٔ سخنور مد نظر را دریافت کنید.";
context.UploadSessions.Update(session);
await new RNotificationService(context).PushNotification