You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
3.5 KiB
PHP

<?php
function tag_replace($u_tagsuch,$u_fileorig,$u_fileneu,$u_tagorig,$u_tagneu){
$zeile_nr = 0;
$buffer = array();
if ($lfile = fopen($_GET['htmlfile'], 'r')){
while (!feof ($lfile)){
$zeile_nr++;
$buffer[$zeile_nr] = trim(fgets ($lfile, 4096));
if ($zeile_nr == $_GET['zeile']){
errorlog('Zeile gefunden: '.$buffer[$zeile_nr]);
$zbuffer = strpos($buffer[$zeile_nr],$u_tagsuch);
errorlog('erstes Tag: '.substr($buffer[$zeile_nr],$zbuffer));
for ($i=0;$i<$_GET['tagnr'];$i++){
$zbuffer = strpos($buffer[$zeile_nr],$u_tagsuch,$zbuffer+1);
}
$zbuffer -= 2;
errorlog('bin dort: '.substr($buffer[$zeile_nr],$zbuffer));
$buffer1 = substr($buffer[$zeile_nr],0,$zbuffer);
$buffer2 = substr($buffer[$zeile_nr],$zbuffer,strpos($buffer[$zeile_nr],'>',$zbuffer)-$zbuffer+1);
$buffer3 = substr($buffer[$zeile_nr],strpos($buffer[$zeile_nr],'>',$zbuffer)+1);
errorlog('alte Zeile: '.$buffer[$zeile_nr]);
errorlog('Teil1: '.$buffer1);
errorlog('Teil2: '.$buffer2);
errorlog('Teil3: '.$buffer3);
if ($u_tagorig != ''){
if ($u_tagorig != $u_tagneu){
$tagorig = '<!'.$u_tagorig.'=';
$tagneu = '<!'.$u_tagneu.'=';
$buffer2 = str_replace($tagorig,$tagneu,$buffer2);
}
}
if ($u_fileorig == ''){
$u_fileorig = '=';
$u_fileneu = '='.$u_fileneu;
}
errorlog('Replace File orig :'.$u_fileorig);
errorlog('Replace File neu :'.$u_fileneu);
$buffer2 = str_replace($u_fileorig,$u_fileneu,$buffer2);
$buffer[$zeile_nr] = $buffer1.$buffer2.$buffer3;
errorlog('Teil2 neu: '.$buffer2);
errorlog('neue Zeile: '.$buffer[$zeile_nr]);
}
}
fclose($lfile);
}else{
errorlog('Finde das file nicht: '.$_GET['htmlfile']);
}
return $buffer;
}
errorlog('Starte Verarbeitung - replace.php');
// '&htmlfile='+IMG_File_to_Edit+
// '&imgfileneu='+IMG_File_Name[u_i]+
// '&imgfileorig='+IMG_Originales_Imgfile+
// '&tagsuch=img'+
// '&tagneu='+IMG_Aktives_Tag+
// '&tagorig='+IMG_Origniales_Tag+
// '&zeile='+IMG_Zeile+
// '&tagnr='+IMG_Tagnr;
// Das Tagsuch wird ben<65>tigt, da z.B.: img und img0-img9 existiert, das Grundtag aber img heisst
errorlog('Eingabeparameter:');
errorlog('htmlfile...: '.$_GET['htmlfile']);
errorlog('tagsuch....: '.$_GET['tagsuch']);
errorlog('zeile......: '.$_GET['zeile']);
errorlog('tagnr......: '.$_GET['tagnr']);
switch($_GET['tagsuch']){
case 'img':
errorlog('imgfileneu.: '.$_GET['imgfileneu']);
errorlog('imgfileorig: '.$_GET['imgfileorig']);
errorlog('tagorig....: '.$_GET['tagorig']);
errorlog('tagneu.....: '.$_GET['tagneu']);
$buffer = tag_replace($_GET['tagsuch'],$_GET['imgfileorig'],$_GET['imgfileneu'],$_GET['tagorig'],$_GET['tagneu']);
break;
case 'rtf':
errorlog('rtffileneu.: '.$_GET['rtffileneu']);
errorlog('rtffileorig: '.$_GET['rtffileorig']);
$buffer = tag_replace($_GET['tagsuch'],$_GET['rtffileorig'],$_GET['rtffileneu'],'','');
break;
case 'xml':
errorlog('xmlfileneu.: '.$_GET['xmlfileneu']);
errorlog('xmlfileorig: '.$_GET['xmlfileorig']);
$buffer = tag_replace($_GET['tagsuch'],$_GET['xmlfileorig'],$_GET['xmlfileneu'],'','');
break;
default:
errorlog('****');
errorlog('**** Unbekannter Typ ***'.$_GET['typ']);
errorlog('****');
return;
}
errorlog('Schreibe File: '.$_GET['htmlfile']);
if ($lfile = fopen($_GET['htmlfile'], 'w')){
fwrite($lfile,implode("\n",$buffer));
fclose($lfile);
}else{
errorlog('Offenen zm Schreiben funtkionierte nicht: '.$_GET['htmlfile']);
}
errorlog('Beende Verarbeitung - replace.php');
?>