Channels:   |HiFi|HomeTheater|ProAudio|DesktopAudio|CarAudio|MP3|NetAudio|MusicBiz|AudioBiz|

AudioWorld Online
Search in:
Saturday, May 18

Today's Audio News

Directory
Add URL
Search
New Listings
Most Popular
Highest Rated

Categories
   Top
   Pro Audio
   HiFi Audio
   DVD-Audio
   SACD
   Car Audio
   Music
   Internet Audio
   Personal Pages

Channels
HiFi Audio
Home Theater
Pro Audio
Home Recording
Car Audio
MP3
Net Audio
AudioBiz
MusicBiz

Forums
Talkback
StraightWire

Media
About AudioWorld
Submit Material
Advertise
Link to Us
Contact Us



Advertise Now!

Audio Site Links
Audio Site Directory

blank place holder
 AudioWorld News Summary - September 1, 2004 [ << PREV ]   [ NEXT >> ]
#!/usr/bin/perl # The previous line (first line in file) needs to point to the system path for perl on Unix machines. # Under NT, this line is usually unnecessary...unless you are running Apache for NT. #################################################################################### # Copyright (C) 2000 Anaconda Partners LLC #################################################################################### $ap_setpackage = 1; package APFX; $ap_setpackage = 1; $ExecutiveInit++; unless($ExecutiveInit) { $ap_modules{versions} .= "[ANACONDA! LAUNCH STUB]: [1.2] [6/6/00]
"; } # #### EXTRA PARAMETERS ########################################################## # # Additional parameters can be set here to pass to the Anaconda Executive. If you want # to run the Foundation products with several different options, and you don't want to # always pass the options on the URL, you can create multiple copies of apexec.pl, all # named differently, and put the specific URL options for each in this setting. $ap_extraparms = ""; # #### PATHS ##################################################################### # # This should be unnecessary, but if the stub cannot find the apexecutive.apl file, you can hardcode # the system path to the script directory where the apexecutive.apl file is found. Do not include a # trailing "/". $ap_scriptpath = "."; # # System path to template files. $ap_parm{templatepath} = "/home/audio/public_html/cgi-bin/anaconda_templates"; # # Name of template file (or URL) $ap_parm{template} = "aftemplate.html"; #$ap_parm{templateurl} = "http://www.audioworld.com/mytemplate.html"; # #### COMMUNICATIONS ############################################################ # # STD or ALT # Try setting this to "ALT" if the host communication times out. $ap_parm{commtype} = "STD"; # # UNIX or NT $ap_parm{os} = "UNIX"; # # Timeout value $ap_parm{maxtime} = 12; # #### SECURITY ################################################################## # # For extra security: # This line lets you define the hosts that are authorized to refer browsers to this # script. Uncomment the line and edit or add your addresses to utilize this. #@ap_referers = ('anaconda.net'); # #### USER DEFINED EXTENSIONS ################################################### # # User defined processing file # File gets "required" in (if it exists) right after settings. Don't do important processing in the # main file if you plan on using mod_perl, as mod_perl doesn't run this section for successive instances. # You can read documentation about the user defined processing at: # http://anaconda.net/support/ap_af_user_defined.shtml #$ap_userfunc{FILE} = "ap_extra.pl"; # ################################################################################ ###### PLEASE CHANGE NOTHING BELOW THIS LINE! ################################## $| = 1; if(@ap_referers) { fap_stub_DoRefs(); } if($ap_scriptpath and (-e "$ap_scriptpath/apexecutive.apl")) { $I1II1I1II1I1I1II = "$ap_scriptpath/apexecutive.apl"; $ap_parm{scriptpath} = $ap_scriptpath; } else { $ap_parm{scriptpath} = $ENV{'SCRIPT_FILENAME'}; if(!$ap_parm{scriptpath}) { $ap_parm{scriptpath} = $ENV{'PATH_TRANSLATED'}; } $ap_parm{scriptpath} =~ s|[\\/]*[\w\.\d]+$||i; $I1II1I1II1I1I1II = "$ap_parm{scriptpath}/apexecutive.apl"; } if(-e $I1II1I1II1I1I1II) { require "$I1II1I1II1I1I1II"; &fap_exec_go(); } else { print "Content-type: text/html\n\n"; print "Anaconda Error: Cannot find Anaconda Executive (apexecutive.apl), looked in [$ap_scriptpath] and [$ap_parm{scriptpath}]
"; } sub fap_stub_DoRefs { my($I1III11I1111I1II) = 0; if ($ENV{'HTTP_REFERER'}) { foreach $I111IIIIII111I1I (@ap_referers) { if ($ENV{'HTTP_REFERER'} =~ m|https?://([^/]*)$I111IIIIII111I1I|i) { $I1III11I1111I1II = 1; last; } } } else { $I1III11I1111I1II = 1; } if ($I1III11I1111I1II != 1) { print "Content-type: text/html\n\n"; print "Anaconda Error: Invalid Referer"; exit; } } 1;
 @ AudioShops.com [ Headlines ]   [ The Web ]
