Index: openacs-4/packages/xowiki/tcl/weblog-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/weblog-procs.tcl,v
diff -u -r1.70 -r1.71
--- openacs-4/packages/xowiki/tcl/weblog-procs.tcl 24 Jun 2015 15:38:41 -0000 1.70
+++ openacs-4/packages/xowiki/tcl/weblog-procs.tcl 7 Aug 2017 23:48:30 -0000 1.71
@@ -22,9 +22,9 @@
{exclude_item_ids 0}
{entry_renderer ::xowiki::Weblog::Entry}
{entry_flag}
- {summary false}
+ {summary:boolean false}
{summary_chars 150}
- {compute_summary false}
+ {compute_summary:boolean false}
}
::xowiki::Weblog proc instantiate_forms {
@@ -33,7 +33,6 @@
-forms:required
-package_id:required
} {
- set folder_id [::$package_id folder_id]
set form_item_ids [list]
foreach t [split $forms |] {
#my log "trying to get $t // parent_id $parent_id"
@@ -67,10 +66,10 @@
set extra_where_clause ""
if {$date ne ""} {
- if {[regexp {['\"<>]} $date]} {
- ns_log Warning "ignoring invalid date '$date'"
- set date ""
- set query [::xo::update_query $query date ""]
+ if {![regexp {^\d\d\d\d[-]\d\d[-]\d\d$} $date]} {
+ ns_log Warning "invalid date '$date'"
+ ad_return_complaint 1 "invalid date"
+ ad_script_abort
}
}
if {$date ne ""} {
@@ -87,8 +86,8 @@
set category_ids {}
foreach cid [split $category_id ,] {
if {![string is integer -strict $cid]} {
- ns_log warning "weblog: ignoring invalid category_id $cid"
- continue
+ ad_return_complaint 1 "invalid category_id"
+ ad_script_abort
}
append extra_where_clause "and exists (select * from category_object_map \
where object_id = ci.item_id and category_id = '$cid')"
@@ -103,6 +102,7 @@
}
#my msg "tag=$tag"
if {$tag ne ""} {
+ $package_id validate_tag $tag
set filter_msg "Filtered by your tag $tag"
append extra_from_clause " join xowiki_tags tags on (tags.item_id = bt.item_id) "
append extra_where_clause "and tags.tag = :tag and \
@@ -111,6 +111,7 @@
}
#my msg "ptag=$ptag"
if {$ptag ne ""} {
+ $package_id validate_tag $ptag
set filter_msg "Filtered by popular tag $ptag"
append extra_from_clause " join xowiki_tags tags on (tags.item_id = bt.item_id) "
append extra_where_clause "and tags.tag = :ptag "
@@ -266,20 +267,19 @@
}
array set smsg {1 full 0 summary}
- set query [::xo::update_query $query summary [expr {!$summary}]]
- set weblog_href [::xo::cc url]?$query
- #set weblog_href [$package_id package_url][$package_id get_parameter weblog_page]
- #set flink "[ns_quotehtml $smsg($summary)]"
- set flink "[ns_quotehtml $smsg($summary)]"
+ set summary_href [::xo::cc url]?[::xo::update_query $query summary [expr {!$summary}]]
+ #set flink "[ns_quotehtml $smsg($summary)]"
+ set flink "[ns_quotehtml $smsg([string is true $summary])]"
if {$page_number ne ""} {
set nr [llength [$items children]]
- set from [expr {($page_number-1)*$page_size+1}]
- set to [expr {($page_number-1)*$page_size+$nr}]
+ set from [expr {($page_number-1) * $page_size + 1}]
+ set to [expr {($page_number-1) * $page_size + $nr}]
set range [expr {$nr > 1 ? "$from - $to" : $from}]
if {$filter_msg ne ""} {
- append filter_msg ", $range of $nr_items $entry_label (all, [ns_quotehtml $flink])"
+ set all_href [$package_id package_url][$package_id get_parameter weblog_page weblog-portlet]
+ append filter_msg ", $range of $nr_items $entry_label (all, $flink)"
} else {
append filter_msg "Showing $range of $nr_items $entry_label ($flink)"
}
@@ -288,10 +288,9 @@
set prev_p [expr {$page_number > 1}]
if {$next_p} {
- set query [::xo::update_query $query page_number [expr {$page_number+1}]]
+ set query [::xo::update_query $query page_number [expr {$page_number + 1}]]
set next_page_link [::xo::cc url]?$query
- }
- if {$prev_p} {
+ } elseif {$prev_p} {
set query [::xo::update_query $query page_number [expr {$page_number-1}]]
set prev_page_link [::xo::cc url]?$query
}