Löschen von Bildern die Bildergallerie zugeordnet möglich

Jede Art von Fehler die REDAXO betreffen.

Löschen von Bildern die Bildergallerie zugeordnet möglich

Beitragvon Bene » 7. Jul 2007, 09:11

Hallo,

ich verwende das Modul JAOS Gallery.
Was mich wundert:
Bilder die der Galerie zugeordnet sind, können im Medienpool gelöscht werden.
Ich war bisher der Meinung, dass redaxo automatisch erkennt welche Bilder in die Webseite eingebunden sind, und dann ggf. das Löschen verhindert.
Oder täusche ich mich?
Gibt es eine Möglichkeit dies zu implementieren?

Danke und Viele Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon franz007 » 7. Jul 2007, 09:55

Ich kann mich jetzt auch irren aber werden nicht nur Module nicht gelöscht solange sie noch irgendwo noch verwendet werden?
Benutzeravatar
franz007
 
Beiträge: 276
Registriert: 15. Aug 2006, 23:36

Beitragvon Ruediger.Nitzsche » 7. Jul 2007, 10:25

Teste mal folgende Modulausgabe, damit wird zumindest die Fehlermeldung im Frontend unterdrückt:
Code: Alles auswählen
<div class="galerie">
<?php
# Javascript Includes
$GLOBALS['MODULES']['js'][]="layout/js/lightbox/js/prototype.js";
$GLOBALS['MODULES']['js'][]="layout/js/lightbox/js/scriptaculous.js?load=effects";
$GLOBALS['MODULES']['js'][]="layout/js/lightbox/js/lightbox.js";

# CSS Includes
$GLOBALS['MODULES']['css'][]="layout/js/lightbox/css/lightbox.css";
/********************************************************************
**   JAOS Lightbox
*********************************************************************
**   Kombination von JAOS Gallery und Lightbox 2.0
**   Ist im Browser JavaScript eingeschaltet, werden die Grafiken mit der Lightbox
**   angezeigt - ansonsten mit der JAOS Gallery
*********************************************************************
**   Peter Reiche, http://www.raybeam.de
**   Letzte Änderung: 02.05.2006
*********************************************************************
**   JAOS Gallery - Just An Other Simple Gallery
*********************************************************************
**  Thomas Steinborn, http://www.thoorn.de, 2006-03-08
**  letzte Änderung: 2006-03-10
*********************************************************************
**  Änderungen GN2: 2007-06-27 (Verhinderung Fehlermeldung bei Löschen von
**  Bildern im Medienpool, Ausgabe Medienpool-Bildbeschreibung als Untertitel
*********************************************************************
**  Grundlage für diese Galerie ist die "Simple Gallery" von Markus Staab
**  Public-4u e.K, http://www.public-4u.de
**  http://www.redaxo.de/165-Moduldetails.html?module_id=43
********************************************************************/

// galerieID, falls mehrmals in einem Artikel verwendet wird
$galerieID = isset( $galerieID) ? $galerieID+1 : 0;

// Pfad zu den Thumbnails mit Resize AddOn
$tSrc = 'index.php?rex_resize=';
// Praderweiterung für das Backend
if ( $REX['REDAXO']) {
   $tSrc = '../'. $tSrc;
   $d="../";
}
else
{   $d="";
}

// Liste mit den Dateinamen
$dateiListe = array();
// Bilder aus REX_MEDIALIST auslesen
$dateien = explode(",","REX_MEDIALIST[1]");


####### ANPASSUNG LÖSCHEN DER DATEIEN VON DEM MEDIENPOOL #####
####################################################
foreach ($dateien as $datei)
{   $file=getCwd()."/".$d."/files/".$datei;
   if (file_exists($file))
   {   $bild = OOMedia::getMediaByName( $datei);
      $bildDateiName = $bild->getFileName();
      $dateiListe[] = "$bildDateiName";
   }
   unset($file);
}
####################################################


// Auslesen des Bildauswahl aus der URL
$datei = @$_REQUEST['datei'];

// Auslesen der galerieID aus der URL
$galerie = @$_REQUEST['galerie'];

// Längste Seite der Thumbnauls
$tGroesse = 80;

// löschen des Übergabewertes, wenn eine andere Gallerie auf der Seite ausgewählt wurde
if( $galerie != $galerieID)
{
   $datei = '';
}

// Berechnung des Skalierungsfaktors für die Thumbnails
if(!function_exists('getFaktor'))
{
   function getFaktor( $breite, $hoehe, $thumb ){
      if($breite > $hoehe){
         return $thumb / $breite;
      }else{
         return $thumb / $hoehe;
      }
   }
}

// --------------------------------------------- Überschrift
echo"<h2>REX_VALUE[1]</h2>\n";

// --------------------------------------------- Großbild Anzeige