#!/usr/bin/perl # The previous line (first line in file) needs to point to the system path for perl on Unix machines. # Under NT, this line is usually unnecessary...unless you are running Apache for NT. #################################################################################### # Copyright (C) 2000 Anaconda Partners LLC #################################################################################### $ap_setpackage = 1; package APFX; $ap_setpackage = 1; $ExecutiveInit++; unless($ExecutiveInit) { $ap_modules{versions} .= "[ANACONDA! LAUNCH STUB]: [1.2] [6/6/00]
"; } # #### EXTRA PARAMETERS ########################################################## # # Additional parameters can be set here to pass to the Anaconda Executive. If you want # to run the Foundation products with several different options, and you don't want to # always pass the options on the URL, you can create multiple copies of apexec.pl, all # named differently, and put the specific URL options for each in this setting. $ap_extraparms = ""; # #### PATHS ##################################################################### # # This should be unnecessary, but if the stub cannot find the apexecutive.apl file, you can hardcode # the system path to the script directory where the apexecutive.apl file is found. Do not include a # trailing "/". $ap_scriptpath = "."; # # System path to template files. $ap_parm{templatepath} = "/home/audio/public_html/cgi-bin/anaconda_templates"; # # Name of template file (or URL) $ap_parm{template} = "aftemplate.html"; #$ap_parm{templateurl} = "http://www.audioworld.com/mytemplate.html"; # #### COMMUNICATIONS ############################################################ # # STD or ALT # Try setting this to "ALT" if the host communication times out. $ap_parm{commtype} = "STD"; # # UNIX or NT $ap_parm{os} = "UNIX"; # # Timeout value $ap_parm{maxtime} = 12; # #### SECURITY ################################################################## # # For extra security: # This line lets you define the hosts that are authorized to refer browsers to this # script. Uncomment the line and edit or add your addresses to utilize this. #@ap_referers = ('anaconda.net'); # #### USER DEFINED EXTENSIONS ################################################### # # User defined processing file # File gets "required" in (if it exists) right after settings. Don't do important processing in the # main file if you plan on using mod_perl, as mod_perl doesn't run this section for successive instances. # You can read documentation about the user defined processing at: # http://anaconda.net/support/ap_af_user_defined.shtml #$ap_userfunc{FILE} = "ap_extra.pl"; # ################################################################################ ###### PLEASE CHANGE NOTHING BELOW THIS LINE! ################################## $| = 1; if(@ap_referers) { fap_stub_DoRefs(); } if($ap_scriptpath and (-e "$ap_scriptpath/apexecutive.apl")) { $I1II1I1II1I1I1II = "$ap_scriptpath/apexecutive.apl"; $ap_parm{scriptpath} = $ap_scriptpath; } else { $ap_parm{scriptpath} = $ENV{'SCRIPT_FILENAME'}; if(!$ap_parm{scriptpath}) { $ap_parm{scriptpath} = $ENV{'PATH_TRANSLATED'}; } $ap_parm{scriptpath} =~ s|[\\/]*[\w\.\d]+$||i; $I1II1I1II1I1I1II = "$ap_parm{scriptpath}/apexecutive.apl"; } if(-e $I1II1I1II1I1I1II) { require "$I1II1I1II1I1I1II"; &fap_exec_go(); } else { print "Content-type: text/html\n\n"; print "Anaconda Error: Cannot find Anaconda Executive (apexecutive.apl), looked in [$ap_scriptpath] and [$ap_parm{scriptpath}]
"; } sub fap_stub_DoRefs { my($I1III11I1111I1II) = 0; if ($ENV{'HTTP_REFERER'}) { foreach $I111IIIIII111I1I (@ap_referers) { if ($ENV{'HTTP_REFERER'} =~ m|https?://([^/]*)$I111IIIIII111I1I|i) { $I1III11I1111I1II = 1; last; } } } else { $I1III11I1111I1II = 1; } if ($I1III11I1111I1II != 1) { print "Content-type: text/html\n\n"; print "Anaconda Error: Invalid Referer"; exit; } } 1;
 Around the Web - September 1, 2004 [ Headlines ]   [ AudioShops ]
