Index: openacs-4/packages/news-aggregator/news-aggregator.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/news-aggregator.info,v diff -u -r1.13 -r1.13.2.1 --- openacs-4/packages/news-aggregator/news-aggregator.info 20 Aug 2004 09:31:12 -0000 1.13 +++ openacs-4/packages/news-aggregator/news-aggregator.info 28 Dec 2005 17:55:42 -0000 1.13.2.1 @@ -8,26 +8,28 @@ f na - + Guan Yang - Simon Carstensen + Michael Steigman Read news sources from your website. - 2004-06-01 + 2005-12-28 The news aggregator periodically reads a set of news sources, in one of several XML-based formats, finds the new bits, and displays them in reverse-chronological order on a single page. - - + + + + + - - - + + Index: openacs-4/packages/news-aggregator/sql/postgresql/news-aggregator-tables-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/sql/postgresql/news-aggregator-tables-create.sql,v diff -u -r1.2 -r1.2.2.1 --- openacs-4/packages/news-aggregator/sql/postgresql/news-aggregator-tables-create.sql 31 May 2004 14:19:24 -0000 1.2 +++ openacs-4/packages/news-aggregator/sql/postgresql/news-aggregator-tables-create.sql 28 Dec 2005 17:55:43 -0000 1.2.2.1 @@ -198,13 +198,17 @@ create table na_user_preferences ( user_id integer - constraint na_user_prefs_uid_pk - primary key constraint na_user_prefs_uid_fk references users(user_id), default_aggregator integer constraint na_user_prefs_default_fk - references na_aggregators(aggregator_id) + references na_aggregators(aggregator_id), + package_id integer + constraint na_user_preferences_pid_fk + references apm_packages(package_id) + constraint na_user_preferences_pid_nn + not null, + constraint na_user_prefs_pk primary key (user_id, package_id) ); Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/sql/postgresql/upgrade/upgrade-0.9.4d-0.9.5b.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/sql/postgresql/upgrade/upgrade-0.9d-0.9.4d.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news-aggregator/tcl/aggregator-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/tcl/aggregator-procs-postgresql.xql,v diff -u -r1.2 -r1.2.2.1 --- openacs-4/packages/news-aggregator/tcl/aggregator-procs-postgresql.xql 1 Jun 2004 12:18:31 -0000 1.2 +++ openacs-4/packages/news-aggregator/tcl/aggregator-procs-postgresql.xql 28 Dec 2005 17:55:43 -0000 1.2.2.1 @@ -133,9 +133,9 @@ insert into na_user_preferences - (user_id, default_aggregator) + (user_id, package_id, default_aggregator) values - (:user_id, :aggregator_id) + (:user_id, :package_id, :aggregator_id) @@ -144,20 +144,34 @@ update na_user_preferences set default_aggregator = :aggregator_id where user_id = :user_id + and package_id = :package_id - + select default_aggregator from - na_user_preferences + na_user_preferences up, na_aggregators a where - user_id = :user_id + up.default_aggregator = a.aggregator_id + and + up.user_id = :user_id + and + a.package_id = :package_id + + + select min(object_id) as aggregator_id + from acs_objects + where object_type = 'na_aggregator' + and context_id = :package_id + + + select min(object_id) as aggregator_id @@ -171,8 +185,7 @@ select na_aggregator__delete ( :aggregator_id - ); - + ) Index: openacs-4/packages/news-aggregator/tcl/aggregator-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/tcl/aggregator-procs.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/tcl/aggregator-procs.tcl 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/tcl/aggregator-procs.tcl 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -183,7 +183,7 @@ $root insertBefore $pi $doc_node # Create a generator comment - set comment [$doc createComment " eenerated by the [ad_system_name] news aggregator. [ad_url] "] + set comment [$doc createComment " generated by the [ad_system_name] news aggregator. [ad_url] "] $root insertBefore $comment $doc_node # Fetch the aggregator information @@ -269,6 +269,7 @@ ad_proc -private news_aggregator::aggregator::set_user_default { {-user_id:required} + {-package_id:required} {-aggregator_id:required} } { Sets the user's default aggregator to aggregator_id. @@ -284,26 +285,46 @@ ad_proc -private news_aggregator::aggregator::user_default { {-user_id:required} + {-package_id:required} } { Returns the user's default aggregator, or 0 if none exists. @author Guan Yang (guan@unicast.org) @creation-date 2003-06-29 } { - set aggregator_id [db_string find_default {} -default 0] - - if { [string equal $aggregator_id "0"] } { - set aggregator_id [db_string lowest_aggregator ""] - if { [exists_and_not_null aggregator_id] } { - news_aggregator::aggregator::set_user_default \ - -user_id $user_id \ - -aggregator_id $aggregator_id - } else { - return 0 - } + set aggregator_id [db_string select_user_default {} -default 0] + if { $aggregator_id eq "" } { + return 0 + } else { + return $aggregator_id } +# if { [string equal $aggregator_id "0"] } { +# set aggregator_id [db_string lowest_aggregator ""] +# if { [exists_and_not_null aggregator_id] } { +# news_aggregator::aggregator::set_user_default \ +# -user_id $user_id \ +# -aggregator_id $aggregator_id +# } else { +# return 0 +# } +# } +# return $aggregator_id +} - return $aggregator_id +ad_proc -private news_aggregator::aggregator::instance_default { + {-package_id:required} +} { + Returns the instance's default aggregator, or 0 if none exists. + + @author Michael Steigman (michael@steigman.net) + @creation-date 2005-12-25 +} { + set aggregator_id [db_string select_instance_default {} -default 0] + if { $aggregator_id eq "" } { + return 0 + } else { + return $aggregator_id + } } ad_proc -public news_aggregator::aggregator::edit { Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/tcl/apm-callback-procs.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/tcl/apm-callback-procs.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news-aggregator/tcl/install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/tcl/install-procs.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/tcl/install-procs.tcl 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/tcl/install-procs.tcl 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -1,6 +1,6 @@ ad_library { Procedures for initializing service contracts etc. for the - workflow package. Should only be executed once upon installation. + news aggregator. Should only be executed once upon installation. @creation-date 2003-07-04 @author Simon Carstensen (simon@bcuni.net) @@ -30,7 +30,6 @@ } { News Aggregator package install proc } { - set package_id [db_string select_package_id {}] set user_id [ad_conn user_id] set feeds { Index: openacs-4/packages/news-aggregator/tcl/install-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/tcl/install-procs.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/tcl/install-procs.xql 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/tcl/install-procs.xql 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -2,14 +2,6 @@ - - - select max(package_id) - from apm_packages - where package_key = 'news-aggregator' - - - insert into na_presubscribed_feeds ( Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/www/aggregator-add.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/www/aggregator-add.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news-aggregator/www/aggregator-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/aggregator-delete.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/www/aggregator-delete.tcl 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/www/aggregator-delete.tcl 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -11,20 +11,23 @@ -privilege write set user_id [ad_conn user_id] -set default_aggregator [db_string find_default {}] +set package_id [ad_conn package_id] +set default_aggregator [news_aggregator::aggregator::user_default -user_id $user_id \ + -package_id $package_id] if { [string equal $delete_aggregator_id $default_aggregator] } { # We are deleting the user's default aggregator # Set user's oldest aggregator as new default set new_default_aggregator [db_string select_oldest_aggregator {} -default ""] - if { [exists_and_not_null $new_default_aggregator] } { + if { [exists_and_not_null new_default_aggregator] } { news_aggregator::aggregator::set_user_default \ -user_id $user_id \ + -package_id $package_id \ -aggregator_id $new_default_aggregator } } news_aggregator::aggregator::delete \ -aggregator_id $delete_aggregator_id -ad_returnredirect [ad_conn package_url]settings +ad_returnredirect ./settings Index: openacs-4/packages/news-aggregator/www/aggregator-delete.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/Attic/aggregator-delete.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/www/aggregator-delete.xql 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/www/aggregator-delete.xql 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -2,14 +2,6 @@ - - - select default_aggregator - from na_user_preferences - where user_id = :user_id - - - select aggregator_id @@ -18,6 +10,7 @@ where a.aggregator_id = o.object_id and creation_user = :user_id and aggregator_id != :delete_aggregator_id + and a.package_id = :package_id order by creation_date limit 1 Index: openacs-4/packages/news-aggregator/www/aggregator.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/aggregator.adp,v diff -u -r1.2 -r1.2.2.1 --- openacs-4/packages/news-aggregator/www/aggregator.adp 3 Jun 2004 18:11:12 -0000 1.2 +++ openacs-4/packages/news-aggregator/www/aggregator.adp 28 Dec 2005 17:55:43 -0000 1.2.2.1 @@ -1,8 +1,7 @@ - - @page_title@ - @context@ - aggregator.aggregator_name +@page_title@ +@context@ +aggregator.aggregator_name Index: openacs-4/packages/news-aggregator/www/aggregator.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/aggregator.tcl,v diff -u -r1.4 -r1.4.2.1 --- openacs-4/packages/news-aggregator/www/aggregator.tcl 1 Mar 2005 00:01:39 -0000 1.4 +++ openacs-4/packages/news-aggregator/www/aggregator.tcl 28 Dec 2005 17:55:43 -0000 1.4.2.1 @@ -1,5 +1,5 @@ ad_page_contract { - Create a new aggregator. + Include to create a new aggregator. @author Simon Carstensen } { @@ -8,6 +8,7 @@ } set package_id [ad_conn package_id] +set user_id [auth::require_login] if { ![parameter::get -package_id $package_id -parameter PerUserAggregatorsP -default 0] } { # May this user create her own aggregator? @@ -16,15 +17,19 @@ -privilege write } -set page_title "Create aggregator" -set context [list $page_title] +set page_title "Edit Aggregator Info" -set user_id [auth::require_login] +if { [exists_and_not_null context] } { + lappend context "$page_title" +} else { + set context [list $page_title] +} -ad_form -name aggregator -select_query_name select_aggregator -form { +ad_form -name aggregator -action aggregator -select_query_name select_aggregator -form { {aggregator_id:integer(hidden),key} {aggregator_name:text {label "Name"} + {html {size 50}} } {description:text(textarea),optional {label "Description"} @@ -48,7 +53,7 @@ if { [exists_and_not_null return_url] } { ad_returnredirect $return_url } else { - ad_returnredirect settings + ad_returnredirect "[ad_conn package_url]$aggregator_id" } ad_script_abort Index: openacs-4/packages/news-aggregator/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/index.adp,v diff -u -r1.12 -r1.12.2.1 --- openacs-4/packages/news-aggregator/www/index.adp 20 Aug 2004 09:31:27 -0000 1.12 +++ openacs-4/packages/news-aggregator/www/index.adp 28 Dec 2005 17:55:43 -0000 1.12.2.1 @@ -5,27 +5,45 @@ .item_pub_date { font-size: 10px; } --> - -

