::xo::PackageMgr
::learning_content::Package
Class Hierarchy of ::learning_content::Package
- ::xotcl::Object
- Meta-class:
- ::xotcl::Class
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- Methods for instances:
- __api_make_doc, __api_make_forward_doc, __nextC, __timediff, abstract, ad_doc, ad_forward, ad_proc, appendC, arrayC, asHTML, autonameC, checkC, classC, cleanupC, configureC, contains, copy, db_1rowC, debug, defaultmethod, destroyC, destroy_on_cleanup, evalC, existsC, extractConfigureArg, filterC, filterguardC, filtersearchC, forwardC, hasclass, incrC, infoC, init, instvarC, invarC, isclassC, ismetaclassC, ismixinC, isobjectC, istypeC, lappendC, log, method, mixinC, mixinguardC, move, msg, noinitC, parametercmdC, procC, procsearchC, qn, requireNamespaceC, self, serialize, setC, substC, traceC, unsetC, uplevelC, upvarC, volatileC, vwaitC
- Methods to be applied on the class (in addition to the methods provided by the meta-class):
- __exitHandler, getExitHandler, setExitHandler, unsetExitHandler
- ::xo::db::Object
- Meta-class:
- ::xo::db::Class
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- Methods for instances:
- delete, initialize_loaded_object, insert, object_idC, object_titleC, save, save_new
- Methods to be applied on the class:
- Methods provided by the meta-class
- ::xo::Package
- Meta-class:
- ::xo::PackageMgr
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- Parameter for instances:
- context (default "::xo::cc"), force_refresh_login (default "false"), id, package_url, url
- Methods for instances:
- default_localeC, exists_form_parameterC, exists_query_parameterC, form_parameterC, get_parameter, init, initialize, insert, instance_nameC, package_idC, package_keyC, query_parameterC, reply_to_user, return_page, returnredirectC, save, set_url
- Methods to be applied on the class:
- Methods provided by the meta-class
- ::xowiki::Package
- Meta-class:
- ::xo::PackageMgr
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- Parameter for instances:
- folder_id (default "0"), force_refresh_login (default "false")
- Methods for instances:
- call, check_permissionsC, condition=has_class, condition=has_name, create_new_snippet, default_language, default_locale, delete, delete_revision, edit-new, error_msg, external_name, flush_name_cache, flush_page_fragment_cache, flush_references, folder_path, get_lang_and_name, get_parameter, get_parent_and_name, google-sitemap, google-sitemapindex, import, import_prototype_page, init, insert, invoke, make_link, normalize_name, package_idC, pretty_link, reindex, require_folder_object, resolve_page, resolve_page_name, resolve_page_name_and_init_context, resolve_request, rss, show_page_order
- Methods to be applied on the class (in addition to the methods provided by the meta-class):
- get_url_from_id, google-sitemapindex, instantiate_page_from_id
- ::learning_content::Package
- Meta-class:
- ::xo::PackageMgr
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- Methods for instances:
- destroy, initialize, insert, package_idC, return_page
- Methods to be applied on the class:
- Methods provided by the meta-class
Class Relations
- superclass: ::xowiki::Package
![[i]](/resources/acs-subsite/ZoomIn16.gif)
::xo::PackageMgr create ::learning_content::Package \
-superclass ::xowiki::Package
Methods
instproc destroy
::learning_content::Package instproc destroy {} {
#
# In general, it is possible, that multiple learning_content packages are
# concurrently active in one thread. We want to remove the mixin only,
# when the last instance is deleted.
#
if {[llength [[self class] allinstances]] == 1} {
::xowiki::WikiForm instmixin delete ::learning_content::ContentForm
::xowiki::PageInstanceEditForm instmixin delete ::learning_content::ContentWikiForm
::xowiki::PageTemplateForm instmixin delete ::learning_content::ContentTemplateForm
::xowiki::FormPage instmixin delete ::learning_content::ContentFormPage
::xowiki::Page instmixin delete ::learning_content::ContentPage
}
next
}
instproc initialize
::learning_content::Package instproc initialize {} {
::xowiki::WikiForm instmixin add ::learning_content::ContentForm
::xowiki::PageInstanceEditForm instmixin add ::learning_content::ContentWikiForm
::xowiki::PageTemplateForm instmixin add ::learning_content::ContentTemplateForm
::xowiki::FormPage instmixin add ::learning_content::ContentFormPage
::xowiki::Page instmixin add ::learning_content::ContentPage
next
}
instproc insert
::learning_content::Package instproc insert {} {
set __table_name [[self class] table_name]
set __id [[self class] id_column]
my set $__id [my set object_id]
my log "ID insert in $__table_name, id = $__id = [my set $__id]"
next
foreach {__slot_name __slot} [[self class] array get db_slot] {
my instvar $__slot_name
if {[info exists $__slot_name]} {
lappend __vars $__slot_name
lappend __atts [$__slot column_name]
}
}
db_dml dbqd..insert_$__table_name "insert into $__table_name
([join $__atts ,]) values (:[join $__vars ,:])"
}
instproc return_page
::learning_content::Package instproc return_page {-adp:required -variables:required -form} {
foreach _var $variables {
if {[llength $_var] == 2} {
upvar [lindex $_var 0] [lindex $_var 0]
upvar [string trim [lindex $_var 1] $] [string trim [lindex $_var 1] $]
} else {
upvar $_var [set _var]
}
}
if {[string eq $adp "/packages/xowiki/www/edit"]} {
set adp "/packages/learning-content/www/edit"
}
if {[exists_and_not_null item_id]} {
set category_id [category::get_mapped_categories $item_id]
set tree_id [category::get_tree $category_id]
set category_id [learning_content::get_unit_id -category_id $category_id]
set activity_id [learning_content::activity_exists_p -item_id $item_id]
if { !$activity_id } {
# AR: catch the case when a page has been deleted and will be imported
if {[catch { set page_name [$item_id name] } error]} {
set page_name "index"
set no_links_p 1
} else {
set no_links_p 0
}
if {([string first "glossary-list" $page_name] == -1 && [string first "index" $page_name] == -1) || [acs_user::site_wide_admin_p]} {
if { !$no_links_p } {
set edit_link [my make_link -privilege admin $item_id edit]
}
}
if { $no_links_p } {
set edit_link ""
set rev_link ""
}
} else {
set edit_link [my make_link -privilege admin -link "activity-new" [my id] edit item_id {return_url "[ad_return_url]"}]
}
set new_link2 [my make_link -privilege admin -link "page-instance-new" [my id] edit-new object_type]
set new_link3 [my make_link -privilege admin -link "activity-new" [my id] edit-new category_id {return_url "[ad_return_url]"}]
lappend variables new_link2 new_link3 category_id
}
if {[exists_and_not_null form]} {
upvar form [set form]
} else {
set form ""
}
return [next -adp $adp -variables $variables -form $form]
}