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.

240 lines
7.7 KiB
PHP

<?php
//$Datumfile,$_POST['key'],array('<!--'.$_POST['key'].'-->')
function replacefile($u_file,$u_such,$u_neu){
$newarray = array();
errorlog('Starte Generierung');
errorlog('Schreibe File '.$u_file);
if ($lfile = fopen($u_file, 'r')){
while (!feof ($lfile)){
$line = trim(fgets ($lfile, 4096));
if (strpos($line,$u_such.'=') === false && $line != ''){
array_push($newarray, $line);
}
}
fclose($lfile);
}else{
errorlog('**** Lesen File '.$u_file.' ist fehlgeschlagen - File wird neu erstellt ****');
}
array_push($newarray,'<!--'.$u_such.'='.$u_neu.'-->');
if ($lfile = fopen($u_file, 'w')){
fwrite($lfile,implode("\n",$newarray));
// fwrite($lfile,implode("\n",scramble($newarray)));
fclose($lfile);
errorlog('Schreibe File '.$u_file.' erfolgreich');
}else{
errorlog('**** Schreibe File '.$u_file.' ist fehlgeschlagen ****');
}
}
function Print_Html($u_lhtml,$u_sys_admin,$u_all_lkey,$u_GENERIERUNG,$u_include_files,$u_anker_seite){
return(PrintHtml( $u_lhtml, // File to Generate
$u_sys_admin, // Adminbit
$_POST['imgverz'], // Source Verzeichniss
$_POST['imgdefault'], // Defaultimg
$_POST['imgbtn'], // Default buttinimg
$_POST['imgerrbtn'], // Default buttinimg error
$_POST['rtfverz'], // Source Verezichnis rtf
$_POST['rtfbtn'], // Default buttinrtf
$_POST['rtferrbtn'], // Default buttinrtf error
$_POST['xmlverz'], // Source Verezichnis xml
$_POST['xmlbtn'], // Default buttinrtf
$_POST['xmlerrbtn'], // Default buttinrtf error
$u_all_lkey, // Seitenkey
$u_GENERIERUNG, // Anzahl Überschriften zum Überprüfen
$_POST['inclverz'], // Basisverezichnis für includes
$u_include_files, // Includes einbinden true,false
'-'.$u_anker_seite // Eindeutiger Zeilenanker
));
}
global $act_nr;
global $act_tag;
global $act_htmltag;
global $act_endtag;
global $zeile_nr;
errorlog('Starte Verarbeitung - generate.php');
errorlog('include xml.php');
include "xml.php";
errorlog('include PrintHtml.php');
include "PrintHtml.php";
errorlog('include rtfparser.php');
include "rtf/rtfparser.php";
errorlog('lese Globals');
getXmlfile('inits/globals.xml',array('Globals'));
errorlog('xml gelesen');
/** alle includes generieren ohne einfügen der includes **/
errorlog(' ');
errorlog(' ');
errorlog('generiere includes');
$incl_src = substr($_POST['inclverz'],0,strlen($_POST['inclverz'])-1).'.src/';
$incl_verz = $_POST['inclverz'];
errorlog('von Verzeichnis:'.$incl_src);
errorlog('nach Verzeichnis:'.$incl_verz);
errorlog('Achtung Generierung der Includes momentan noch im Test');
$ank_nr = 0; // Wird einmal pro genereierung hochgezeählt, um eindeutigen Zeilenaker zu bekommen
if ($fudir = opendir($incl_src))
{
while (false !== ($incl_file = readdir($fudir))){
if (substr($incl_file,0,1) != '.'){
$lhtml = $incl_src.$incl_file;
errorlog('Bearbeite: '.$lhtml);
$html_file = Print_Html($lhtml, // File to Generate
$sys_admin, // Adminbit
'', // Seitenkey frü Überschriften und Menue
$GENERIERUNG['anz_tagh'][0], // Anzahl Überschriften zum Überprüfen
false, // Includes einbinden / Remotefiles nicht auflösen
$ank_nr++ // Eindeutiger Zeilenaker
);
$xhtml = $incl_verz.$incl_file;
if ($html_file != ''){
errorlog('Schreibe Include');
if ($lfile = fopen($xhtml, 'w')){
fwrite($lfile,$html_file);
fclose($lfile);
errorlog('Schreibe Include erfolgreich');
}else{
errorlog('**** Schreibe Include fehlgeschlagen ****');
}
errorlog('Generierung Includefile abgeschlossen:'.$lhtml);
}else{
errorlog('Generierung fehlgeschlagen, loesche:'.$xhtml);
if (file_exists($xhtml) && !is_dir($xhtml)){
unlink($xhtml);
}
}
}
}
closedir($fudir);
}
errorlog('generiere includes abgeschlossen');
errorlog('.');
errorlog('.');
errorlog('.');
errorlog('.');
$all_lhtml = explode(':',$_POST['htmlfile']);
$all_linfo = explode(':',$_POST['infofile']);
$all_lkey = explode(':',$_POST['key']);
errorlog('Anzahl Seiten Generierungen:'.count($all_lhtml));
for ($xxi=0;$xxi<count($all_lhtml);$xxi++){
$shtmlverz = substr($_POST['htmlverz'],0,strlen($_POST['htmlverz'])-1).'.src/';
$sinfoverz = substr($_POST['infoverz'],0,strlen($_POST['infoverz'])-1).'.src/';
$lhtml = $shtmlverz.$all_lhtml[$xxi].'.html';
$linfo = $sinfoverz.$all_linfo[$xxi].'.html';
errorlog(' ');
errorlog(' ');
errorlog(' ');
errorlog('----------------------------------------------------------------------------------------');
errorlog('Generiere Nr....:'.$xxi);
errorlog('Generiere.(Key).:'.$all_lkey[$xxi]);
errorlog('Generiere.(Html):'.$lhtml);
errorlog('Generiere.(Info):'.$linfo);
errorlog('----------------------------------------------------------------------------------------');
errorlog('Adminbit:'.$_POST['admin']);
if ($_POST['admin'] == 'true'){
$sys_admin = true;
$exporthtml = $_POST['htmlverz'];
$exportinfo = $_POST['infoverz'];
}else{
$sys_admin = false;
$exporthtml = substr($_POST['htmlverz'],0,strlen($_POST['htmlverz'])-1).'.export/';
$exportinfo = substr($_POST['infoverz'],0,strlen($_POST['infoverz'])-1).'.export/';
}
$xhtml = $exporthtml.$all_lhtml[$xxi].'.html';
$xinfo = $exportinfo.$all_linfo[$xxi].'.html';
$rtf = $_POST['rtfverz'];
$xml = $_POST['xmlverz'];
errorlog('Source Html:'.$lhtml);
errorlog('Source Info:'.$linfo);
errorlog('Source Rtf:'.$rtf);
errorlog('Source Xml:'.$xml);
errorlog('Generiertes Html:'.$xhtml);
// errorlog('Ruecksprung:'.$_POST['refresh']);
errorlog('Anzahl Tag H:'.$GENERIERUNG['anz_tagh'][0]); // Anzahl Überschriften zum Überprüfen
errorlog('Key:'.$all_lkey[$xxi]);
errorlog('Img Verzeichnis:'.$_POST['imgverz']);
// Generierung
errorlog('Starte Generierung');
errorlog('Mit Adminbit:'.$sys_admin);
errorlog('lese Anker');
// Achtung Anker wird nur eingehängt, wenn aes auch ein Tag <!menue> gibt !!!!!
$anker = Get_Anker($lhtml,$GENERIERUNG['anz_tagh'][0]);
errorlog('Folgene Anker wurden generiert:');
for ($i=0;$i<count($anker['menuetextk']);$i++){
errorlog('$anker["menuetextk"]['.$i.']:'.$anker['menuetextk'][$i]);
errorlog('$anker["menuetextl"]['.$i.']:'.$anker['menuetextl'][$i]);
errorlog('$anker["menuelink"]['.$i.']:' .$anker['menuelink'][$i]);
}
errorlog('Generiere Hmtl');
$html_file = Print_Html($lhtml, // File to Generate
$sys_admin, // Adminbit
$all_lkey[$xxi], // Seitenkey
$GENERIERUNG['anz_tagh'][0], // Anzahl Überschriften zum Überprüfen
true, // Includes einbinden / Remotefiles jetzt auflösen
$ank_nr++ // Eindeutiger Zeilenaker
);
if ($html_file != ''){
errorlog('Schreibe Hmtl');
if ($lfile = fopen($xhtml, 'w')){
fwrite($lfile,$html_file);
fclose($lfile);
errorlog('Schreibe Hmtl erfolgreich');
}else{
errorlog('**** Schreibe Hmtl fehlgeschlagen ****');
}
replacefile($exporthtml.'__datum.html',$all_lkey[$xxi],date('Y.m.d'));
$ankerstr = '';
for ($i=0;$i<count($anker['menuetextk']);$i++){
$ankerstr .= $anker['menuetextk'][$i].','.$anker['menuelink'][$i].':';
}
replacefile($exporthtml.'__anker.html',$all_lkey[$xxi],$ankerstr);
// replacefile($exporthtml.'__such.html',$_POST['key'],implode(';',$anker['menuetextl']));
errorlog('Generierung abgeschlossen:'.$lhtml);
}else{
errorlog('Generierung fehlgeschlagen, loesche:'.$xhtml);
if (file_exists($xhtml) && !is_dir($xhtml)){
unlink($xhtml);
}
}
}
errorlog('Generierung beendet');
errorlog('ende');
// Inhalt auch zurückgeben
echo $html_file;
?>