More than 4,000 audio-specific website links!     Add Your URL
#!/usr/bin/perl # The previous line (first line in file) needs to point to the system path for perl on Unix machines. # Under NT, this line is usually unnecessary...unless you are running Apache for NT. #################################################################################### # Copyright (C) 2000 Anaconda Partners LLC #################################################################################### $ap_setpackage = 1; package APFX; $ap_setpackage = 1; $ExecutiveInit++; unless($ExecutiveInit) { $ap_modules{versions} .= "[ANACONDA! LAUNCH STUB]: [1.2] [6/6/00]
"; } # #### EXTRA PARAMETERS ########################################################## # # Additional parameters can be set here to pass to the Anaconda Executive. If you want # to run the Foundation products with several different options, and you don't want to # always pass the options on the URL, you can create multiple copies of apexec.pl, all # named differently, and put the specific URL options for each in this setting. $ap_extraparms = ""; # #### PATHS ##################################################################### # # This should be unnecessary, but if the stub cannot find the apexecutive.apl file, you can hardcode # the system path to the script directory where the apexecutive.apl file is found. Do not include a # trailing "/". $ap_scriptpath = "."; # # System path to template files. $ap_parm{templatepath} = "/home/audio/public_html/cgi-bin/anaconda_templates"; # # Name of template file (or URL) $ap_parm{template} = "aftemplate.html"; #$ap_parm{templateurl} = "http://www.audioworld.com/mytemplate.html"; # #### COMMUNICATIONS ############################################################ # # STD or ALT # Try setting this to "ALT" if the host communication times out. $ap_parm{commtype} = "STD"; # # UNIX or NT $ap_parm{os} = "UNIX"; # # Timeout value $ap_parm{maxtime} = 12; # #### SECURITY ################################################################## # # For extra security: # This line lets you define the hosts that are authorized to refer browsers to this # script. Uncomment the line and edit or add your addresses to utilize this. #@ap_referers = ('anaconda.net'); # #### USER DEFINED EXTENSIONS ################################################### # # User defined processing file # File gets "required" in (if it exists) right after settings. Don't do important processing in the # main file if you plan on using mod_perl, as mod_perl doesn't run this section for successive instances. # You can read documentation about the user defined processing at: # http://anaconda.net/support/ap_af_user_defined.shtml #$ap_userfunc{FILE} = "ap_extra.pl"; # ################################################################################ ###### PLEASE CHANGE NOTHING BELOW THIS LINE! ################################## $| = 1; if(@ap_referers) { fap_stub_DoRefs(); } if($ap_scriptpath and (-e "$ap_scriptpath/apexecutive.apl")) { $I1II1I1II1I1I1II = "$ap_scriptpath/apexecutive.apl"; $ap_parm{scriptpath} = $ap_scriptpath; } else { $ap_parm{scriptpath} = $ENV{'SCRIPT_FILENAME'}; if(!$ap_parm{scriptpath}) { $ap_parm{scriptpath} = $ENV{'PATH_TRANSLATED'}; } $ap_parm{scriptpath} =~ s|[\\/]*[\w\.\d]+$||i; $I1II1I1II1I1I1II = "$ap_parm{scriptpath}/apexecutive.apl"; } if(-e $I1II1I1II1I1I1II) { require "$I1II1I1II1I1I1II"; &fap_exec_go(); } else { print "Content-type: text/html\n\n"; print "Anaconda Error: Cannot find Anaconda Executive (apexecutive.apl), looked in [$ap_scriptpath] and [$ap_parm{scriptpath}]
"; } sub fap_stub_DoRefs { my($I1III11I1111I1II) = 0; if ($ENV{'HTTP_REFERER'}) { foreach $I111IIIIII111I1I (@ap_referers) { if ($ENV{'HTTP_REFERER'} =~ m|https?://([^/]*)$I111IIIIII111I1I|i) { $I1III11I1111I1II = 1; last; } } } else { $I1III11I1111I1II = 1; } if ($I1III11I1111I1II != 1) { print "Content-type: text/html\n\n"; print "Anaconda Error: Invalid Referer"; exit; } } 1;

 More Recent Additions [ Headlines ]   [ AudioShops ]
