presentations/apache-tcl/common.tcl (71 lines of code) (raw):

file stat [info script] statinfo if { ! [info exists ::mtime] || $::mtime < $statinfo(mtime) } { proc ::getorder { } { set fl [open order.txt] set data [split [read $fl] \n] close $fl foreach ln $data { lappend ret [string trim $ln] } return $ret } proc ::makeindex {} { puts "<ul>" foreach fl [getorder] { set flttml "$fl.rvt" puts [subst { <li style="font-size:small ; list-style-type:square ; list-style-image: none"><a href="$flttml">$fl</a></li> }] } puts "</ul>" } proc ::nexturl { } { return "[lindex $::urls $::next].rvt?index=$::next" } proc ::prevurl { } { return "[lindex $::urls $::prev].rvt?index=$::prev" } proc ::prevnext { title } { set ::urls [getorder] if { [var exists index] } { set ::index [var get index] if { ! [string is integer $::index] } { error "Index must be a number!" } } else { set ::index 0 } set ::next [expr $::index + 1] set ::prev [expr $::index - 1] if { $::next >= [llength $::urls] } { incr ::next -1 } if { $::prev < 0 } { incr ::prev } set str { <table align="center" width="90%"> <tr> <td align="left"> <a href="[prevurl]"><img src="left.gif" alt="previous"></a> </td> <td align="center"> $title </td> <td align="right"> <a href="[nexturl]"><img src="right.gif" alt="next"></a> </td> </tr> </table> } puts [subst $str] } proc ::footer {} { puts { <p align="center" style="font-size:small"> <a href="list.rvt">INDEX</a> </p> } } set ::mtime $statinfo(mtime) }