• 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
Viewing 3 replies - 1 through 3 (of 3 total)
  • I’m not the official maintainer, but thank you for providing these fixes. I’ve updated my fork of nextcellent at https://github.com/nickg/nextcellent which other people might find useful.

    For the first problem, missing gallery names in the TinyMCE plugin, I found this was caused by nggAutocomplete using a deprecated “selector” jQuery property that was later removed in jQuery 1.9. So I fixed this directly which should restore the previous autocomplete functionality:

    https://github.com/nickg/nextcellent/commit/8e5c47ed0

    The other two fixes I applied directly:

    https://github.com/nickg/nextcellent/commit/f46c8cafa
    https://github.com/nickg/nextcellent/commit/e2bd6a7b0

    Hallo Frank,
    bei mir funktioniert das Plugin trotz Anpassungen nicht. Wenn ich Fotos von einer Gallerie einfügen m?chte, werden mir keine Gallerien zur Auswahl angezeigt. Was muss ich nun tun, damit es klappt?

    Dear Frank,
    the plugin doesn’t work even I have used the corrected version. Inserting images from a gallery doesn’t work. No gallery appears to. choose from. What can I do to get it working?

    Thread Starter Frank

    (@feeschwer)

    Hallo Dirk,
    habe mit Schreck festgestellt, das diese Auswahl nicht mehr funktioniert. Liegt bestimmt an die query-Dateien die nach und nach von WordPress erneuert werden.
    Habe daher meine Anpassung zum Anfang nochmals vorgenommen und diese überarbeitet und es funktioniert. (WordPress aktuelle Version, PHP Version 8.0.8)

    Also “windows.php” unter “/admin/tinymce/”

    nach den Zeilen (gallerytag)
    <select id=”gallerytag” name=”gallerytag” style=”width: 200px”><option value=”0″ selected=”selected”><?php _e(“Select or search for a gallery”
    <?php $liste = $nggdb->find_all_galleries('gid', 'DESC'); if (is_array($liste)) { foreach ($liste AS $list) { echo '<option value="'.$list->gid.'">'.$list->gid.' - '.$list->title.'</option>'."\n"; } } ?>

    nach den Zeilen (albumtag)
    <select id=”albumtag” name=”albumtag” style=”width: 200px”><option value=”0″ selected=”selected”><?php _e(“Select or enter album”
    <?php $liste = $nggdb->find_all_album('id', 'DESC'); if (is_array($liste)) { foreach ($liste AS $list) { echo '<option value="'.$list->id.'">'.$list->id.' - '.$list->name.'</option>'."\n"; } } ?>

    nach den Zeilen (singlepictag)
    <select id=”singlepictag” name=”singlepictag” style=”width: 200px”><option value=”0″ selected=”selected”><?php _e(“Select or enter picture”
    <?php $liste = $nggdb->find_last_images('', '200', '', '', 'pid'); if (is_array($liste)) { foreach ($liste AS $list) { echo '<option value="'.$list->pid.'">'.$list->pid.' - '.$list->alttext.'</option>'."\n"; } } ?>

    nach den Zeilen (recentgallery)
    <select id=”recentgallery” name=”recentgallery” style=”width: 200px”><option value=”0″ selected=”selected”><?php _e(“Select or search for a gallery”
    <?php $liste = $nggdb->find_all_galleries('gid', 'DESC'); if (is_array($liste)) { foreach ($liste AS $list) { echo '<option value="'.$list->gid.'">'.$list->gid.' - '.$list->title.'</option>'."\n"; } } ?>

    nach den Zeilen (randomgallery)
    <select id=”randomgallery” name=”randomgallery” style=”width: 200px”><option value=”0″ selected=”selected”><?php _e(“Select or search for a gallery”
    <?php $liste = $nggdb->find_all_galleries('gid', 'DESC'); if (is_array($liste)) { foreach ($liste AS $list) { echo '<option value="'.$list->gid.'">'.$list->gid.' - '.$list->title.'</option>'."\n"; } } ?>

    Hoffe, dass ich weiterhelfen konnte.
    Gru? Frank

    • This reply was modified 3 years, 4 months ago by Frank.
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Mehrere Anpassung für PHP 8’ is closed to new replies.