#!/usr/bin/perl # The previous line (first line in file) needs to point to the system path for perl on Unix machines. # Under NT, this line is usually unnecessary...unless you are running Apache for NT. #################################################################################### # Copyright (C) 2000 Anaconda Partners LLC #################################################################################### $ap_setpackage = 1; package APFX; $ap_setpackage = 1; $ExecutiveInit++; unless($ExecutiveInit) { $ap_modules{versions} .= "[ANACONDA! LAUNCH STUB]: [1.2] [6/6/00]
"; } # #### EXTRA PARAMETERS ########################################################## # # Additional parameters can be set here to pass to the Anaconda Executive. If you want # to run the Foundation products with several different options, and you don't want to # always pass the options on the URL, you can create multiple copies of apexec.pl, all # named differently, and put the specific URL options for each in this setting. $ap_extraparms = ""; # #### PATHS ##################################################################### # # This should be unnecessary, but if the stub cannot find the apexecutive.apl file, you can hardcode # the system path to the script directory where the apexecutive.apl file is found. Do not include a # trailing "/". $ap_scriptpath = "."; # # System path to template files. $ap_parm{templatepath} = "/home/audio/public_html/cgi-bin/anaconda_templates"; # # Name of template file (or URL) $ap_parm{template} = "aftemplate.html"; #$ap_parm{templateurl} = "http://www.audioworld.com/mytemplate.html"; # #### COMMUNICATIONS ############################################################ # # STD or ALT # Try setting this to "ALT" if the host communication times out. $ap_parm{commtype} = "STD"; # # UNIX or NT $ap_parm{os} = "UNIX"; # # Timeout value $ap_parm{maxtime} = 12; # #### SECURITY ################################################################## # # For extra security: # This line lets you define the hosts that are authorized to refer browsers to this # script. Uncomment the line and edit or add your addresses to utilize this. #@ap_referers = ('anaconda.net'); # #### USER DEFINED EXTENSIONS ################################################### # # User defined processing file # File gets "required" in (if it exists) right after settings. Don't do important processing in the # main file if you plan on using mod_perl, as mod_perl doesn't run this section for successive instances. # You can read documentation about the user defined processing at: # http://anaconda.net/support/ap_af_user_defined.shtml #$ap_userfunc{FILE} = "ap_extra.pl"; # ################################################################################ ###### PLEASE CHANGE NOTHING BELOW THIS LINE! ################################## $| = 1; if(@ap_referers) { fap_stub_DoRefs(); } if($ap_scriptpath and (-e "$ap_scriptpath/apexecutive.apl")) { $I1II1I1II1I1I1II = "$ap_scriptpath/apexecutive.apl"; $ap_parm{scriptpath} = $ap_scriptpath; } else { $ap_parm{scriptpath} = $ENV{'SCRIPT_FILENAME'}; if(!$ap_parm{scriptpath}) { $ap_parm{scriptpath} = $ENV{'PATH_TRANSLATED'}; } $ap_parm{scriptpath} =~ s|[\\/]*[\w\.\d]+$||i; $I1II1I1II1I1I1II = "$ap_parm{scriptpath}/apexecutive.apl"; } if(-e $I1II1I1II1I1I1II) { require "$I1II1I1II1I1I1II"; &fap_exec_go(); } else { print "Content-type: text/html\n\n"; print "Anaconda Error: Cannot find Anaconda Executive (apexecutive.apl), looked in [$ap_scriptpath] and [$ap_parm{scriptpath}]
"; } sub fap_stub_DoRefs { my($I1III11I1111I1II) = 0; if ($ENV{'HTTP_REFERER'}) { foreach $I111IIIIII111I1I (@ap_referers) { if ($ENV{'HTTP_REFERER'} =~ m|https?://([^/]*)$I111IIIIII111I1I|i) { $I1III11I1111I1II = 1; last; } } } else { $I1III11I1111I1II = 1; } if ($I1III11I1111I1II != 1) { print "Content-type: text/html\n\n"; print "Anaconda Error: Invalid Referer"; exit; } } 1;

