/* ***********************************************************************

  UPDATE CUP TEAM NAME PROGRAM FOR FOOTBALL REXX SUITE
  ----------------------------------------------------
                   Copyright  Mark Naughton 1999


Version    Date     History
--------------------------------------------------------------------------

 1.0       050999   Created.

**************************************************************************

Procedure
---------

1. Check files exist.
2. Read datafiles in one at a time into an array.
3. Search array for occurrences of 'team_srch' and when found overwrite
   the old name with the new one.
4. If marker set, write data back to file.
5. Exit.

************************************************************************** */
PARSE ARG league_stuff

version      = 1
input_file   = '.cf'
input2_file  = '.scf'
input3_file  = '.scflearn'
input4_file  = '.cfh'
input5_file  = '.cfrw'
sdlines.     = '???'
separator    = '*'
file1        = 0
file2        = 0
file3        = 0
file4        = 0
file5        = 0

parse var league_stuff league_file "*" team_srch "*" team_repl
league_file = "Data/"strip(league_file)

if open(datafile,"Data/Football.locale",'r') then do
   line = readln(datafile)
   locdir = strip(line)
   close(datafile)
end
else do
   say
   say "ERROR :    (UpdateCupTeamName)"
   say
   say "Cannot read 'Data/Football.locale' for the locale settings."
   exit
end

locdir = locdir"Exec/UpdateCupTeamName.data"

if open(datafile,"ENV:FootballRXPath",'r') then do
   line = readln(datafile)
   rxdir = strip(line)
   close(datafile)
end
else
   rxdir = "SYS:Rexxc/"

if exists(locdir) > 0 then do
  address command rxdir'rx 'locdir
  VarCount = getclip('VarCount')
  do i = 1 to VarCount
    interpret getclip('var.'i)
  end
end
else do
   say
   say "ERROR :    (UpdateCupTeamName)"
   say
   say "Cannot find '"locdir"' to read locale settings."
   exit
end

team_srch = strip(team_srch)
team_repl = strip(team_repl)

if exists(league_file || input_file) = 0  then do
   say
   say uctn_error
   say
   say uctn_one"'"league_file||input_file"'."
   exit
end
if exists(league_file || input2_file) = 0 then do
   say
   say uctn_error
   say
   say uctn_one"'"league_file||input2_file"'."
   exit
end
                    /* New datafile will be supported soon */
/*
if exists(league_file || input3_file) = 0 then do
   say
   say uctn_error
   say
   say uctn_one"'"league_file||input3_file"'."
   exit
end
*/          /* Not everyone has a history.....*/
/*
if exists(league_file || input4_file) = 0 then do
   say
   say uctn_error
   say
   say uctn_one"'"league_file||input4_file"'."
   exit
end
*/
if exists(league_file || input5_file) = 0 then do
   say
   say uctn_error
   say
   say uctn_one"'"league_file||input5_file"'."
   exit
end


/* Read, Change and Write Back .cf file */

sdcount = 0
if open(datafile,league_file || input_file,'r') then do
   do while ~eof(datafile)
      line = readln(datafile)
      line = strip(line)
      sdcount         = sdcount + 1
      sdlines.sdcount = line
   end
   close(datafile)
end
else do
   say
   say uctn_error
   say
   say uctn_two"'"league_file||input_file"'"uctn_three
   exit
end

mkt = 0
do i=1 to sdcount
   if pos(separator,sdlines.i) = 0 then do
      if team_srch == strip(sdlines.i) then do
         sdlines.i = team_repl
         mkt = 1
         leave
      end
   end
end

if mkt = 1 then do
   if open(datafile3,league_file || input_file,'w') then do
      do j=1 to sdcount
         if sdlines.j~="" then writeln(datafile3,sdlines.j)
      end
      close(datafile3)
   end
   else do
      say
      say uctn_error
      say
      say uctn_two"'"league_file || input_file"'"uctn_four
      exit
   end
   file1 = 1
end

/* Read, Change and Write Back .scf file */

sdcount = 0
if open(datafile,league_file||input2_file,'r') then do
   do while ~eof(datafile)
      line = readln(datafile)
      line = strip(line)
      sdcount         = sdcount + 1
      sdlines.sdcount = line
   end
   close(datafile)
end
else do
   say
   say uctn_error
   say
   say uctn_two"'"league_file||input2_file"'"uctn_three
   exit
end


mkt = 0
do i=1 to sdcount
   if pos(separator,sdlines.i) = 0 then do
      if pos(team_srch,sdlines.i) > 0 then do
         t1 = strip(substr(sdlines.i,1,30))
         t2 = strip(substr(sdlines.i,41,30))
         if t1 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,1,30)
         if t2 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,41,30)
         mkt = 1
      end
   end
