[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Zahnarzt-Website - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Muotoilija
Beiträge: 146
Registriert: 20. Mär 2007, 10:08
Wohnort: Tampere/ Finnland
Kontaktdaten: Website

Zahnarzt-Website

3. Feb 2010, 21:16

Hallo...

in Kürze ist mein neuestes Webprojekt fertig, eine Internetpräsenz für einen Zahnarzt, der sich auf Oralchirurgie spezialisiert hat.

Dabei ist ein passwortgeschützter Bereich entstanden, in dem sich andere überweisende Zahnärzte aus der Region einloggen können, um aktuelle Röntgenbilder einzusehen.

Täglich kurz vor Feierabend soll eine Praxis-Mitarbeiterin aktuelle Röntgenbilder (immer ca. 10-12 Aufnahmen) hochladen und in den geschützten Bereich einbinden. Die Aufnahmen der Röntgenkamera landen direkt auf einem Server in der Praxis und haben Bezeichnungen wie z.B.

6119-X-000002FE-4.JPG

Lade ich diese Datei nun in den Medienpool von Redaxo, wird daraus

6119_x_000002fe_4.jpg

Warum?!

Da eine Röntgenaufnahme 2-3 MB gross ist, würde ein Upload über den Medienpool wohl sowieso zu lange dauern. Mein Kunde wünscht sich eine möglichst zeitökonomische Lösung, da das Praxisteam oft unter grossem Zeitdruck arbeitet.
Nun war meine Idee ein externer Ordner auf dem Webserver und ein Upload der Bilder über FTP (ein FTP-Upload in den Files-Ordner ist bei den gegebenen Servereinstellungen nur durch Rechtemanipulation möglich, und danach funktioniert der Medienpool nichtm mehr...). Doch können in einem externen Verzeichnis die Bilder nicht über das ImageResize-Modul skaliert und gecacht werden oder?! Ich würde gerne Thumbnailansichten haben, sodass man man sich die Aufnahmen dann durch einem Klick vergrössern kann. Über einen weiteren Link soll man dann zur Originalgrösse gelangen.
Die Bilder sollen auf jeden Fall in Originalgrösse hochgeladen werden, damit andere Zahnärzte sich diese ggf. für eigene Zwecke herunterladen können.

Wie kann ImageResize auf Dateien in einem anderen Verzeichnis zugreifen?!
Oder hat jemand vielleicht einen eleganteren Lösungsvorschlag?

Viele Grüsse
Christian

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

4. Feb 2010, 08:53

hi
schau mal hier:

http://wiki.redaxo.de/index.php?n=Addon ... izeRexpath

nicht vergessen DATENSCHUTZ die Aufnahmen auch so unter zu bringen, das keiner ohne Erlaubniss da drann kommt.

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

4. Feb 2010, 09:26

Richard.Laing hat geschrieben:nicht vergessen DATENSCHUTZ die Aufnahmen auch so unter zu bringen, das keiner ohne Erlaubniss da drann kommt.
Das ist sicherlich der wichtigste Punkt. Nicht ganz trivial...

LG
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

Muotoilija
Beiträge: 146
Registriert: 20. Mär 2007, 10:08
Wohnort: Tampere/ Finnland
Kontaktdaten: Website

5. Feb 2010, 11:03

Hei,

danke für die schnellen Antworten. Für die sichere Unterbringung des vertraulichen Materials und Einhaltung des Datenschutzes ist bereits gesorgt.

Die Erweiterungsmöglichkeit des ImageResize-Addons unter
http://wiki.redaxo.de/index.php?n=Addon ... izeRexpath
ist ein interessanter Ansatz, allerdings würde ich gerne das Verzeichnis für die Röntgenaufnahmen NEBEN dem files-Ordner anlegen und nicht IM files-Ordner. Die Servereinstellungen unseres Providers sind leider so bescheuert, dass ich nur durch ständige Rechtemanipulation über FTP an den files-Ordner herankomme.
Weiss jemand ob man die class.thumbnail.inc.php auch so modifizieren kann, dass ImageResize auch auf ein Verzeichnis AUSSERHALB vom files-Ordner zugreifen kann?!

Viele Grüsse
Chris

Benutzeravatar
timo.huber
Beiträge: 305
Registriert: 22. Dez 2009, 13:26

5. Feb 2010, 11:54

Hallo,

habe das eben getestet, und es geht mit folgendem Zusatz:

Code: Alles auswählen

switch ($rex_resize_path)
		  {
			case "__PATH1__":
			$rex_resize_path = "../test";
			break;
		  }
Also insgesamt:

Code: Alles auswählen

/*     Bild-Quelle ggf. um Pfad erweitern. START */ 
    $rex_resize_path = preg_replace('~[/]{2,}~', '/', 
                       preg_replace(array('~[.]*~', '~^[/]*~', '~[/]*$~', ), '', 
                       rex_get('rex_path', 'string'))); 
    if (!empty($rex_resize_path)) {
	
	/* neu */
		switch ($rex_resize_path)
		  {
			case "__PATH1__":
			$rex_resize_path = "../test";
			break;
		  }
		  /* ende neu */
		  
      $rex_resize_path .= '/'; 
	  
      $rex_resize = str_replace('/', '_', $rex_resize_path) . $rex_resize; 
      $imagefile  = $rex_resize_path . $imagefile; 
	  
    } 
    /*     Bild-Quelle ggf. um Pfad erweitern. ENDE  */
Du setzt quasi einen Platzhalter ein. Wenn dieser vorkommt wird der Pfad ersetzt. Das ist wichtig, da sonst jeder z.b. "../test" eingeben könnte, und jegliche Datei auf dem Server ausgelesen werden könnte.

Die URL sieht dann so aus:

Code: Alles auswählen

index.php?rex_resize=100w__test.jpg&rex_path=__PATH1__
Das erwartet dann folgende Ordnerstruktur:

- files
- redaxo
- test
index.php
_lizenz.txt

usw.

MFG
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}