<< SEP 2004 >>
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

#!/usr/bin/perl # # Master Merry-Go-Round # Version 1.2 # Version 1.0 completed August 14, 2000 # Version 1.2 completed May 28, 2002 # # Tech Support at http://willmaster.com/master/techsupport/ # # Before installing and/or using Master Merry-Go-Round, # you must agree to the complete license agreement # linked from http://willmaster.com/master # # (G) Access your control panel by putting the URL of your script plus # ?admin=YOURPASSWORD # #=============================== # my $Password = 'abroc39'; my $DataDirectory = 'rotatedata'; use strict; my %In = (); my $DBname = 'mmgr'; my $TrackFile = 'mmgTrack'; my $DBextension = '.db'; my @TopLines = qw(abovecontent abovebold aboveitalic aboveunderlined abovelarge abovecenter); my %TopLines = (); { my $i = 0; for(@TopLines) { $TopLines{$_} = $i; $i++; } } my $ME = $0; $ME =~ s/.*\///; sub ForDisplay { my $s = shift; $s =~ s/\/\>/sg; $s =~ s/\"/\"/sg; return $s; } # sub ForDisplay sub GetBottom { return <

More Master Series scripts are available at http://willmaster.com/master/

Copyright 2000 William Bontrager
Copyright 2002 Bontrager Connection, LLC

QQ } # sub GetBottom sub GetTop { return <

M a s t e r   M e r r y - G o - R o u n d

$_[0]

