Inicio del contenido principal
::xowiki::Object
::xowiki::autoname
::xowiki::Object create ::xowiki::autoname
Methods
proc generate
::xowiki::autoname proc generate {-parent_id -name} {
db_transaction {
set already_recorded [db_0or1row [my qn autoname_query] "
select count from xowiki_autonames
where parent_id = $parent_id and name = :name"]
if {$already_recorded} {
incr count
db_dml [my qn update_autoname_counter] "update xowiki_autonames set count = count + 1 where parent_id = $parent_id and name = :name"
} else {
set count 1
db_dml [my qn insert_autoname_counter] "insert into xowiki_autonames (parent_id, name, count) values ($parent_id, :name, $count)"
}
}
return $name$count
}
proc new
::xowiki::autoname proc new {-parent_id -name} {
while {1} {
set generated_name [my generate -parent_id $parent_id -name $name]
if {[::xo::db::CrClass lookup -name $generated_name -parent_id $parent_id] eq 0} {
return $generated_name
}
}
}