Index: openacs-4/packages/new-portal/sql/oracle/defaults.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/sql/oracle/defaults.sql,v diff -u -r1.14 -r1.15 --- openacs-4/packages/new-portal/sql/oracle/defaults.sql 14 Dec 2001 03:15:33 -0000 1.14 +++ openacs-4/packages/new-portal/sql/oracle/defaults.sql 19 Jan 2002 21:59:47 -0000 1.15 @@ -19,6 +19,16 @@ -- two-column layout, without a header. layout_id := portal_layout.new ( + name => 'Simple 1-Column', + description => 'A simple 1-column layout', + filename => 'layouts/simple1', + resource_dir => 'layouts/components/simple1'); + +-- the supported regions for that layout. + portal_layout.add_region (layout_id => layout_id, region => '1'); + +-- two-column layout, without a header. + layout_id := portal_layout.new ( name => 'Simple 2-Column', description => 'A simple 2-column layout', filename => 'layouts/simple2', Index: openacs-4/packages/new-portal/tcl/portal-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs.tcl,v diff -u -r1.90 -r1.91 --- openacs-4/packages/new-portal/tcl/portal-procs.tcl 19 Jan 2002 18:33:47 -0000 1.90 +++ openacs-4/packages/new-portal/tcl/portal-procs.tcl 19 Jan 2002 21:59:47 -0000 1.91 @@ -183,14 +183,14 @@ set template " @portal.name@" } else { - set element_src "[www_path]/render-element" - set template " - @portal.name@ - + @portal.name@ + " } @@ -828,6 +828,64 @@ return [array get element] } + + + ad_proc -private evaluate_element_raw { element_id } { + Just call show on the element + + @param element_id + @return A string containing the fully-rendered content for $element_id. + } { + + # get the element data and theme + db_1row element_select {} -column_array element + + # get the element's params + db_foreach params_select {} { + lappend config($key) $value + } if_no_rows { + # this element has no config, set up some defaults + set config(shaded_p) "f" + set config(shadeable_p) "f" + set config(hideable_p) "f" + set config(user_editable_p) "f" + set config(link_hideable_p) "f" + } + + # do the callback for the ::show proc + # evaulate the datasource. + if { [catch { set element(content) \ + [datasource_call \ + $element(datasource_id) "Show" [list [array get config] ]] } \ + errmsg ] } { + ns_log error "*** portal::render_element show callback Error! ***\n\n $errmsg\n\n" + ad_return_complaint 1 "*** portal::render_element show callback Error! ***

$errmsg\n\n" + } + + set element(name) \ + [datasource_call \ + $element(datasource_id) "GetPrettyName" [list]] + + set element(link) \ + [datasource_call $element(datasource_id) "Link" [list]] + + # done with callbacks, now set config params + set element(shadeable_p) $config(shadeable_p) + set element(shaded_p) $config(shaded_p) + set element(hideable_p) $config(hideable_p) + set element(user_editable_p) $config(user_editable_p) + set element(link_hideable_p) $config(link_hideable_p) + + # THE HACK - BEN OVERRIDES TO RAW + set element(filename) "themes/raw-theme" + + # apply the path hack to the filename and the resourcedir + set element(filename) "[www_path]/$element(filename)" + # notice no "/" after mount point + # set element(resource_dir) "[mount_point]$element(resource_dir)" + + return [array get element] + } ad_proc -public configure_element { element_id op return_url } { Index: openacs-4/packages/new-portal/tcl/portal-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/tcl/portal-procs.xql,v diff -u -r1.3 -r1.4 --- openacs-4/packages/new-portal/tcl/portal-procs.xql 13 Dec 2001 21:10:02 -0000 1.3 +++ openacs-4/packages/new-portal/tcl/portal-procs.xql 19 Jan 2002 21:59:48 -0000 1.4 @@ -360,6 +360,24 @@ + + + select pem.element_id, + pem.datasource_id, + pem.state + from portal_element_map pem + where pem.element_id = :element_id + + + + + + select key, value + from portal_element_parameters + where element_id = :element_id + + + select portal_id, datasource_id Index: openacs-4/packages/new-portal/www/layouts/simple1.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/www/layouts/simple1.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/www/layouts/simple1.adp 19 Jan 2002 21:59:48 -0000 1.1 @@ -0,0 +1,11 @@ + + + + + + +
+ +
+
+
Index: openacs-4/packages/new-portal/www/layouts/simple1.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/www/layouts/simple1.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/www/layouts/simple1.tcl 19 Jan 2002 21:59:48 -0000 1.1 @@ -0,0 +1,26 @@ +# www/templates/simple2.tcl +ad_page_contract { + @cvs_id $Id: simple1.tcl,v 1.1 2002/01/19 21:59:48 ben Exp $ +} -properties { + element_list:onevalue + element_src:onevalue + action_string:onevalue + theme_id:onevalue + return_url:onevalue +} + +if { ![info exists action_string]} { + set action_string "" +} + +if { ![info exists theme_id]} { + set theme_id "" +} + +if { ![info exists return_url]} { + set return_url "" +} + +portal::layout_elements $element_list + +ad_return_template Index: openacs-4/packages/new-portal/www/render_styles/all_in_one/render-element.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/www/render_styles/all_in_one/render-element.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/www/render_styles/all_in_one/render-element.adp 19 Jan 2002 21:59:48 -0000 1.1 @@ -0,0 +1,12 @@ + +@element.name@ +@element.element_id@ +@element.link@ +@element.shadeable_p@ +@element.shaded_p@ +@element.hideable_p@ +@element.user_editable_p@ +@element.link_hideable_p@ +@hide_links_p@ + +@element.content@ Index: openacs-4/packages/new-portal/www/render_styles/all_in_one/render-element.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/www/render_styles/all_in_one/render-element.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/www/render_styles/all_in_one/render-element.tcl 19 Jan 2002 21:59:48 -0000 1.1 @@ -0,0 +1,31 @@ +# www/render-element.tcl +ad_page_contract { + Render an element. + + @author Ben Adida + @creation-date + @cvs_id $Id: render-element.tcl,v 1.1 2002/01/19 21:59:48 ben Exp $ +} -properties { + element_id:onevalue + region:onevalue +} + +# get the complete, evaluated element. +# if there's an error, report it. +# (note: here we just show the portal element) +if { [catch {set element_data [portal::evaluate_element_raw $element_id] } errmsg ] } { + + ns_log Error "aks18 render-element.tcl (after eval): $errmsg" + return -code error "in render-element: $errmsg" + + if { [ad_parameter show_datasource_errors_p] == 1} { + set element(content) "

$errmsg
" + } else { + return + } +} else { + array set element $element_data +} + +ad_return_template + Index: openacs-4/packages/new-portal/www/render_styles/individual/render-element.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/www/render_styles/individual/render-element.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/www/render_styles/individual/render-element.adp 19 Jan 2002 21:59:48 -0000 1.1 @@ -0,0 +1,13 @@ + +@element.name@ +@element.resource_dir@ +@element.element_id@ +@element.link@ +@element.shadeable_p@ +@element.shaded_p@ +@element.hideable_p@ +@element.user_editable_p@ +@element.link_hideable_p@ +@hide_links_p@ + +@element.content@ Index: openacs-4/packages/new-portal/www/render_styles/individual/render-element.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/new-portal/www/render_styles/individual/render-element.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/new-portal/www/render_styles/individual/render-element.tcl 19 Jan 2002 21:59:48 -0000 1.1 @@ -0,0 +1,29 @@ +# www/render-element.tcl +ad_page_contract { + Render an element. + + @author + @creation-date + @cvs_id $Id: render-element.tcl,v 1.1 2002/01/19 21:59:48 ben Exp $ +} -properties { + element_id:onevalue + region:onevalue +} + +# get the complete, evaluated element. +# if there's an error, report it. +if { [catch {set element_data [portal::evaluate_element $element_id $theme_id] } errmsg ] } { + + ns_log Error "aks18 render-element.tcl (after eval): $errmsg" + + if { [ad_parameter show_datasource_errors_p] == 1} { + set element(content) "
$errmsg
" + } else { + return + } +} else { + array set element $element_data +} + +ad_return_template +