if ( $datei !=  '' && strpos( $datei, '..') === false && strpos( $datei, '/') === false)
{
   $bild = OOMedia::getMediaByName( $datei);
   $bildTitle = $bild->getTitle();
   $bildBeschreibung = $bild->getDescription();
   $bildDateiName = $bild->getFileName();
   $bildBreite = $bild->getWidth();
   $bildHoehe = $bild->getHeight();

   // Auslesen der Bildposition aus der URL
   $pos = @$_REQUEST['pos'];

   echo "<p class=\"jaosg_nav\">";
   //Zurück
   if ($pos>0){
      $zurueck = $pos - 1;
      print '<a href="index.php?article_id='.$this->article_id.'&datei='.$dateiListe[$zurueck].'&galerie='.$galerieID.'&pos='.$zurueck.'">&lt;&nbsp;Zur&uuml;ck</a>&nbsp;&nbsp;';
   }
   //Zur Übersicht
   print '<a href="index.php?article_id='.$this->article_id.'&galerie='.$galerieID.'">Zur &Uuml;bersicht</a>&nbsp;&nbsp;';
   //Vor
   if ($pos+1 < sizeof($dateiListe)){
      $vor = $pos + 1;
      print '<a href="index.php?article_id='.$this->article_id.'&datei='.$dateiListe[$vor].'&galerie='.$galerieID.'&pos='.$vor.'">Weiter&nbsp;&gt;</a></p>';
   }
   print '<p class="jaosg_bild"><img src="'.$REX['HTDOCS_PATH'].'files/'.$bildDateiName.'" alt="'.$bildTitle.'" title="'.$bildTitle.'" width="'.$bildBreite.'" hight="'.$bildHoehe.'"/></p>';
   echo "<p class=\"jaosg_bildbeschreibung\">$bildTitle<br \>$bildBeschreibung</p>";

   //echo" $dateiListe[$pos-1] : $dateiListe[$pos] : $dateiListe[$pos+1]";

}
else{

// --------------------------------------------- Fliesstext
$input =<<< EOT
REX_HTML_VALUE[2]
EOT;
$textile = new Textile;
$text = "";
if ("REX_VALUE[2]" != "") $text = $textile->TextileThis($input);

$text = str_replace("###","&#x20;",$text);

print $datei.$text;

// --------------------------------------------- Galerie Anzeige

   echo "<div class='jaosg_galerie'>\n";

   foreach ($dateiListe as $datei)
   {
      if(!$pos){$pos=0;}
      $bild = OOMedia::getMediaByName( $datei);
      $bildTitle = $bild->getDescription();
      $bildDateiName = $bild->getFileName();
      $bildBreite = $bild->getWidth();
      $bildHoehe = $bild->getHeight();

      $faktor = getFaktor($bildBreite, $bildHoehe, $tGroesse);
      $tBreite = intval( $bildBreite * $faktor );
      $tHoehe = intval( $bildHoehe * $faktor );
      
      // Hoch- oder Querformat für Style-Sheet ermitteln
      if($bildBreite>$bildHoehe)
      {
         $cssCls = 'ls';
      }
      else
      {
         $cssCls = 'pt';
      }

      print '<script type="text/javascript"><!-- //Auskommentieren für Browser die kein JavaScript unterstützen
      document.write("<div class=\"jaosg_thumbnail '.$cssCls.'\"><a href=\"files/'.$bildDateiName.'\" rel=\"lightbox[Galerie'.$galerieID.']\" title=\"'.$bildTitle.'\"><img src=\"'.$tSrc.''.$tBreite.'w__'.$bildDateiName.'\" alt=\"'.$bildTitle.'\" title=\"Zum Vergr&ouml;&szlig;ern auf das Bild klicken\" width=\"'.$tBreite.'\" height=\"'.$tHoehe.'\" /></a></div>")//--></script>';
      print '<noscript><div class="jaosg_thumbnail '.$cssCls.'"><a href="index.php?article_id='.$this->article_id.'&amp;datei='.$bildDateiName.'&amp;galerie='.$galerieID.'&amp;pos='.$pos.'"><img src="'.$tSrc.''.$tBreite.'w__'.$bildDateiName.'" alt="'.$bildTitle.'" title="Zum Vergr&ouml;&szlig;ern auf das Bild klicken" width="'.$tBreite.'" height="'.$tHoehe.'" /></a></div></noscript>';
      echo"\n";
      $pos ++;
   }

   echo "</div>\n<div id=\"jaosg_footer\"></div>\n";
}

?>
</div>


Rüdiger
GN2 netwerk | GN2 hosting | REDAXO Referenzen
Supportanfragen per PN werden gepflegt ignoriert
Benutzeravatar
Ruediger.Nitzsche
 
Beiträge: 1900
Registriert: 13. Dez 2005, 08:29
Wohnort: Coburg

Beitragvon Bene » 8. Jul 2007, 09:47

Hallo,

Danke für die Änderungen. Letztlich ist es aber nur eine Notlösung, da die Bilder ja trotzdem gelöscht werden könnnen.

Vor dem Löschen gibt es auf jeden Fall eine Überprüfung, wo du Bilder eingebunden wurden. Warum diese Überprüfung bei der Bildgergallerie nicht greift, kann ich nicht nachvollziehen.

Viele Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon Ruediger.Nitzsche » 8. Jul 2007, 09:56