Muotoilija
Beiträge: 146
Registriert: 20. Mär 2007, 10:08
Wohnort: Tampere/ Finnland
Kontaktdaten: Website

5. Feb 2010, 18:26

Hei,

vielen Dank für den Code - es funktioniert super!

Allerdings sollen die Röntgenaufnahmen immer als komplettes Verzeichnis in den Ordner "test" hochgeladen werden, sodass bald folgende Struktur entsteht:

test/ordner-1/roentgenbild-1
test/ordner-1/roentgenbild-2
test/ordner-1/roentgenbild-3

test/ordner-2/roentgenbild-4
test/ordner-2/roentgenbild-5
test/ordner-2/roentgenbild-6
usw.

Im Eingabemodul soll dann lediglich der Verzeichnisname ausgewählt werden, sodass alle Dateien dieses ausgewählten Verzeichnisses schliesslich im Frontend ausgegeben werden.

Lässt sich der Code noch so erweitern, dass quasi die URL

Code: Alles auswählen

index.php?rex_resize=100w__test.jpg&rex_path=__PATH1__
noch den Verzeichnisnamen (also "ordner-1", "ordner-2",... und natürlich nicht "test" wegen Schutz vor unbefugtem Zugriff) enthält?! Oder gibt es noch eine bessere Lösung?!

Ich wäre sehr dankbar für Hilfe. Meine PHP-Kenntnisse sind leider noch recht begrenzt...

Viele Grüsse
Christian

Benutzeravatar
timo.huber
Beiträge: 305
Registriert: 22. Dez 2009, 13:26

5. Feb 2010, 20:10

Servus Christian,

so funktioniert das dann:

