#!/usr/bin/perl # # This is even older and simpler version, which could be used as sample. # # THIS SOFTWARE IS PUBLIC DOMAIN # # Vladi Belperchinov-Shabanski # http://www.biscom.net/~cade http://cade.webbg.com # use CGI; $ROOT = $0; $ROOT =~ s/\/([^\/]+)$//; $ROOT .= "/data"; $sec = CGI::param("sec"); $url = CGI::param("url"); $des = CGI::param("des"); $newsec = CGI::param("newsec"); $query = CGI::param("query"); if (!chdir($ROOT)) { print "Cannot chdir! ($ROOT) -- press _back_ button"; exit; }; if ( $newsec ne "" ) { if ( $newsec =~ /.*\/[^\/]+$/ ) { $newsec = $1; } $newsec =~ s/ /_/g; system( "echo >> $newsec" ); print "Location: index.cgi\n\n"; exit; } if ( $sec ne "" && $url ne "" && $des ne "" ) { open( f, ">>$sec" ); if ( ($url =~ /^www/i) ) { $url = "http://" . $url }; if ( ($url =~ /^ftp/i) ) { $url = "ftp://" . $url }; if ( ($url =~ /^[^\@]+\@[^\@]+$/ ) && ($url =~ /[^\/]+/) ) { $url = "mailto:" . $url } print f "$url $des\n"; print f "\n"; close(f); print "Location: index.cgi?sec=$sec\n\n"; exit; } print "Content-type: text/html\n\n"; print "

W e b M a r k s

[home]"; if ( $query ne "" ) { $query =~ s/\\/\\\\/g; $query =~ s/\&/\\\&/g; print "

Search results for '$query':

"; print "
    "; open( i, "grep -E -i \"$query\" *|" ); while() { chop; tr/ \t//s; if ( /^$/ ) { next; }; if ( /^([^:]+):([^ ]+) (.+)$/ ) { print "
  1. $3
    $2
    "; print "[$1]

    \n"; } } close( i ); print "
"; footer(); exit; } if ( $sec ne "" ) { print "

Section '$sec':

"; print "
    "; open( i, "cat $sec|" ); while() { chop; tr/ \t//s; if ( /^$/ ) { next; }; if ( /^([^ ]+) (.+)$/ ) { print "
  1. $2
    $1

    \n"; } } close( i ); print "
"; } else { print "

Choose section:

"; print "
    "; open( i, "ls -1 *|" ); while() { chop; print "

  1. $_ (" . `cat $_ | grep -E "^(http)|(ftp)|(mailto)" | wc -l` . ")
  2. \n"; } close( i ); print "
"; print "Total links found: " . ` cat * | grep -E "^(http)|(ftp)|(mailto)" | wc -l ` . ""; }; if ( $sec ne "" ) { print "
  : URL, : Description,
" } if ( $sec eq "" ) { print "
" } if ( $query eq "" ) { print "
"; } footer(); sub footer { print "
"; print "WebMarks by (c) Cade 1999$ENV{'PWD'}"; }