if ($mode == "free")
{
if (db_count($news01,"1","2") >= $satz)
{
$op=fopen($news01, "r+"); // Datei öffnen zum schreiben
if ($op != 0) // Datei offen
{
db_wrf($op, $satz, "aktiv", "t"); // Werte im Array
fclose($op);
echo "Datensatz ".$satz." wurde aktiviert. weitere News-Objekte aktivieren ";
}
}
else
{
echo "zu wenig Datensätze ";
}
}
if ($mode == "choose")
{
$x1=array("2","t","","","",$dbnews1[7][1],3,$dbnews1[7][4],$dbnews1[8][1],12,$dbnews1[8][4],$dbnews1[15][1],4,Seite,$dbnews1[37][1],4,Block,$dbnews1[16][1],4,Zeile,$dbnews1[17][1],4,Spalte,$dbnews1[11][1],4,$dbnews1[11][4],$dbnews1[13][1],4,$dbnews1[13][4],$dbnews1[21][1],7,$dbnews1[21][4],$dbnews1[31][1],5,Freigabe);
$x1[2]="aktiv;!=;t;"; // Filterliste
$x1[3]="dummy1;aktivieren...;inside.php?menu=6&mode=free;&satz;"; // Linkfelderliste
/* Bedingte Filterliste definieren Beginn */
if ($sn[0] > 0)
{
if ($sn[1] > 0) // Seite selektieren
{
$do="j";
if ($sn[4] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."seite;>=;$sn[2];seite;<=;$sn[3];"; // Seite von - bis
}
}
if ($sn[7] > 0) // Block selektieren
{
$do="j";
if ($sn[10] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."block;>=;$sn[8];block;<=;$sn[9];"; // Block von - bis
}
}
if ($sn[13] > 0) // Zeile selektieren
{
$do="j";
if ($sn[16] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."zeile;>=;$sn[14];zeile;<=;$sn[15];"; // Zeile von - bis
}
}
if ($sn[19] > 0) // Spalte selektieren
{
$do="j";
if ($sn[22] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."spalte;>=;$sn[20];spalte;<=;$sn[21]"; // Spalte von - bis
}
}
}
/* Bedingte Filterliste definieren Ende */
db_view($news01, 0, 0, $x1);
}
?>
endif ?>
if ($menu == "7"): ?>
if ($mode == "block")
{
if (db_count($news01,"2","1") >= $satz)
{
$op=fopen($news01, "r+"); // Datei öffnen zum schreiben
if ($op != 0) // Datei offen
{
db_wrf($op, $satz, "aktiv", "f"); // Werte im Array
fclose($op);
echo "Datensatz ".$satz." wurde deaktiviert. weitere News-Objekte deaktivieren ";
}
}
else
{
echo "zu wenig Datensätze ";
}
}
if ($mode == "choose")
{
$x1=array("2","t","","","",$dbnews1[7][1],3,$dbnews1[7][4],$dbnews1[8][1],12,$dbnews1[8][4],$dbnews1[15][1],4,Seite,$dbnews1[37][1],4,Block,$dbnews1[16][1],4,Zeile,$dbnews1[17][1],4,Spalte,$dbnews1[11][1],4,$dbnews1[11][4],$dbnews1[13][1],4,$dbnews1[13][4],$dbnews1[21][1],7,$dbnews1[21][4],$dbnews1[31][1],5,Freigabe);
$x1[2]="aktiv;==;t;"; // Filterliste
$x1[3]="dummy1;deaktivieren...;inside.php?menu=7&mode=block;&satz;"; // Linkfelderliste
/* Bedingte Filterliste definieren Beginn */
if ($sn[0] > 0)
{
if ($sn[1] > 0) // Seite selektieren
{
$do="j";
if ($sn[4] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."seite;>=;$sn[2];seite;<=;$sn[3];"; // Seite von - bis
}
}
if ($sn[7] > 0) // Block selektieren
{
$do="j";
if ($sn[10] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."block;>=;$sn[8];block;<=;$sn[9];"; // Block von - bis
}
}
if ($sn[13] > 0) // Zeile selektieren
{
$do="j";
if ($sn[16] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."zeile;>=;$sn[14];zeile;<=;$sn[15];"; // Zeile von - bis
}
}
if ($sn[19] > 0) // Spalte selektieren
{
$do="j";
if ($sn[22] == "view ") // nur bei EDIT und BEIDE
{
$do="n";
}
if ($do == "j")
{
$x1[2]=$x1[2]."spalte;>=;$sn[20];spalte;<=;$sn[21]"; // Spalte von - bis
}
}
}
/* Bedingte Filterliste definieren Ende */
db_view($news01, 0, 0, $x1);
}
?>
endif ?>
if ($menu == "8"): ?>
if ($mode == "delete")
{
// echo "hier kommt Löschfunktion ";
if (db_count($news01,"2","2") >= $satz)
{
// anhängendes Bild löschen Beginn
$bz="../".$dbnews1o[D0][3]; // Pfad der Zeildatei
$op=fopen($news01, "r+"); // Datei öffnen zum schreiben
if ($op != 0) // Datei offen
{
$u1=db_rdf($op, $satz, "seite");
$u2=db_rdf($op, $satz, "block");
$u3=db_rdf($op, $satz, "zeile");
$u4=db_rdf($op, $satz, "spalte");
fclose($op);
$u1=strval($u1); $u1=substr("000",0,3-strlen($u1)).$u1;
$u2=strval($u2); $u2=substr("00",0,2-strlen($u2)).$u2;
$u3=strval($u3); $u3=substr("000",0,3-strlen($u3)).$u3;
$u4=strval($u4); $u4=substr("00",0,2-strlen($u4)).$u4;
$up1=$bz.$u1.$u2.$u3.$u4."."; // kompletter Pfad und Dateiname ohne Endung
echo "suche zugehörige Datei ".$up1."gif";
if (@unlink($up1."gif"))
{
echo ": wurde gelöscht ";
}
else
{
echo ": nicht gefunden ";
}
echo "suche zugehörige Datei ".$up1."jpg";
if (@unlink($up1."jpg"))
{
echo ": wurde gelöscht ";
}
else
{
echo ": nicht gefunden ";
}
}
// anhängendes Bild löschen Ende
db_del($news01, $satz, 1, "f"); // Werte im Array
$op=fopen($runtime01, "r+"); // Runtime eintragen
if ($op != 0)
{
db_wrf($op, 5, "option", "nein");
fclose($op);
}
$op3=fopen($newsx01, "r+"); // Index sperren
if ($op3 != 0)
{
$ix6=db_wrf($op3, 1, "sb", 0); // Index sperren
fclose($op3); // Index schließen
}
echo "Datensatz ".$satz." wurde gelöscht. weitere News-Objekte löschen ";
}
else
{
echo "zu wenig Datensätze ";
}
}
if ($mode == "choose")
{
$x1=array("2","t","","","",$dbnews1[7][1],3,$dbnews1[7][4],$dbnews1[8][1],12,$dbnews1[8][4],$dbnews1[15][1],4,Seite,$dbnews1[37][1],4,Block,$dbnews1[16][1],4,Zeile,$dbnews1[17][1],4,Spalte,$dbnews1[11][1],4,$dbnews1[11][4],$dbnews1[13][1],4,$dbnews1[13][4],$dbnews1[21][1],7,$dbnews1[21][4],$dbnews1[31][1],5,löschen);
$x1[2]=""; // Filterliste
$x1[3]="dummy1;lösche...;inside.php?menu=8&mode=delete;&satz;"; // Linkfelderliste
echo $farbe[rot]."ACHTUNG!!! Wiederherstellen gelöschter Objekte ist nicht möglich !!! ".$farbe[aus];
db_view($news01, 0, 0, $x1);
}
?>
endif ?>
if ($menu == "9"): ?>
echo "Newsdatenbank optimieren ".$submenu.": ";
if ($submenu == 0)
{
echo "Optimierung starten ";
echo "Abbruch... ";
}
if ($submenu == 1)
{
$ok="t";
$satz=db_count($news01, "", ""); // Sätze zählen
$file=$news01.".sor"; // Backup-Datei
if (copy($news01, $file)) // jetzt Sicherheitskopie erstellen
{
echo "Sicherheitskopie wurde erstellt ";
$i1=db_arst(db_news1, "", ""); // Struktur lesen
$i2=db_mk($news01, $i1, ""); // Datei anlegen
if ($i2 == "ok")
{
echo "Datenbank wurde neu angelegt ".$i2." ";
$i2=db_add($news01, $satz, "");
if ($i2 == "ok")
{
echo $satz." Datensätze wurden angefügt ";
/* echo "jetzt Datensätze übernehmen "; */
/* Anfügefunktion eingefügt BEGINN ********************************************************** */
/* if ($submenu == 2)
{
*/
$ok="t";
$op=fopen($file, "r"); // Alte Datenbank
if ($op != 0)
{
$op1=fopen($news01, "r+"); // neue Datenbank
if ($op1 != 0)
{
$i3=array();
$i3=db_rdst($op, "", "f"); // alten Headerstring lesen
$i4=count($i3);
echo $i4." Arrayelemente in der Strukturtabelle ";
$erf=0; // erfolgreich
$nerf=0; // fehlerhaft
/* ********* array sortierung begin *** */
$as=array();
$as3=array();
for ($i7=1; $i7<=$satz; $i7++) // jeden Datensatz bewerten
{
$as[$i7][1]=0; // wird neue Reihenfolge
$as[$i7][2]=$i7; // ist alte Reihenfolge
$as2=trim(strval(db_rdf($op, $i7, "seite")));
$as1=substr("000",0,3-strlen($as2)).$as2;
$as2=trim(strval(db_rdf($op, $i7, "block")));
$as1=$as1.substr("00",0,2-strlen($as2)).$as2;
$as2=trim(strval(db_rdf($op, $i7, "zeile")));
$as1=$as1.substr("000",0,3-strlen($as2)).$as2;
$as2=trim(strval(db_rdf($op, $i7, "spalte")));
$as1=$as1.substr("00",0,2-strlen($as2)).$as2;
$as[$i7][3]=doubleval($as1); // Sortierzahl
$as3[$i7]=doubleval($as1);
/* echo $as3[$i7]." -> "; */
}
sort($as3);
/* echo "
"; */
for ($i7=1; $i7<=$satz; $i7++) // jetzt eintragen
{
/* echo $as3[$i7-1]." -> "; */
$as1=$as3[$i7-1]; // vom kleinsten zum größten Wert
for ($as2=1; $as2<=$satz; $as2++) // jetzt suchen
{
if ($as1 == $as[$as2][3]) // gefunden
{
if ($as[$as2][1] == 0) // noch leer
{
$as[$as2][1]=$i7; // Zielwert
$as2=$satz+1; // und Abbruch
}
}
}
}
/* echo " "; */
/*
for ($i7=1; $i7<=$satz; $i7++) // sortiertes Array anzeigen
{
echo $i7." - ".$as[$i7][1]." - ".$as[$i7][2]." - ".$as[$i7][3]." - ".$as3[$i7-1]." ";
}
*/
/* ************* array sortierung end ************** */
for ($i7=1; $i7<=$satz; $i7++) // jeden Datensatz kopieren
{
$aq=$as[$i7][2]; // Quellsatz
$az=$as[$i7][1]; // Zielsatz
for ($i6=7; $i6<$i4; $i6++) // jedes Feld kopieren
{
$z1=$i3[$i6][fld]; // Feldname
$z2=db_rdf($op, $aq, $z1); // lesen
$z3=db_wrf($op1, $az, $z1, $z2); // schreiben
if ($z3 == "ok")
{
$erf++;
}
else
{
$nerf++;
}
}
}
$xmin=db_rdf($op1,1,"seite");
$xmax=db_rdf($op1,$satz,"seite");
/* Indexdatei generieren beginn */
$v2=db_arst(db_newsx1, "", ""); // Struktur holen
if (strlen($v2) > 0)
{
echo " Indexdatei wird erstellt : ";
echo db_mk($newsx01, $v2, "")." ";
echo db_add($newsx01, $satz+1, "")." "; // pro forma Sätze anhängen
$op3=fopen($newsx01, "r+"); // Indexdatei
if ($op3 != 0)
{
$ix1=0; // alter Indexwert seite*100 + block
$ix2=0; // neuer Indexwert seite*100 + block
$ix3=0; // alte Satznummer
$ix4=0; // neue Satznummer
$ix5=1; // Anzahl Indexdatensätze
for ($i7=1; $i7<=$satz; $i7++) // jeden Datensatz prüfen Tablack
{
$ix2=(db_rdf($op1,$i7,"seite")*100)+(db_rdf($op1,$i7,"block"));
$ix4=$i7;
/* echo $ix4." --- > ".$ix2." "; */
if ($ix2 != $ix1) // neuer Indexwert
{
if ($ix5 > 1) // alten Wert schließen
{
$ix6=db_wrf($op3, $ix5, "bis", $ix3); // schreiben
}
$ix5++;
$ix6=db_wrf($op3, $ix5, "sb", $ix2); // schreiben
$ix6=db_wrf($op3, $ix5, "von", $i7); // schreiben
$ix1=$ix2; // Indexwert merken
}
$ix3=$i7;
}
$ix6=db_wrf($op3, $ix5, "bis", $ix3); // letzten Wert schließen
$ix5--;
$ix6=db_wrf($op3, 1, "sb", $ix5); // Anzahl eintragen
echo $ix5." Indexe geschrieben ";
fclose($op3); // Index schließen
}
}
else
{
echo "Fehler beim Anlegen der Indexdatei ";
}
/* Indexdatei generieren end ****/
fclose($op1);
echo "es wurden ".$satz." Sätze übertragen, Felder: ".$erf." erfolgreich und ".$nerf." fehlerhaft ";
}
else
{
$ok="f";
}
fclose($op);
}
else
{
$ok="f";
}
if ($ok == "t")
{
echo $farbe[gruen]."Optimierung wurde erfolgreich durchgeführt ".$farbe[aus];
/* Hier Runtime Satz 5 schreiben BEGINN */
/* echo " hier wird RUNTIME geschrieben "; */
$op=fopen($runtime01, "r+"); // Runtime eintragen
if ($op != 0)
{
db_wrf($op, 5, "name", "Optimierungsstatus:");
db_wrf($op, 5, "inhalt", zeit_19());
db_wrf($op, 5, "wert1", $xmin);
db_wrf($op, 5, "wert2", $xmax);
db_wrf($op, 5, "option", "ja");
fclose($op);
echo "Optimierungsstatus wurde gesichert ";
}
else
{
echo "Optimierungsstatus wurde nicht gesichert ";
}
/* Hier Runtime Satz 5 schreiben ENDE */
}
else
{
echo $farbe[rot]."Optimierung ist fehlgeschlagen ".$farbe[aus];
$op=fopen($runtime01, "r+"); // Runtime eintragen
if ($op != 0)
{
db_wrf($op, 5, "option", "nein");
fclose($op);
}
$op3=fopen($newsx01, "r+"); // Index sperren
if ($op3 != 0)
{
$ix6=db_wrf($op3, 1, "sb", 0); // Index sperren
fclose($op3); // Index schließen
}
}
}
/* Anfügefunktion eingefügt ENDE ********************************************************** */
}
else
{
$ok = "f";
}
}
else
{
$ok="f";
}
}
else
{
$ok="f";
}
/*
}
*/
?>
endif ?>
if ($menu == "14"): ?>
echo "Newsdatenbank Strukturupdate, Schritt ".$submenu.": ";
if ($submenu == 0)
{
echo "Vorgang starten ";
echo "Abbruch... ";
}
if ($submenu == 1)
{
$ok="t";
$satz=db_count($news01, "", ""); // Sätze zählen
$file=$news01.".bak"; // Backup-Datei
if (copy($news01, $file)) // jetzt Sicherheitskopie erstellen
{
echo "Sicherheitskopie wurde erstellt ";
$i1=db_arst(db_news1, "", ""); // Struktur lesen
$i2=db_mk($news01, $i1, ""); // Datei anlegen
if ($i2 == "ok")
{
echo "Datenbank wurde neu angelegt ".$i2." ";
$i2=db_add($news01, $satz, "");
if ($i2 == "ok")
{
echo $satz." Datensätze wurden angfügt ";
echo "jetzt Datensätze übernehmen ";
}
else
{
$ok = "f";
}
}
else
{
$ok="f";
}
}
else
{
$ok="f";
}
}
if ($submenu == 2)
{
$ok="t";
$op=fopen($file, "r"); // Alte Datenbank
if ($op != 0)
{
$op1=fopen($news01, "r+"); // neue Datenbank
if ($op1 != 0)
{
$i3=array();
$i3=db_rdst($op, "", "f"); // alten Headerstring lesen
$i4=count($i3);
echo $i4." Arrayelemente in der Strukturtabelle ";
$erf=0; // erfolgreich
$nerf=0; // fehlerhaft
for ($i7=1; $i7<=$satz; $i7++) // jeden Datensatz kopieren
{
for ($i6=7; $i6<$i4; $i6++) // jedes Feld kopieren
{
$z1=$i3[$i6][fld]; // Feldname
$z2=db_rdf($op, $i7, $z1); // lesen
$z3=db_wrf($op1, $i7, $z1, $z2); // schreiben
if ($z3 == "ok")
{
$erf++;
}
else
{
$nerf++;
}
}
}
fclose($op1);
echo "es wurden ".$satz." Sätze übertragen, Felder: ".$erf." erfolgreich und ".$nerf." fehlerhaft ";
}
else
{
$ok="f";
}
fclose($op);
}
else
{
$ok="f";
}
if ($ok == "t")
{
echo $farbe[gruen]."Strukturupdate wurde erfolgreich durchgeführt ".$farbe[aus];
}
else
{
echo $farbe[rot]."Strukturupdate ist fehlgeschlagen ".$farbe[aus];
}
}
?>
endif ?>
if ($menu == "15"): ?>
Mit dieser Funktion kann man die zur Bearbeitung angebotenen Datensätze einschränken.
Es sind die Filter Seite, Block, Zeile und Spalte (jeweils von /
bis) möglich. Die Filter wirken auf die Funktionen ändern, aktivieren und
deaktivieren jeweils bis sie durch das Setzen neuer Parameter verändert
werden.