Das ist bei der JAOS leider so nicht möglich, deshalb diese Notlösung.

Rüdiger
GN2 netwerk | GN2 hosting | REDAXO Referenzen
Supportanfragen per PN werden gepflegt ignoriert
Benutzeravatar
Ruediger.Nitzsche
 
Beiträge: 1900
Registriert: 13. Dez 2005, 08:29
Wohnort: Coburg

Beitragvon Bene » 8. Jul 2007, 10:46

Hi Rüdiger,

kannst du mir erklären warum das nicht möglich ist?

Meine Logik ist folgende:
redaxo durchsucht vor der Löschen einer Datei die Module die verwendet werden nach dem Vorkommen von REX_FILE und schaut dann ob in diesem Platzhalter die Bilddatei eingetragen ist.
Oder liege ich damit falsch?

Viele Grüße und schönen Sonntag
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon Ruediger.Nitzsche » 9. Jul 2007, 11:42

Redaxo überprüft ob Dateien noch benutzt werden. Leider werden nur die Variabeln REX_FILE[1] bis REX_FILE[10] geprüft. Module wie JAOS benutzen eine Oberfläche um mehrere Bilder gleichzeitig auszuwählen. Die Dateinamen werden nicht in REX_FILE[1-10] gespeichert, sondern in REX_MEDIA_LIST. Beim Löschen einer Datei wird REX_MEDIA_LIST ignoriert, deshalb unsere Notlösung.

Rüdiger
GN2 netwerk | GN2 hosting | REDAXO Referenzen
Supportanfragen per PN werden gepflegt ignoriert
Benutzeravatar
Ruediger.Nitzsche
 
Beiträge: 1900
Registriert: 13. Dez 2005, 08:29
Wohnort: Coburg

Beitragvon Bene » 9. Jul 2007, 18:34

Hallo,

ok, danke für die Erklärung.
Ist das ein Bug oder ein beabsichtigtes Verhalten?

grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

Beitragvon Ruediger.Nitzsche » 9. Jul 2007, 18:57

Ich tippe eher auf 1., genauere Erklärungen können aber nur Markus und Jan abgeben.

Rüdiger
GN2 netwerk | GN2 hosting | REDAXO Referenzen
Supportanfragen per PN werden gepflegt ignoriert
Benutzeravatar
Ruediger.Nitzsche
 
Beiträge: 1900
Registriert: 13. Dez 2005, 08:29
Wohnort: Coburg

Beitragvon Markus.Staab » 10. Jul 2007, 09:53

Hi Leute,

danke für die Hinweise.

Ich hab das ganze für R3.3 nun ergänzt, auf REX_MEDIALIST_BUTTON[]s und auch auf 20 REX_VALUES[]s.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Ruediger.Nitzsche » 10. Jul 2007, 11:31

Ein Traum, besten Dank Markus :)

Rüdiger
GN2 netwerk | GN2 hosting | REDAXO Referenzen
Supportanfragen per PN werden gepflegt ignoriert
Benutzeravatar
Ruediger.Nitzsche
 
Beiträge: 1900
Registriert: 13. Dez 2005, 08:29
Wohnort: Coburg

Beitragvon Bene » 10. Jul 2007, 16:32

Hallo,

Super. Vielen Dank.

Grüße
Bene
Bene
 
Beiträge: 125
Registriert: 19. Jan 2007, 23:42

In Galerie verwendete Bilder aus dem Medienpool löschen

Beitragvon frood » 7. Okt 2008, 15:07

Moin!

Dies ist eigentlich genau der Beitrag, den ich gesucht habe, denn genau das oben genannte Problem habe ich auch, allerdings bei der Redaxo-Version 4.1. und der medienpool.inc.php-Version v 1.17 2008/03/17

Ich kann Bilder ohne Warnung aus dem Medienpool löschen, die in einer Galerie über einen REX_MEDIALIST_BUTTON eingebunden sind und bekomme dann in der Ausgabe die entsprechende Fehlermeldung (die ich bereits nach der o.g. Methode ausgeschaltet habe, danke dafür...).

Was kann ich da machen ?

Schonmal Danke für die Hilfe!

Marc
frood
 
Beiträge: 86
Registriert: 7. Okt 2008, 14:17

Beitragvon darwin » 20. Jan 2009, 09:57

HI@all,

gibts für REX_4.1 schon einen Fix?
REX_MEDIALIST Bilder können trotz Verwendung aus dem medienpool gelöscht werden.

Danke schonmal.

grz. Chris
Benutzeravatar
darwin
 
Beiträge: 1261
Registriert: 2. Jan 2007, 16:10
Wohnort: LA

Beitragvon Markus.Staab » 20. Jan 2009, 10:14

Hi Chris,

zumindest was ich hier im SVN sehe ist eine solche Abfrage drinnen. Ab das auch schon in 4.1 drinne war, kann ich nicht sagen...

(siehe dazu OOMedia::isInUse Methode in der Datei class.oomedia.inc.php)

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Nächste

Zurück zu Bugs [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast