|
بیت مرجع از شعر:
@@ -130,7 +130,14 @@ else
|
@if (Model.GanjoorQuotedPoem.RelatedCoupletIndex != null && Model.GanjoorQuotedPoem.RelatedCoupletIndex != -1)
{
- @($"{(Model.RelatedCouplets[(int)Model.GanjoorQuotedPoem.RelatedCoupletIndex].Item1 + 1).ToPersianNumbers()} - {Model.RelatedCouplets[(int)Model.GanjoorQuotedPoem.RelatedCoupletIndex].Item2}")
+ if (Model.GanjoorQuotedPoem.RelatedCoupletIndex < Model.RelatedCouplets.Length)
+ {
+ @($"{(Model.RelatedCouplets[(int)Model.GanjoorQuotedPoem.RelatedCoupletIndex].Item1 + 1).ToPersianNumbers()} - {Model.RelatedCouplets[(int)Model.GanjoorQuotedPoem.RelatedCoupletIndex].Item2}")
+ }
+ else{
+ خطا
+ }
+
}
|
diff --git a/GanjooRazor/Areas/Admin/Pages/ReviewQuoteds.cshtml.cs b/GanjooRazor/Areas/Admin/Pages/ReviewQuoteds.cshtml.cs
index 6ccde410..5a681a11 100644
--- a/GanjooRazor/Areas/Admin/Pages/ReviewQuoteds.cshtml.cs
+++ b/GanjooRazor/Areas/Admin/Pages/ReviewQuoteds.cshtml.cs
@@ -67,11 +67,6 @@ namespace GanjooRazor.Areas.Admin.Pages
{
case VersePosition.Comment:
incompleteCouplet = false;
- if (!string.IsNullOrEmpty(coupletText))
- {
- couplets.Add(new Tuple(coupetIndex, coupletText));
- coupletText = "";
- }
break;
case VersePosition.Paragraph:
case VersePosition.Single:
diff --git a/GanjooRazor/Areas/User/Pages/SuggestQuoted.cshtml b/GanjooRazor/Areas/User/Pages/SuggestQuoted.cshtml
index 8a9b7e4f..c8ed89a4 100644
--- a/GanjooRazor/Areas/User/Pages/SuggestQuoted.cshtml
+++ b/GanjooRazor/Areas/User/Pages/SuggestQuoted.cshtml
@@ -23,13 +23,67 @@
document.getElementById('finalize-select2').style.display = 'block';
}
+ function getCouplets(verses) {
+ let coupetIndex = -1;
+ let coupletText = "";
+ let coupletIndices = [];
+ let coupletTexts = [];
+ let verseIndex = 0;
+ let incompleteCouplet = false;
+
+ while (verseIndex < verses.length) {
+ switch (verses[verseIndex].versePosition) {
+ case 5: // Comment
+ incompleteCouplet = false;
+ break;
+ case -1: // Paragraph
+ case 4: // Single
+ incompleteCouplet = false;
+ if (coupletText) {
+ coupletIndices.push(coupetIndex);
+ coupletTexts.push(coupletText);
+ coupletText = "";
+ }
+ coupetIndex++;
+ coupletIndices.push(coupetIndex);
+ coupletTexts.push(verses[verseIndex].text);
+ break;
+ case 0: // Right
+ case 2: // CenteredVerse1
+ incompleteCouplet = false;
+ if (coupletText) {
+ coupletIndices.push(coupetIndex);
+ coupletTexts.push(coupletText);
+ }
+ coupetIndex++;
+ coupletText = verses[verseIndex].text;
+ break;
+ case 1: // Left
+ case 3: // CenteredVerse2
+ incompleteCouplet = true;
+ coupletText += ` - ${verses[verseIndex].text}`;
+ break;
+ }
+ verseIndex++;
+ }
+
+ if (incompleteCouplet && coupletText) {
+ coupletIndices.push(coupetIndex);
+ coupletTexts.push(coupletText);
+ }
+
+ return { coupletIndices, coupletTexts };
+ }
+
+
+
function finalizeSelectPage() {
document.getElementById('loading-selection').style.display = 'block';
document.getElementById('finalize-select2').style.display = 'none';
document.getElementById('display-frame').style.display = 'block';
document.getElementById('select-poem').style.display = 'none';
document.getElementById('finalize-select').style.display = 'none';
-
+
const currentUrl = document.getElementById('select-poem').contentWindow.location.href;
@@ -55,20 +109,9 @@
document.getElementById('GanjoorQuotedPoem_CachedRelatedPoemFullTitle').value = json.poem.fullTitle;
document.getElementById('GanjoorQuotedPoem_CachedRelatedPoemFullUrl').value = json.poem.fullUrl;
- var coupletIndices = [];
- var coupletTexts = [];
-
- for (var i = 0; i < json.poem.verses.length; i++) {
- var verse = json.poem.verses[i];
- if (coupletIndices.indexOf(verse.coupletIndex) != -1) {
- coupletTexts[coupletIndices.indexOf(verse.coupletIndex)] += ' - ';
- coupletTexts[coupletIndices.indexOf(verse.coupletIndex)] += verse.text;
- }
- else {
- coupletIndices.push(verse.coupletIndex);
- coupletTexts.push(verse.text);
- }
- }
+ const result = getCouplets(json.poem.verses);
+ var coupletIndices = result.coupletIndices;
+ var coupletTexts = result.coupletTexts;
var x = document.getElementById("GanjoorQuotedPoem_RelatedCoupletIndex");
x.length = 0;
@@ -84,7 +127,7 @@
}).catch((error) => {
document.getElementById('loading-selection').style.display = 'none';
- alert('صفحهای که انتخاب کردهاید حاوی یک شعر نیست. جزئیات بیشتر: ' + error);
+ alert('در انتخاب صفحه خطایی رخ داد. جزئیات بیشتر: ' + error);
selectGanjoorPage();
});
@@ -105,7 +148,7 @@
از فهرست زیر بیتی را که نقل قول در آن رخ داده مشخص کنید.
-
+