Code: Alles auswählen

 
		  /*     Bild-Quelle ggf. um Pfad erweitern. START */
    $rex_resize_path = preg_replace('~[/]{2,}~', '/',
                       preg_replace(array('~[.]*~', '~^[/]*~', '~[/]*$~', ), '',
                       rex_get('rex_path', 'string')));
    if (!empty($rex_resize_path)) {
   
   /* neu */
      switch ($rex_resize_path)
        {
         case "__ORDNER1__":
         $rex_resize_path = "../test/ordner-1";
         break;
		 
		 case "__ORDNER2__":
         $rex_resize_path = "../test/ordner-2";
         break;
        }
        /* ende neu */
       
      $rex_resize_path .= '/';
    
      $rex_resize = str_replace('/', '_', $rex_resize_path) . $rex_resize;
      $imagefile  = $rex_resize_path . $imagefile;
    
    }
    /*     Bild-Quelle ggf. um Pfad erweitern. ENDE  */
Die URL wird dann zu

Code: Alles auswählen

/index.php?rex_resize=300w__bild1.jpg&rex_path=__ORDNER1__
bzw.

Code: Alles auswählen

/index.php?rex_resize=300w__bild1.jpg&rex_path=__ORDNER2__
Pass aber echt in Sachen Datenschutz auf ;)
Wer die URL sieht wird gerade dazu verleitet aus der 1 eine 2 zu machen :D

MFG
Timo
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}

Muotoilija
Beiträge: 146
Registriert: 20. Mär 2007, 10:08
Wohnort: Tampere/ Finnland
Kontaktdaten: Website

6. Feb 2010, 12:18

Hei,

vielen Dank für die Antwort!

ich konnte das noch folgendermassen vereinfachen und es dabei noch variabilisieren:

Code: Alles auswählen

/* neu */

$rex_resize_path_end = preg_replace('/__/', "",$rex_resize_path);
$rex_resize_path = "../test/".$rex_resize_path_end."/"; 

/* ende neu */
Das

Code: Alles auswählen

$rex_resize_path .= '/'; 
hinter /* ende neu */ muss dann natürlich auch weg.

Es funktioniert super!

Das Ordner-1, Ordner-2 usw. war nur beispielhaft. Ich weiss ja nicht, wie die Ordner heissen, die in der Praxis hochgeladen werden, und wie viele es werden. Eine ewig lange case-Funktion macht wohl auch nicht wirklich Sinn.

Das Modul werde ich dann so gestalten, dass man nur noch den Ordnernamen eingeben muss, um die darin enthaltenen Aufnahmen im Frontend auszugeben.

viele Grüsse
Chris

Benutzeravatar
timo.huber
Beiträge: 305
Registriert: 22. Dez 2009, 13:26

6. Feb 2010, 14:58

Servus,

ja, so ist es einfacher, aber meine Ausführung hatte doch einen Sinn :P
So kann man nämlich jeden beliebigen Ordner aufrufen, der da existiert.
Was hintert den Benutzer "Ordner__" einzugeben?
Dann ersetzt du zwar die Unterstriche, aber ruft einen eventuell nicht vorhandenen Ordner auf.
Ein weiterer Punkt ist, dass, wenn sich die Ordner ändern, du auch die URL ändern musst.
Wenn du meine Lösung nimmst, bleibt der Platzhalter, und du kannst den Zielordner in der PHP Datei ändern.

Wollte dir das hiermit nur auf den Weg geben ;)

MFG
Timo
$glaskugel = new rex_glaskugel();
$loesung = $glaskugel->getLoesung("problem");
foreach ($loesung as $l)
{
echo $l;
}

Muotoilija
Beiträge: 146
Registriert: 20. Mär 2007, 10:08
Wohnort: Tampere/ Finnland
Kontaktdaten: Website

7. Feb 2010, 11:19

Danke für deine Überlegungen.
Ich werde nochmal darüber nachdenken!

Viele Grüsse
Christian

Zurück zu „Allgemeines [R4]“