From 482763c95359bd0352878542826693064d9e365e Mon Sep 17 00:00:00 2001 From: "terry%netscape.com" <> Date: Wed, 26 Aug 1998 13:14:15 +0000 Subject: Bugzilla source. --- 1x1.gif | Bin 0 -> 82 bytes CGI.tcl | 320 ++++++++++++++++++++++++++ ant.jpg | Bin 0 -> 17469 bytes bug_form.tcl | 216 +++++++++++++++++ bug_status.html | 194 ++++++++++++++++ buglist.cgi | 623 ++++++++++++++++++++++++++++++++++++++++++++++++++ changepassword.cgi | 74 ++++++ colchange.cgi | 88 +++++++ doclosebug.cgi | 53 +++++ edit_desc.cgi | 112 +++++++++ enter_bug.cgi | 227 ++++++++++++++++++ globals.tcl | 435 +++++++++++++++++++++++++++++++++++ help.html | 55 +++++ how_to_mail.html | 80 +++++++ index.html | 76 ++++++ long_list.cgi | 78 +++++++ makeactivitytable.sh | 47 ++++ makebugtable.sh | 69 ++++++ makecctable.sh | 40 ++++ makecomponenttable.sh | 102 +++++++++ makeprofilestable.sh | 42 ++++ makeversiontable.sh | 51 +++++ new_comment.cgi | 41 ++++ newquip.html | 34 +++ post_bug.cgi | 137 +++++++++++ process_bug.cgi | 309 +++++++++++++++++++++++++ processmail | 238 +++++++++++++++++++ query.cgi | 242 ++++++++++++++++++++ relogin.cgi | 52 +++++ show_activity.cgi | 58 +++++ show_bug.cgi | 44 ++++ 31 files changed, 4137 insertions(+) create mode 100644 1x1.gif create mode 100755 CGI.tcl create mode 100644 ant.jpg create mode 100755 bug_form.tcl create mode 100755 bug_status.html create mode 100755 buglist.cgi create mode 100755 changepassword.cgi create mode 100755 colchange.cgi create mode 100755 doclosebug.cgi create mode 100755 edit_desc.cgi create mode 100755 enter_bug.cgi create mode 100644 globals.tcl create mode 100644 help.html create mode 100644 how_to_mail.html create mode 100644 index.html create mode 100755 long_list.cgi create mode 100755 makeactivitytable.sh create mode 100755 makebugtable.sh create mode 100755 makecctable.sh create mode 100755 makecomponenttable.sh create mode 100755 makeprofilestable.sh create mode 100755 makeversiontable.sh create mode 100755 new_comment.cgi create mode 100644 newquip.html create mode 100755 post_bug.cgi create mode 100755 process_bug.cgi create mode 100755 processmail create mode 100755 query.cgi create mode 100755 relogin.cgi create mode 100755 show_activity.cgi create mode 100755 show_bug.cgi diff --git a/1x1.gif b/1x1.gif new file mode 100644 index 000000000..b07a89a6e Binary files /dev/null and b/1x1.gif differ diff --git a/CGI.tcl b/CGI.tcl new file mode 100755 index 000000000..fc711c7a0 --- /dev/null +++ b/CGI.tcl @@ -0,0 +1,320 @@ +# -*- Mode: tcl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public License +# Version 1.0 (the "License"); you may not use this file except in +# compliance with the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +# License for the specific language governing rights and limitations +# under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Netscape Communications +# Corporation. Portions created by Netscape are Copyright (C) 1998 +# Netscape Communications Corporation. All Rights Reserved. +# +# Contributor(s): Terry Weissman + +source "globals.tcl" + +proc url_decode {buf} { + regsub -all {\\(.)} $buf {\1} buf ; regsub -all {\\} $buf {\\\\} buf ; + regsub -all { } $buf {\ } buf ; regsub -all {\+} $buf {\ } buf ; + regsub -all {\$} $buf {\$} buf ; regsub -all \n $buf {\n} buf ; + regsub -all {;} $buf {\;} buf ; regsub -all {\[} $buf {\[} buf ; + regsub -all \" $buf \\\" buf ; regsub ^\{ $buf \\\{ buf ; + regsub -all -nocase {%([a-fA-F0-9][a-fA-F0-9])} $buf {[format %c 0x\1]} buf + eval return \"$buf\" +} + +proc url_quote {var} { + regsub -all { } "$var" {%20} var + regsub -all {=} "$var" {%3d} var + regsub -all "\n" "$var" {%0a} var + return $var +} + +proc lookup { a key } { + global $a + set ref [format %s(%s) $a $key] + if { [ info exists $ref] } { + eval return \$$ref + } else { + return "" + } +} + +proc ProcessFormFields {buffer} { + global FORM MFORM + catch {unset FORM} + catch {unset MFORM} + set remaining $buffer + while {![cequal $remaining ""]} { + if {![regexp {^([^&]*)&(.*)$} $remaining foo item remaining]} { + set item $remaining + set remaining "" + } + if {![regexp {^([^=]*)=(.*)$} $item foo name value]} { + set name $item + set value "" + } + set value [url_decode $value] + if {![cequal $value ""]} { + append FORM($name) $value + lappend MFORM($name) $value + } else { + set isnull($name) 1 + } + } + if {[info exists isnull]} { + foreach name [array names isnull] { + if {![info exists FORM($name)]} { + set FORM($name) "" + set MFORM($name) "" + } + } + } +} + +proc FormData { field } { + global FORM + return $FORM($field) +} + +if { [info exists env(REQUEST_METHOD) ] } { + if { $env(REQUEST_METHOD) == "GET" } { + set buffer [lookup env QUERY_STRING] + } else { set buffer [ read stdin $env(CONTENT_LENGTH) ] } + ProcessFormFields $buffer +} + +proc html_quote { var } { + regsub -all {&} "$var" {\&} var + regsub -all {<} "$var" {\<} var + regsub -all {>} "$var" {\>} var + return $var +} +proc value_quote { var } { + regsub -all {&} "$var" {\&} var + regsub -all {"} "$var" {\"} var + regsub -all {<} "$var" {\<} var + regsub -all {>} "$var" {\>} var + return $var +} + +proc value_unquote { var } { + regsub -all {"} $var "\"" var + regsub -all {<} $var "<" var + regsub -all {>} $var ">" var + regsub -all {&} $var {\&} var + return $var +} + +foreach pair [ split [lookup env HTTP_COOKIE] ";" ] { + set pair [string trim $pair] + set eq [string first = $pair ] + if {$eq == -1} { + set COOKIE($pair) "" + } else { + set COOKIE([string range $pair 0 [expr $eq - 1]]) [string range $pair [expr $eq + 1] end] + } +} + +proc navigation_header {} { + global COOKIE FORM next_bug + set buglist [lookup COOKIE BUGLIST] + if { $buglist != "" } { + set bugs [split $buglist :] + set cur [ lsearch -exact $bugs $FORM(id) ] + puts "Bug List: ([expr $cur + 1] of [llength $bugs])" + puts "First" + puts "Last" + if { $cur > 0 } { + puts "Prev" + } else { + puts "Prev" + } + if { $cur < [expr [ llength $bugs ] - 1] } { + set next_bug [lindex $bugs [expr $cur + 1]] + puts "Next" + } else { + puts "Next" + } + } + puts "     Query page" +} + +proc make_options { src default {isregexp 0} } { + set last "" ; set popup "" ; set found 0 + foreach item $src { + if {$item == "-blank-" || $item != $last} { + if { $item == "-blank-" } { set item "" } + set last $item + if {$isregexp ? [regexp $default $item] : [cequal $default $item]} { + append popup "