- » #news-aggregator.Manage_Subscriptions#
- - #news-aggregator.raquo# #news-aggregator.lt_Manage_This_Aggregato#
-
- - #news-aggregator.raquo# #news-aggregator.lt_Create_New_Aggregator#
-
-

+ + + + + + +
+

@aggregator_name@

@aggregator_description@ - This page lists the most recent items from the feeds you've subscribed to. - - You can hit the Purge button to clean out the page. Clicking the Save icon Save will prevent an item from being purged. - Click on the #news-aggregator.Post# icon Post this item to your Weblog to add the item to your weblog. - + This page lists the most recent items from the feeds you've subscribed to. -

+

+ + You can hit the Purge button to clean out the page. Clicking the Save icon Save will prevent an item from being purged. + Click on the #news-aggregator.Post# icon Post this item to your Weblog to add the item to your weblog. + +

+ + + +
+ + + +

Index: openacs-4/packages/news-aggregator/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/index.tcl,v diff -u -r1.9 -r1.9.2.1 --- openacs-4/packages/news-aggregator/www/index.tcl 20 Aug 2004 09:31:27 -0000 1.9 +++ openacs-4/packages/news-aggregator/www/index.tcl 28 Dec 2005 17:55:43 -0000 1.9.2.1 @@ -4,34 +4,35 @@ @author Simon Carstensen simon@bcuni.net @creation-date 28-06-2003 } { - aggregator_id:integer,optional - purge_p:boolean,optional + { aggregator_id:integer,optional "0" } + { purge_p:boolean,optional } } set user_id [ad_conn user_id] set package_id [ad_conn package_id] +set instance_name [apm_instance_name_from_id $package_id] set package_url [ad_conn package_url] set per_user_aggregators_p [parameter::get -package_id $package_id -parameter PerUserAggregatorsP -default 0] set enable_purge_p [parameter::get -package_id $package_id -parameter EnablePurgeP -default 1] set multiple_aggregators_p [parameter::get -package_id $package_id -parameter MultipleAggregatorsP -default 1] set allow_aggregator_edit_p [parameter::get -package_id $package_id -parameter AllowAggregatorEditP -default 1] - -if { ![info exists aggregator_id] } { +if { !$aggregator_id } { # Check whether the user has an aggregator if { !$user_id } { if { !$per_user_aggregators_p } { ad_returnredirect "public-aggregators" } - ad_redirect_for_registration + auth::require_login ad_script_abort } - set aggregator_id [news_aggregator::aggregator::user_default -user_id $user_id] + set aggregator_id [news_aggregator::aggregator::user_default \ + -user_id $user_id -package_id $package_id] if { !$aggregator_id && $per_user_aggregators_p } { - set user_name [db_string select_user_name {}] + set user_name [person::name -person_id $user_id] set aggregator_name "${user_name}'s News Aggregator" set aggregator_id [news_aggregator::aggregator::new \ @@ -40,22 +41,29 @@ -public_p 0 \ -creation_user $user_id \ -creation_ip [ad_conn peeraddr]] + news_aggregator::aggregator::set_user_default -user_id $user_id \ + -package_id $package_id -aggregator_id $aggregator_id #load preinstalled subscriptions into aggregator news_aggregator::aggregator::load_preinstalled_subscriptions \ -aggregator_id $aggregator_id \ -package_id $package_id + + } elseif { !$aggregator_id } { + # No default aggregator and no per-user aggregator + # Try to default to a public aggregator + set aggregator_id [news_aggregator::aggregator::instance_default \ + -package_id $package_id] } - ad_returnredirect "$aggregator_id" } -if { $aggregator_id == 0 } { - # May this user create her own aggregator? - set write_p [permission::permission_p \ - -object_id $package_id \ - -privilege write] - if { $write_p } { +# Have we found an aggregator yet? +if { !$aggregator_id } { + # May this user create an aggregator? + if { [permission::permission_p \ + -object_id $package_id \ + -privilege write] eq "1" } { ad_returnredirect "settings" } ad_returnredirect "public-aggregators" @@ -67,6 +75,27 @@ db_1row aggregator_info {} +# Get options for "other aggregators" form widget +set other_aggregators [list [list " --- select --- " "\#"]] +db_foreach other_aggregators {} { + if { [permission::permission_p \ + -object_id $other_id \ + -privilege read] eq "1" } { + lappend other_aggregators [list $name $other_id] + } +} +set num_options [llength $other_aggregators] + +ad_form -name aggregators -form { + {aggregator:integer(select) + {options $other_aggregators} + {html {onchange "javascript:this.form.submit();"}} + } +} -on_submit { + ad_returnredirect "[ad_conn package_url]$aggregator" + ad_script_abort +} + #if { $public_p == "f" } { # permission::require_permission \ # -object_id $aggregator_id \ @@ -82,7 +111,7 @@ set return_url [ad_conn url] set aggregator_url [export_vars -base aggregator { return_url aggregator_id }] -set create_url "${package_url}/aggregator" +set create_url "${package_url}aggregator-add" set limit [ad_parameter "number_of_items_shown"] set sql_limit [expr 7*$limit] Index: openacs-4/packages/news-aggregator/www/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/Attic/index.xql,v diff -u -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/news-aggregator/www/index.xql 25 Dec 2005 00:57:44 -0000 1.3.2.1 +++ openacs-4/packages/news-aggregator/www/index.xql 28 Dec 2005 17:55:43 -0000 1.3.2.2 @@ -20,6 +20,16 @@ + + + select aggregator_id as other_id, aggregator_name as name, + description as description, public_p + from na_aggregators + where aggregator_id <> :aggregator_id + and package_id = :package_id + + + select Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/www/manage.adp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/www/manage.tcl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/news-aggregator/www/set-default.tcl'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/news-aggregator/www/settings.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/settings.adp,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/www/settings.adp 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/www/settings.adp 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -2,25 +2,20 @@ @page_title@ @context@ +

@page_title@

-

Your News Aggregators

+You have the ability to view the following aggregators in @instance_name@. If You select a default aggregator, +you will automatically be directed there when visiting @instance_name@. If you have write privileges on +a particular aggregator, you will have the option to edit or delete it as well.

» Create new aggregator

- -

Default News Aggregator

- - Select default aggregator:
- - -
-
- +

 

-

Your Weblogs

+The weblogs below will show up as options when you choose to blog about a news item.

Index: openacs-4/packages/news-aggregator/www/settings.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/settings.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/www/settings.tcl 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/www/settings.tcl 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -7,71 +7,62 @@ aggregator_id:integer,optional } -set page_title "Your Settings" -set context [list $page_title] - set user_id [ad_conn user_id] set package_id [ad_conn package_id] set package_url [ad_conn package_url] +set instance_name [apm_instance_name_from_id $package_id] +set page_title "$instance_name Settings" +set default_aggregator_id [news_aggregator::aggregator::user_default -user_id $user_id -package_id $package_id] -set aggregator_options [news_aggregator::aggregator::options -user_id $user_id] -set default_aggregator_id [news_aggregator::aggregator::user_default -user_id $user_id] - -ad_form -name aggregators -form { - {default_aggregator_id:integer(select) - {options $aggregator_options} - {value $default_aggregator_id} - } - {submit:text(submit) - {label "Go"} - } -} -on_submit { - news_aggregator::aggregator::set_user_default \ - -user_id $user_id \ - -aggregator_id $default_aggregator_id - - ad_returnredirect settings - ad_script_abort +# Check to make sure the aggregator exists (user may have deleted and redirected) +if { [exists_and_not_null aggregator_id] && [db_string aggregator_exists {} -default 0] } { + array set ag_info [news_aggregator::aggregator::aggregator_info -aggregator_id $aggregator_id] + set context [list [list "." $ag_info(aggregator_name)] "$page_title"] +} else { + set context [list $page_title] } set return_url settings -set aggregator_link [export_vars -base "${package_url}aggregator" {return_url}] +set aggregator_link [export_vars -base "${package_url}aggregator-add" {return_url}] template::list::create \ -name "aggregators" \ -multirow "aggregators" \ -key aggregator_id \ + -no_data "There are no aggregators in the system yet." \ -row_pretty_plural "aggregators" \ -elements { edit { label {} display_template { - Edit this aggregator + alt="Edit this aggregator" border="0"> } } aggregator_name { - label "Name" + label "Aggregator Name" display_template { @aggregators.aggregator_name@ - - (default) - } link_url_eval {} link_html { title "" } } public_p { label "Public?" } + default_p { + display_template { + defaultset as default + } + } delete { label {} display_template { - Delete this aggregator + alt="Delete this aggregator" border="0"> } } } @@ -82,6 +73,7 @@ delete_url delete_onclick default_p + set_default_url } aggregators select_aggregators {} { if { [string equal $public_p t] } { set public_p "Yes" @@ -90,21 +82,23 @@ } set url $package_url - set edit_url [export_vars -base "${url}aggregator" {aggregator_id}] + set edit_url "${url}${aggregator_id}/manage?tab=general" set delete_url [export_vars -base aggregator-delete {{delete_aggregator_id $aggregator_id}}] set delete_onclick "return confirm('Are you sure you want to delete this news aggregator?');" - if { [string equal $aggregator_id $default_aggregator] } { + if { [string equal $aggregator_id $default_aggregator_id] } { set default_p 1 } else { set default_p 0 + set set_default_url [export_vars -base set-default {user_id aggregator_id}] } } template::list::create \ -name "weblogs" \ -multirow "weblogs" \ -key weblog_id \ + -no_data "No weblogs have been added yet." \ -row_pretty_plural "weblogs" \ -elements { edit { Index: openacs-4/packages/news-aggregator/www/settings.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/settings.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/news-aggregator/www/settings.xql 20 Mar 2004 11:04:39 -0000 1.1.1.1 +++ openacs-4/packages/news-aggregator/www/settings.xql 28 Dec 2005 17:55:43 -0000 1.1.1.1.2.1 @@ -4,17 +4,23 @@ - select a.aggregator_id, - a.aggregator_name, - a.public_p, - u.default_aggregator - from na_aggregators a join - acs_objects o on (o.object_id = a.aggregator_id) join - na_user_preferences u on (o.creation_user = u.user_id) - where a.package_id = :package_id - and u.user_id = :user_id - order by a.aggregator_name + select a.aggregator_id, + a.aggregator_name, + a.public_p, + acs_permission__permission_p(a.aggregator_id,:user_id,'write') as write_p + from na_aggregators a + where a.package_id = :package_id + and acs_permission__permission_p(a.aggregator_id,:user_id,'read') + order by a.aggregator_name; + + + select 1 + from na_aggregators a + where aggregator_id = :aggregator_id + + + Index: openacs-4/packages/news-aggregator/www/subscriptions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/subscriptions.adp,v diff -u -r1.5 -r1.5.2.1 --- openacs-4/packages/news-aggregator/www/subscriptions.adp 20 Aug 2004 09:31:27 -0000 1.5 +++ openacs-4/packages/news-aggregator/www/subscriptions.adp 28 Dec 2005 17:55:43 -0000 1.5.2.1 @@ -1,12 +1,8 @@ - + @page_title@ @context@

- Back to news aggregator -

- -

Enter the URL of an XML news feed you want to subscribe to, then click on the Add button.

Index: openacs-4/packages/news-aggregator/www/subscriptions.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news-aggregator/www/subscriptions.tcl,v diff -u -r1.7 -r1.7.2.1 --- openacs-4/packages/news-aggregator/www/subscriptions.tcl 20 Aug 2004 09:31:27 -0000 1.7 +++ openacs-4/packages/news-aggregator/www/subscriptions.tcl 28 Dec 2005 17:55:43 -0000 1.7.2.1 @@ -1,5 +1,5 @@ ad_page_contract { - The News Aggregator subscription page. + The News Aggregator subscription page (included by manage.adp). @author Simon Carstensen (simon@bcuni.net) @creation-date Jan 2003 @@ -15,9 +15,15 @@ -object_id $aggregator_id \ -privilege write -set page_title "Subscriptions" -set context [list $page_title] +array set ag_info [news_aggregator::aggregator::aggregator_info -aggregator_id $aggregator_id] +set page_title "Manage Subscriptions" +if { [exists_and_not_null context] } { + lappend context "$page_title" +} else { + set context [list $page_title] +} + set user_id [ad_conn user_id] set package_id [ad_conn package_id] set package_url [ad_conn package_url] @@ -132,7 +138,7 @@ set xml_graphics_url "${package_url}graphics/xml.gif" } -ad_form -name add_subscription -form { +ad_form -name add_subscription -action subscriptions -form { {subscription_id:integer(hidden),key} {feed_url:text(text) {value $feed_url_val} @@ -160,6 +166,6 @@ } array set channel $channel_array set title $channel(title) - ad_returnredirect -message "You have been subscribed to $title." subscriptions + ad_returnredirect -message "You have been subscribed to $title." "manage?tab=subscriptions" ad_script_abort }