end

if mkt = 1 then do
   if open(datafile3,league_file || input2_file,'w') then do
      do j=1 to sdcount
         if sdlines.j~="" then writeln(datafile3,sdlines.j)
      end
      close(datafile3)
   end
   else do
      say
      say uctn_error
      say
      say uctn_two"'"league_file || input2_file"'"uctn_four
      exit
   end
   file2 = 1
end

/* Read, Change and Write Back .scflearn file */

if exists(league_file || input3_file) > 0  then do
   sdcount = 0
   if open(datafile,league_file||input3_file,'r') then do
      do while ~eof(datafile)
         line = readln(datafile)
         line = strip(line)
         sdcount         = sdcount + 1
         sdlines.sdcount = line
      end
      close(datafile)
   end
   else do
      say
      say uctn_error
      say
      say uctn_two"'"league_file||input3_file"'"uctn_three
      exit
   end

   mkt = 0
   do i=1 to sdcount
      if pos(separator,sdlines.i) = 0 then do
         if pos(team_srch,sdlines.i) > 0 then do
            t1 = strip(substr(sdlines.i,1,30))
            t2 = strip(substr(sdlines.i,41,30))
            if t1 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,1,30)
            if t2 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,41,30)
            mkt = 1
         end
      end
   end

   if mkt = 1 then do
      if open(datafile3,league_file || input3_file,'w') then do
         do j=1 to sdcount
            if sdlines.j~="" then writeln(datafile3,sdlines.j)
         end
         close(datafile3)
      end
      else do
         say
         say uctn_error
         say
         say uctn_two"'"league_file || input3_file"'"uctn_four
         exit
      end
      file3 = 1
   end
end

/* Read, Change and Write Back .cfh file */

if exists(league_file || input4_file) > 0  then do
   sdcount = 0
   if open(datafile,league_file||input4_file,'r') then do
      do while ~eof(datafile)
         line = readln(datafile)
         line = strip(line)
         sdcount         = sdcount + 1
         sdlines.sdcount = line
      end
      close(datafile)
   end
   else do
      say
      say uctn_error
      say
      say uctn_two"'"league_file||input4_file"'"uctn_five
      exit
   end

   mkt = 0
   do i=1 to sdcount
      if pos(team_srch,sdlines.i) > 0 then do
         mk = pos(team_srch,sdlines.i)
         if substr(sdlines.i,mk) == team_srch then do
            sdlines.i = delstr(sdlines.i,mk)""team_repl
            mkt = 1
         end
      end
   end

   if mkt = 1 then do
      if open(datafile3,league_file || input4_file,'w') then do
         do j=1 to sdcount
            if sdlines.j~="" then writeln(datafile3,sdlines.j)
         end
         close(datafile3)
      end
      else do
         say
         say uctn_error
         say
         say uctn_two"'"league_file || input4_file"'"uctn_four
         exit
      end
      file4 = 1
   end
end

/* Read, Change and Write Back .cfrw file */

sdcount = 0
if open(datafile,league_file||input5_file,'r') then do
   do while ~eof(datafile)
      line = readln(datafile)
      line = strip(line)
      sdcount         = sdcount + 1
      sdlines.sdcount = line
   end
   close(datafile)
end
else do
   say
   say uctn_error
   say
   say uctn_two"'"league_file||input5_file"'"uctn_five
   exit
end

mkt = 0
do i=1 to sdcount
   if pos(team_srch,sdlines.i) > 0 then do
      mk = pos(team_srch,sdlines.i)
      if substr(sdlines.i,mk) == team_srch then do
         sdlines.i = delstr(sdlines.i,mk)""team_repl
         mkt = 1
         leave
      end
   end
end

if mkt = 1 then do
   if open(datafile3,league_file || input5_file,'w') then do
      do j=1 to sdcount
         if sdlines.j~="" then writeln(datafile3,sdlines.j)
      end
      close(datafile3)
   end
   else do
      say
      say uctn_error
      say
      say uctn_two"'"league_file || input4_file"'"uctn_four
      exit
   end
   file5 = 1
end

say
say center(uctn_t1,78)
say "-----------------------------------------------------------------------------------------"
say
say uctn_t2" '"team_srch"' "uctn_t3" '"team_repl"'."
say
say uctn_t4
say
if file1 = 1 then say "     '"league_file||input_file"'"
if file2 = 1 then say "     '"league_file||input2_file"'"
if file3 = 1 then say "     '"league_file||input3_file"'"
if file4 = 1 then say "     '"league_file||input4_file"'"
if file5 = 1 then say "     '"league_file||input5_file"'"
say

exit