@@ -153,6 +153,7 @@ Namespace Ventrian.NewsArticles
153
153
End If
154
154
155
155
If (drpModuleID.Items.Count > 0 ) Then
156
+ BindTags()
156
157
BindCategories()
157
158
BindCustomFields()
158
159
End If
@@ -174,12 +175,95 @@ Namespace Ventrian.NewsArticles
174
175
175
176
End Sub
176
177
178
+ Private Function UseStaticTagsList() As Boolean
179
+
180
+ If Not (drpModuleID.Items.Count > 0 ) Then
181
+ Return ArticleConstants.USE_STATIC_TAGS_LIST_SETTING_DEFAULT
182
+ End If
183
+
184
+ Dim selectedModuleValues As String () = drpModuleID.SelectedValue.Split(Convert.ToChar( "-" ))
185
+ Dim objModuleController As New ModuleController
186
+ Dim selectedArticlesModule As ModuleInfo = objModuleController.GetModule(Convert.ToInt32(selectedModuleValues( 1 )), Convert.ToInt32(selectedModuleValues( 0 )), False )
187
+
188
+ If Not selectedArticlesModule.ModuleSettings.Contains(ArticleConstants.USE_STATIC_TAGS_LIST_SETTING) Then
189
+ Return ArticleConstants.USE_STATIC_TAGS_LIST_SETTING_DEFAULT
190
+ End If
191
+
192
+ Return Convert.ToBoolean(selectedArticlesModule.ModuleSettings(ArticleConstants.USE_STATIC_TAGS_LIST_SETTING).ToString())
193
+
194
+ End Function
195
+
196
+ Private Sub SelectAllTags( ByVal tagIdList As String )
197
+
198
+ Dim objTagController As New TagController
199
+ For Each tagId As String In tagIdList.Split( New Char () { ","c }, StringSplitOptions.RemoveEmptyEntries)
200
+ Dim objTag As TagInfo = objTagController.Get(Convert.ToInt32(tagId))
201
+
202
+ If objTag IsNot Nothing Then
203
+ Dim li As ListItem = lstTags.Items.FindByValue(objTag.Name)
204
+ If li IsNot Nothing Then
205
+ li.Selected = True
206
+ End If
207
+ End If
208
+ Next
209
+
210
+ End Sub
211
+
212
+ Private Sub BindTags()
213
+ If UseStaticTagsList() Then
214
+ lblTags.Visible = False
215
+ txtTags.Visible = False
216
+
217
+ lstTags.Visible = True
218
+ FillTagsList()
219
+ Else
220
+ lstTags.Visible = False
221
+
222
+ lblTags.Visible = True
223
+ txtTags.Visible = True
224
+ End If
225
+
226
+ If (Settings.Contains(ArticleConstants.LATEST_ARTICLES_TAGS)) Then
227
+ Dim tags As String = Settings(ArticleConstants.LATEST_ARTICLES_TAGS).ToString()
228
+ If (tags <> "" And drpModuleID.Items.Count > 0 ) Then
229
+ If UseStaticTagsList() Then
230
+ SelectAllTags(tags)
231
+ Else
232
+ Dim objTagController As New TagController()
233
+ For Each tag As String In tags.Split( ","c )
234
+ Dim objTag As TagInfo = objTagController.Get(Convert.ToInt32(tag))
235
+ If (objTag IsNot Nothing ) Then
236
+ If (txtTags.Text <> "" ) Then
237
+ txtTags.Text = txtTags.Text + "," + objTag.Name
238
+ Else
239
+ txtTags.Text = objTag.Name
240
+ End If
241
+ End If
242
+ Next
243
+ End If
244
+ End If
245
+ End If
246
+ End Sub
247
+
248
+ Private Sub FillTagsList()
249
+ If (drpModuleID.Items.Count > 0 ) Then
250
+ Dim objTagController As New TagController
251
+ Dim objTags As ArrayList = objTagController.List(Convert.ToInt32(drpModuleID.SelectedValue.Split( "-"c )( 1 )), Null.NullInteger)
252
+
253
+ objTags.Sort()
254
+ lstTags.DataSource = objTags
255
+ lstTags.DataBind()
256
+ End If
257
+ End Sub
258
+
177
259
Private Sub BindSettings()
178
260
179
261
If (Settings.Contains(ArticleConstants.LATEST_ARTICLES_MODULE_ID) And Settings.Contains(ArticleConstants.LATEST_ARTICLES_TAB_ID)) Then
180
262
If Not (drpModuleID.Items.FindByValue(Settings(ArticleConstants.LATEST_ARTICLES_TAB_ID).ToString() & "-" & Settings(ArticleConstants.LATEST_ARTICLES_MODULE_ID).ToString()) Is Nothing ) Then
181
263
drpModuleID.SelectedValue = Settings(ArticleConstants.LATEST_ARTICLES_TAB_ID).ToString() & "-" & Settings(ArticleConstants.LATEST_ARTICLES_MODULE_ID).ToString()
182
264
End If
265
+
266
+ BindTags()
183
267
BindCategories()
184
268
BindCustomFields()
185
269
End If
@@ -241,23 +325,6 @@ Namespace Ventrian.NewsArticles
241
325
End If
242
326
End If
243
327
244
- If (Settings.Contains(ArticleConstants.LATEST_ARTICLES_TAGS)) Then
245
- Dim objTagController As New TagController()
246
- Dim tags As String = Settings(ArticleConstants.LATEST_ARTICLES_TAGS).ToString()
247
- If (tags <> "" And drpModuleID.Items.Count > 0 ) Then
248
- For Each tag As String In tags.Split( ","c )
249
- Dim objTag As TagInfo = objTagController.Get(Convert.ToInt32(tag))
250
- If (objTag IsNot Nothing ) Then
251
- If (txtTags.Text <> "" ) Then
252
- txtTags.Text = txtTags.Text + "," + objTag.Name
253
- Else
254
- txtTags.Text = objTag.Name
255
- End If
256
- End If
257
- Next
258
- End If
259
- End If
260
-
261
328
If (rdoTagsMatchOperator.Items.Count > 0 ) Then
262
329
rdoTagsMatchOperator.Items( 0 ).Selected = True
263
330
End If
@@ -599,31 +666,47 @@ Namespace Ventrian.NewsArticles
599
666
600
667
Dim tags As String = ""
601
668
If (drpModuleID.Items.Count > 0 ) Then
602
- For Each tag As String In txtTags.Text.Split( ","c )
603
- If (tag <> "" ) Then
604
- Dim objTagController As New TagController()
605
- Dim objTag As TagInfo = objTagController.Get(Convert.ToInt32(drpModuleID.SelectedValue.Split( "-"c )( 1 )), tag.ToLower())
606
- If (objTag IsNot Nothing ) Then
607
- If (tags = "" ) Then
608
- tags = objTag.TagID.ToString()
609
- Else
610
- tags = tags & "," & objTag.TagID.ToString()
669
+ Dim objTagController As New TagController()
670
+
671
+ If UseStaticTagsList() Then
672
+ For Each li As ListItem In lstTags.Items
673
+ If li.Selected Then
674
+ Dim objTag As TagInfo = objTagController.Get(Convert.ToInt32(drpModuleID.SelectedValue.Split( "-"c )( 1 )), li.Value.ToLower())
675
+ If (objTag IsNot Nothing ) Then
676
+ If (tags = "" ) Then
677
+ tags = objTag.TagID.ToString()
678
+ Else
679
+ tags = tags & "," & objTag.TagID.ToString()
680
+ End If
611
681
End If
612
- Else
613
- objTag = New TagInfo()
614
- objTag.ModuleID = Convert.ToInt32(drpModuleID.SelectedValue.Split( "-"c )( 1 ))
615
- objTag.Name = tag
616
- objTag.NameLowered = tag.ToLower()
617
- objTag.Usages = 0
618
- objTag.TagID = objTagController.Add(objTag)
619
- If (tags = "" ) Then
620
- tags = objTag.TagID.ToString()
682
+ End If
683
+ Next
684
+ Else
685
+ For Each tag As String In txtTags.Text.Split( ","c )
686
+ If (tag <> "" ) Then
687
+ Dim objTag As TagInfo = objTagController.Get(Convert.ToInt32(drpModuleID.SelectedValue.Split( "-"c )( 1 )), tag.ToLower())
688
+ If (objTag IsNot Nothing ) Then
689
+ If (tags = "" ) Then
690
+ tags = objTag.TagID.ToString()
691
+ Else
692
+ tags = tags & "," & objTag.TagID.ToString()
693
+ End If
621
694
Else
622
- tags = tags & "," & objTag.TagID.ToString()
695
+ objTag = New TagInfo()
696
+ objTag.ModuleID = Convert.ToInt32(drpModuleID.SelectedValue.Split( "-"c )( 1 ))
697
+ objTag.Name = tag
698
+ objTag.NameLowered = tag.ToLower()
699
+ objTag.Usages = 0
700
+ objTag.TagID = objTagController.Add(objTag)
701
+ If (tags = "" ) Then
702
+ tags = objTag.TagID.ToString()
703
+ Else
704
+ tags = tags & "," & objTag.TagID.ToString()
705
+ End If
623
706
End If
624
707
End If
625
- End If
626
- Next
708
+ Next
709
+ End If
627
710
End If
628
711
objModuleController.UpdateModuleSetting(ModuleId, ArticleConstants.LATEST_ARTICLES_TAGS, tags)
629
712
objModuleController.UpdateModuleSetting( Me .ModuleId, ArticleConstants.LATEST_ARTICLES_TAGS_MATCH_OPERATOR, rdoTagsMatchOperator.SelectedValue)
@@ -714,6 +797,7 @@ Namespace Ventrian.NewsArticles
714
797
Private Sub drpModuleID_SelectedIndexChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles drpModuleID.SelectedIndexChanged
715
798
716
799
Try
800
+ BindTags()
717
801
BindCategories()
718
802
BindCustomFields()
719
803
Catch exc As Exception 'Module failed to load
0 commit comments