QQ } # sub GetTop sub LockFile { my $tm = time; my $f = "${DataDirectory}/$DBname\.lock"; while((time - $tm) < 12) { last unless -e $f; sleep 2; } open LOCKFILE,">$f"; close LOCKFILE; } # sub LockFile sub UnLockFile { unlink "${DataDirectory}/$DBname\.lock"; return 0; } # sub UnLockFile sub Display { my ($line,$next,$howmany) = (); if(open R,"<${DataDirectory}/$TrackFile$DBextension") { my $line = ; close R; ($next,$howmany) = split /\t/,$line; } LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; chomp @originalslurp; UnLockFile; unless($howmany > 0) { $howmany = $#originalslurp; $next = 0; } return unless $howmany > 0; $next++; $next = 1 unless $next > 1 and $next <= $howmany; open W,">${DataDirectory}/$TrackFile$DBextension"; print W "$next\t$howmany"; close W; my $filename; ($filename,undef) = split /\t/,$originalslurp[$next],2; print "Content-Type: text/html\n\n"; print '' if $In{page} =~ /^complete$/i; open R,"<${DataDirectory}/$filename"; print ; close R; print '' if $In{page} =~ /^complete$/i; exit; } # sub Display sub Parse { my $buffer; if ($ENV{REQUEST_METHOD} eq 'GET') { $buffer = $ENV{QUERY_STRING}; } else { read(STDIN,$buffer,$ENV{CONTENT_LENGTH}); } my @pairs = split(/&/,$buffer); for(@pairs) { my ($n,$v) = split(/=/,$_); $v =~ tr/+/ /; $v =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $v =~ tr/\t/ /; $In{$n} = $v; } } # sub Parse sub ErrorHTML { my $s = join("\n
  • ",@_); print "Content-Type: text/html\n\n"; print GetTop; print qq~

    Message

    • $s
    ~; print GetBottom; exit; } # sub ErrorHTML sub Overview { print "Content-Type: text/html\n\n"; print GetTop('Overview'); print <
  • You can rotate text ads or any other content, including images, sound, flash -- singly or in combination. You can display any amount of information -- even entire web pages. (It can be used to rotate web pages if you're testing for marketing or other purposes.)

    Every time the script is called, it displays the next content. When it reaches the end, it starts at the beginning again.

    Your content can be displayed on the page with SSI or inside a popup window. To view example code, click the applicable button:

       

    OVERVIEW print GetBottom; exit; } # sub Overview sub ExampleSSI { print "Content-Type: text/html\n\n"; print GetTop('Example SSI'); print <
    Code for implementing Master Merry-Go-Round to display contant as a Server Side Include for seamless integration into a web page.

    On most servers, this requires a .shtml page file name extenstion. Ask your server admin if you're unsure about their requirements.

    The code is presented in two different ways. Use whichever works best for you.

    <HTML>
    <BODY>
    
    
    <!--#exec cgi="/cgi-bin/MasterMerryGoRound.cgi"-->
    
    
    </BODY>
    </HTML>
    

    EXAMPLESSI print GetBottom; exit; } # sub ExampleSSI sub ExamplePopup { print "Content-Type: text/html\n\n"; print GetTop('Example Popup'); print <Code for implementing a Master Merry-Go-Round popup box.

    The code is presented in two different ways. Use whichever works best for you.

    <HTML>
    <HEAD>
    
    
    <script type="text/javascript" language="JavaScript"><!--
    function MMGR(){
    // (1) Specify the height, in pixels, of your popup box.
    var height = '200';
    // (2) Specify the width, in pixels, of your popup box.
    var width = '300';
    // (3) May the popup have scrollbars? 'yes' or 'no'
    var scrollbars = 'yes';
    // (4) Shall the popup be resizable? 'yes' or 'no'
    var resizable = 'yes';
    // (5) Specify the URL of your Master Merry-Go-Round program.
    var url = 'cgi-bin/MasterMerryGoRound.cgi';
    // No other edits required in this function.
    var param = 'height=' + height + ',width=' + width +
    ',scrollbars=' + scrollbars + ',resizable=' + resizable;
    url = url  + '?page=complete';
    mdc = window.open(url,"dc",param);
    } // -->
    </script>
    
    
    </HEAD>
    <BODY>
    
    
    <a href="javascript:MMGR()">Click for popup</a>
    
    
    </BODY>
    </HTML>
    

    EXAMPLEPOPUP print GetBottom; exit; } # sub ExamplePopup sub DisplayControlPanel { unless($In{admin} eq $Password) { print "Location: $ENV{HTTP_REFERER}\n\n"; exit; } my @originalslurp = (); LockFile; if(open R,"<${DataDirectory}/$DBname$DBextension") { @originalslurp = ; close R; chomp @originalslurp; } UnLockFile; my($next,$howmany) = split /\t/,$originalslurp[0],2; print "Content-Type: text/html\n\n"; print GetTop('Main Menu'); print <

    Tech Support at http://willmaster.com/master/techsupport/

     
    TOPTHECONTROLPANELPAGE if($originalslurp[1]) { $next++; $next = 1 if $next > $howmany; print <
    Currently, you have $howmany different content display blocks.

    Content block number $next is next in line for display.

    INSIDE1 for(1..$#originalslurp) { my($filename,$sequence,$filenum,$title) = split /\t/,$originalslurp[$_]; $title = ForDisplay($title); print < INSIDEMID } print <

    INSIDE2 } print GetBottom; exit; } # sub DisplayControlPanel sub UpdateAddContent { ErrorHTML('A title must be specified.') unless $In{title} =~ /\w/; ErrorHTML('Please provide some kind of content.') unless $In{content} =~ /\w/; if($In{content} =~ /\n/) { $In{content} =~ s/\r//gs; } else { $In{content} =~ s/\r/\n/gs; } my @originalslurp = ("0\t0\t0\t0"); LockFile; if(open R,"<${DataDirectory}/$DBname$DBextension") { @originalslurp = ; close R; chomp @originalslurp; } UnLockFile; my($filename,$sequence,$filenum,$title) = split /\t/,$originalslurp[$#originalslurp]; my($next,$howmany) = split /\t/,$originalslurp[0],2; $howmany++; $originalslurp[0] = "$next\t$howmany"; $title = $In{title}; $filenum++; $sequence = @originalslurp; $filename = "$DBname$filenum$DBextension"; push @originalslurp,"$filename\t$sequence\t$filenum\t$title"; LockFile; open W,">${DataDirectory}/$DBname$DBextension"; for(@originalslurp) { print W "$_\n"; } close W; UnLockFile; open W,">${DataDirectory}/$filename"; print W $In{content}; close W; unlink "${DataDirectory}/$TrackFile$DBextension"; } # UpdateAddContent sub AddContent { print "Content-Type: text/html\n\n"; print GetTop('Add Content'); print <

    $_ $title
    Give this content a name you will recognize:

    Put your content here (HTML okay):

    THECONTROLPANELPAGE print GetBottom; exit; } # sub AddContent sub UpdateEditContent { ErrorHTML('A title must be specified.') unless $In{title} =~ /\w/; ErrorHTML('Please provide some kind of content.') unless $In{content} =~ /\w/; if($In{content} =~ /\n/) { $In{content} =~ s/\r//gs; } else { $In{content} =~ s/\r/\n/gs; } LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my $t; for $t (@originalslurp) { if(index($t,"$In{filename}\t") == 0) { my ($filename,$sequence,$filenum,$title) = split /\t/,$t; $title = $In{title}; $t = join "\t",$filename,$sequence,$filenum,$title; last; } } LockFile; open W,">${DataDirectory}/$DBname$DBextension"; for(@originalslurp) { print W "$_\n"; } close W; UnLockFile; open W,">${DataDirectory}/$In{filename}"; print W $In{content}; close W; unlink "${DataDirectory}/$TrackFile$DBextension"; } # UpdateEditContent sub EditContent { LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my $filename = "$DBname$In{editcontent}$DBextension"; my($title,$content); for(@originalslurp) { if(index($_,"$filename\t") == 0) { (undef,undef,undef,$title) = split /\t/; last; } } open R,"<${DataDirectory}/$filename"; { my @p = ; close R; $content = join '',@p; } $title = ForDisplay($title); $content = ForDisplay($content); print "Content-Type: text/html\n\n"; print GetTop('Edit Content'); print <

    The content's name for recognition:

    The content (HTML okay):

    THECONTROLPANELPAGE print GetBottom; exit; } # sub EditContent sub UpdateDeleteContent { unlink "${DataDirectory}/$In{filename}"; LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my($next,$howmany) = split /\t/,$originalslurp[0],2; $howmany--; $originalslurp[0] = "$next\t$howmany"; my $t; for $t (@originalslurp) { if(index($t,"$In{filename}\t") == 0) { $t = ''; last; } } LockFile; open W,">${DataDirectory}/$DBname$DBextension"; for(@originalslurp) { print W "$_\n" if $_; } close W; UnLockFile; unlink "${DataDirectory}/$TrackFile$DBextension"; } # UpdateDeleteContent sub DeleteContent { LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my $filename = "$DBname$In{deletecontent}$DBextension"; my($title,$content); for(@originalslurp) { if(index($_,"$filename\t") == 0) { (undef,undef,undef,$title) = split /\t/; last; } } open R,"<${DataDirectory}/$filename"; { my @p = ; close R; $content = join '',@p; } print "Content-Type: text/html\n\n"; print GetTop('Delete Content'); print <
    Name:
    $title

    Content:
    $content

    THECONTROLPANELPAGE print GetBottom; exit; } # sub DeleteContent sub ControlPanel { for(keys %In) { if(/\Aedit\_/ and $In{$_}) { (undef,$In{editcontent}) = split /\_/; last; } if(/\Adelete\_/ and $In{$_}) { (undef,$In{deletecontent}) = split /\_/; last; } } CONTROLPANELSWITCHER: { if($In{addcontent}) { AddContent; last CONTROLPANELSWITCHER; } if($In{updateaddcontent}) { UpdateAddContent; last CONTROLPANELSWITCHER; } if($In{editcontent}) { EditContent; last CONTROLPANELSWITCHER; } if($In{updateeditcontent}) { UpdateEditContent; last CONTROLPANELSWITCHER; } if($In{deletecontent}) { DeleteContent; last CONTROLPANELSWITCHER; } if($In{updatedeletecontent}) { UpdateDeleteContent; last CONTROLPANELSWITCHER; } } # CONTROLPANELSWITCHER &DisplayControlPanel; } # sub ControlPanel Parse; Overview if $In{overview}; ExampleSSI if $In{examplessi}; ExamplePopup if $In{examplepopup}; ControlPanel if $In{admin}; Display;

    iPod New



    This page last updated Thu Feb. 9 2023
    Copyright © 1996, 2006 AudioWorld Online & Today.Net. All rights reserved.
    Comments, questions, corrections to webmaster@audioworld.com