Mehrere Anpassung für PHP 8
-
Hallo, erstmal vorne weg. Ich kann leider kein englisch. Vielleicht kann jemand meinen Tweet für diejenigen die kein deutsch k?nnen, auf englisch übersetzen. Nun meine Anpassungen zum fantastischen Plugin was auch unter PHP 8.0.3 funktioniert und auch mit WordPress 5.7 klarkommt. Vorraussetzung ist die angepasste Version von "@nickga" von der Seite "https://github.com/nickg/nextcellent". Mit dieser Version sind auch die "create funktion"-Probleme behoben. @rlucian hatte vor einem Jahr das Problem mit der Auswahl der Galerien bei der Erstellungen eines Post berichtet. Ich habe wie folgt das Problem gel?st... Dazu die "window.php"-Datei unter admin/tinymce ?ffnen und nach der Zeile (Zeile 137/138 in der Original-Datei)
<select id=”gallerytag” name=”gallerytag” style=”width: 200px”>
<option value=”0″ selected=”selected”><?php _e(“Select or search for a gallery”, ‘nggallery’); ?></option>folgendes einfügen...
<?php
$gallery_list = $nggdb->find_all_galleries(‘gid’, ‘DESC’);
if(is_array($gallery_list)) {
foreach($gallery_list as $gallery) {
echo ‘<option value=”‘.$gallery->gid.'”>’.$gallery->gid.’ – ‘.$gallery->title.'</option>’.”\n”;
}
}
?>Weiter geht es mit der Albumauswahl... nach der Zeile (Zeile 238/239 in der Original-Datei)
<select id=”albumtag” name=”albumtag” style=”width: 200px”>
<option value=”0″ selected=”selected”><?php _e(“Select or enter album”, ‘nggallery’); ?></option>folgendes einfügen...
<?php
$album_list = $nggdb->find_all_album(‘id’, ‘DESC’);
if(is_array($album_list)) {
foreach($album_list as $album) {
echo ‘<option value=”‘.$album->id.'”>’.$album->id.’ – ‘.$album->name.'</option>’.”\n”;
}
}
?>Jetzt für die Bilderauswahl... nach der Zeile (Zeile 307/308 in der Original-Datei)
<select id=”singlepictag” name=”singlepictag” style=”width: 200px”>
<option value=”0″ selected=”selected”><?php _e(“Select or enter picture”, ‘nggallery’); ?></option>folgendes einfügen...
<?php
$picture_list = $nggdb->find_last_images(”, 200, ”, ‘pid’);
if(is_array($picture_list)) {
foreach($picture_list as $picture) {
echo ‘<option value=”‘.$picture->pid.'”>’.$picture->pid.’ – ‘.$picture->alttext.'</option>’.”\n”;
}
}
?>Die 200 steht für die letzten 200 Fotos in der Datenbank. Die Zahl sollte nicht zu hoch gew?hlt werden. Nun die Funktion für die neuesten Fotos... nach der Zeile (Zeile 382 in der Original-Datei)
<select id=”recentgallery” name=”recentgallery” style=”width: 200px”>
<option value=”0″ selected=”selected”><?php _e(“Select or search for a gallery”, ‘nggallery’); ?></option>folgendes einfügen...
<?php
$recent_list = $nggdb->find_all_galleries(‘gid’, ‘DESC’);
if(is_array($recent_list)) {
foreach($recent_list as $recent) {
echo ‘<option value=”‘.$recent->gid.'”>’.$recent->gid.’ – ‘.$recent->title.'</option>’.”\n”;
}
}
?>Zum Schluss noch die Zufallsfunktion... nach den Zeilen (Zeile 432/433 in der Original-Datei)
<select id=”randomgallery” name=”randomgallery” style=”width: 200px”>
<option value=”0″ selected=”selected”><?php _e(“Select or search for a gallery”, ‘nggallery’); ?></option>folgendes einfügen...
<?php
$random_list = $nggdb->find_all_galleries(‘gid’, ‘DESC’);
if(is_array($random_list)) {
foreach($random_list as $random) {
echo ‘<option value=”‘.$random->gid.'”>’.$random->gid.’ – ‘.$random->title.'</option>’.”\n”;
}
}
?>Jetzt zum Problem mit "Required parameter ... follows optional parameter" Dazu sind ?nderungen in mehreren Dateien notwendig. Erste ?nderung in der Datei "gd.thumbnail.inc.php" im Verzeichnis "lib" Dort die folgende Zeile suchen...
function watermarkCreateText($color = ‘000000’,$wmFont, $wmSize = 10, $wmOpaque = 90 ){
und ?ndern in
function watermarkCreateText($wmFont, $color = ‘000000’, $wmSize = 10, $wmOpaque = 90 ){
Dabei f?llt auf, das die beiden ersten übergabeparameter einfach nur vertauscht werden. Das ganze auch in der Datei "imagemagick.inc.php" im Verzeichnis "lib" ?ndern. Nun dazu die übergabezeilen anpassen. Dazu die "nggshow.php" im Hauptverzeichnis vom Plugin ?ffnen und die Zeile suchen...
$thumb->watermarkCreateText($ngg_options[‘wmColor’], $ngg_options[‘wmFont’], $ngg_options[‘wmSize’], $ngg_options[‘wmOpaque’]);
in folgendes ?ndern...
$thumb->watermarkCreateText($ngg_options[‘wmFont’], $ngg_options[‘wmColor’], $ngg_options[‘wmSize’], $ngg_options[‘wmOpaque’]);
Den selbigen Vorgang auch in der "image.php" im "lib"-Verzeichnis. Nun noch die "functions.php" im "admin"-Verzeichnis ?ndern.
$file->watermarkCreateText($ngg->options[‘wmColor’], $ngg->options[‘wmFont’], $ngg->options[‘wmSize’], $ngg->options[‘wmOpaque’]);
in
$file->watermarkCreateText($ngg->options[‘wmFont’], $ngg->options[‘wmColor’], $ngg->options[‘wmSize’], $ngg->options[‘wmOpaque’]);
Was in einer Einstellungsseite kein Beispielfoto für die Wasserzeichenfunktions angezeigt wird, dann folgendes... In der Datei "gd.thumbnail.inc.php" im "lib"-Verzeichnis suchen...
if(is_resource($this->watermarkImgPath)) {
$this->workingImage = $this->watermarkImgPath;
} else {und in ... ?ndern
if(!is_resource($this->watermarkImgPath) && ! $this->watermarkImgPath instanceof \GdImage ) {
Ich hoffe hiermit vielen geholfen zu haben. Gru? Frank
- The topic ‘Mehrere Anpassung für PHP 8’ is closed to new replies.