MOD_IFRAME_PICKER - Modul für IFRAME Steuerung

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

MOD_IFRAME_PICKER - Modul für IFRAME Steuerung

Beitrag von SkyBlader » Mi 30. Jun 2004, 08:10

Guten Morgen zusammen,

möchte hier an dieser Stelle mal mein Modul "MOD_IFRAME_PICKER" posten.

Es handelt sich dabei um die Version 0.2 alpha, und wurde mit mit der Version 4.4.4 und dem letzten Snapshot getestet.

Folgende Konfigurationfelder gibt es im Backend:

- Dateiauswahl
- HTTP-Input
- IFRAME-WIDTH
- IFRAME-HEIGHT
- IFRAME-BORDER

Für die Dateiauswahl muß im UPLOAD-Ordner des Mandanten ein Verzeichniss "iframedata" vorhanden sein. Falls ihr ein anderen Pfad haben wollt, dann ändert sowohl im INPUT wie auch im OUTPUT die Variabel $moddir.

Das Modul verwendet folgende CMS-Variabeln bzw. Values:

4000
4001
4002
4003
4006

Folgende sind für eine Zukünftige Version reserviert:

4004
4005

Wenn ihr andere braucht, ändert dies bitte im Input und Outputbereich.

Hinweis: Im Input-Bereich werden sowohl die CMS_VARs wie auch die CMS_VALUES am Anfang zentral konfiguriert !!!! Somit wird die Konfiguration im Code an den oberen Bereichen der zwei Modulbereiche gehalten.

Das Modul setzte ich im Intranetbereich erfolgreich ein, um PDFs, Exceltabellen, Worddokumente und andere Intranetseiten im IFRAME anzuzeigen.

Dennoch weise ich darauf hin, das sich das Modul im ALPHA Stadium befindet.

Bitte Bugreports hier im Thread posten.

So, kommen wir nun zum Code:

MODUL-BESCHREIBUNG

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL
*
* Modulname    :	MOD_IFRAME_PICKER
* Modulversion :	0.2 alpha 
* Author       :	Stefan Bürk
* Kontakt      :	Email: webmaster@skyblader.org
* Copyright    :	Bundeswehr - Stab 7. Panzerdivision, Stefan Bürk
* C-Version    :	4.4
* Created      :	26-04-2004
* Modified     :	30-06-2004
*
* Beschreibung :
*
* Dieses Modul zeigt in einem IFRAME im Frontend entweder
* eine ausgewählte Datei aus UPLOAD Verzeichnis ODER
* eine eingegebene HTTP-Adresse an.
*
* Dieses Modul ist noch im frühen Entwicklungsstadium
* und noch mit vielen unabgefangenen Fehlerquellen
* behaftet.
* 
************************************************/

30.06.2004
=======

in             Im Inputbereich des Modules die Texte und Auswahl- bzw. Eingabefelder auf BackEnd-CSS-Klassen
                umgestellt, um eine einheitlichere BackEnd-Konfigurationsseite zu erhalten.

28.06.2004
==========

out	IFRAME-HEIgHT, IFRAME-WIDTH und IFRAME-BORDER werden bei der
	erzeugung eines IFRAMES im Output nun berücksichtigt.
	Überprüfung und ein ggf. setzen von Standartwerten wird nur
	rundimär durchgeführt.

in	Einstellungsmöglichkeiten für IFRAME-HEIGHT, IFRAME-WIDTH und 
	IFRAME-FRAMEBORDER eingebunden.


26.04.2004
==========

out	Anzeige für "sky_selected_file" und "sky_iframe_httpinput" und 
	die Umwandlung in ein entsprechendes IFRAME erstellt.
	
in	Auswahloption für "sky_selected_file" und "sky_iframe_httpinput"
	und deren Speicherung in entsprechende CMS_VALUE[x] erstellt

--------------------------------------------------------------

INPUT

Code: Alles auswählen

$moddir			=	"iframedata/";

// VALUES
$sky_selectedfile	=	"CMS_VALUE[4000]";
$sky_iframe_width	= 	"CMS_VALUE[4001]";
$sky_iframe_height      = 	"CMS_VALUE[4002]";
$sky_iframe_border      = 	"CMS_VALUE[4003]";
$sky_iframe_style       = 	"CMS_VALUE[4004]";	// not used till yet
$sky_iframe_class       = 	"CMS_VALUE[4005]";	// not used till yet
$sky_iframe_httpinput   = 	"CMS_VALUE[4006]";

// VARIABLES
$sky_selectedfile2	=	"CMS_VAR[4000]";
$sky_iframe_width2	= 	"CMS_VAR[4001]";
$sky_iframe_height2     = 	"CMS_VAR[4002]";
$sky_iframe_border2     = 	"CMS_VAR[4003]";
$sky_iframe_style2      = 	"CMS_VAR[4004]";	// not used till yet
$sky_iframe_class2      = 	"CMS_VAR[4005]";	// not used till yet
$sky_iframe_httpinput2  = 	"CMS_VAR[4006]";	



// starting Modul Options Table
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";


// ################################################################################################
//  START FileChoose
// ################################################################################################

/* based on contenido internal upl function */
function sky_listdir_recursive ($currentdir, $startdir=NULL, $files=array(), $depth=-1, $pathstring="") 
{
    $depth++;

    $unsorted_files = array();

    if (chdir ($currentdir) == false)
    {
    	return;
    }

    // remember where we started from
    if (!$startdir) {
        $startdir = $currentdir;
    }
    $d = opendir (".");

    //list the files in the dir
    while ($file = readdir ($d)) {
        if ($file != ".." && $file != ".") {
                $unsorted_files[] = $file;
        }
    }
    if (is_array($unsorted_files)) sort($unsorted_files);
    $sorted_files = $unsorted_files;

    if(is_array($sorted_files)) {
        foreach ($sorted_files as $file) {
            if ($file != ".." && $file != ".") {

                if ((filetype(getcwd()."/".$file) == "dir") &&
                    (opendir(getcwd()."/".$file) !== false)) { 
                    $a_file['name']  = $file;
                    $a_file['depth'] = $depth;
                    $a_file['pathstring']  = $pathstring.$file.'/';;

                    $files[] = $a_file;
                    // If $file is a directory take a look inside
                    $files = sky_listdir_recursive (getcwd().'/'.$file, getcwd(), $files, $depth, $a_file['pathstring']);
                } else {
                    // If $ file is not a directory then do nothing
                    $a_file['name']  = $file;
                    $a_file['depth'] = $depth;
                    $a_file['pathstring']  = $pathstring;

                    $files[] = $a_file;                    
                }
            }
        }
    }

    closedir ($d);
    chdir ($startdir);
    return $files;
}



echo "  <tr valign=\"top\">
          <td class=\"text_medium\">Datei ausw&auml;hlen:</td>
          <td class=\"text_medium\">
            <select class=\"text_medium\" name=\"".$sky_selectedfile2."\">";
            
if ( $sky_selectedfile = "--KEIN--" )
{
	echo "        <option value=\"--KEIN--\" selected=\"selected\">-- KEIN --</option>";            
}
else
{
	echo "        <option value=\"--KEIN--\">-- KEIN --</option>";            
}
            

$sql = 'SELECT frontendpath FROM ' . $cfg["tab"]["clients"].' WHERE idclient = "'.$client.'"';
$db->query( $sql );
$db->next_record();
$l_upldir = $db->f("frontendpath");

function blub ( $vid , $vtxt)
{
echo '<option value="'.$vid.'">'.$vtxt.'</option>';
}


$sky_uploaddir = $cfgClient[$client]["upl"]["path"] . $moddir;
$sky_files = sky_listdir_recursive ( $sky_uploaddir , getcwd() );


if ( is_array($sky_files) )
{
	// Array ( [0] => Array ( [name] => cms [depth] => 0 [pathstring] => cms/ ) 
	while (list($lkey, $lvalue) = each ($sky_files)) 
	{
		if ( file_exists($sky_uploaddir.$lvalue['pathstring'].$lvalue['name'])) 
	  	{
			if ( $sky_selectedfile == $lvalue['pathstring'].$lvalue['name'] )
			{
				echo '<option value="'.$lvalue['pathstring'].$lvalue['name'].'" selected="selected">'.$lvalue['pathstring'].$lvalue['name'].'</option>';
			}
			else
			{
				echo '<option value="'.$lvalue['pathstring'].$lvalue['name'].'">'.$lvalue['pathstring'].$lvalue['name'].'</option>';			
			}
		}
	}
}


echo "      </select>
	  </td>
        </tr>";
        
// ################################################################################################        
//   End File Choose
// ################################################################################################

// ################################################################################################
//   START HTTPInput
// ################################################################################################

echo "  <tr valign=\"top\">";
echo "    <td class=\"text_medium\">HTTP Link:</td>";
echo "    <td class=\"text_medium\">";

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_httpinput2."\" value=\"".$sky_iframe_httpinput."\"> ";    
echo "	    <br>";
echo "	     Hinweis: HTTP-Link wird nur ber&uuml;cksichtigt, wenn als Dokument <b>-- KEIN --</b> ausgew&auml;hlt wurde !";
echo "    </td>";
echo "  </tr>";

// ################################################################################################
//   END HTTPInput
// ################################################################################################


// ################################################################################################
//   START IFRAME-WIDTH
// ################################################################################################
echo "  <tr valign=\"top\">";
echo "    <td class=\"text_medium\">IFRAME-Width:</td>";
echo "    <td class=\"text_medium\">";

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_width2."\" value=\"".$sky_iframe_width."\"> ";    

echo "    </td>";
echo "  </tr>";
// ################################################################################################
//   END IFRAME-WIDTH
// ################################################################################################

// ################################################################################################
//   START IFRAME-HEIGHT
// ################################################################################################
echo "  <tr valign=\"top\">";
echo "    <td class=\"text_medium\">IFRAME-Height:</td>";
echo "    <td class=\"text_medium\">";

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_height2."\" value=\"".$sky_iframe_height."\"> ";    

echo "    </td>";
echo "  </tr>";
// ################################################################################################
//   END IFRAME-HEIGHT
// ################################################################################################

// ################################################################################################
//   START IFRAME-BORDER
// ################################################################################################
echo "  <tr valign=\"top\">";
echo "    <td class=\"text_medium\">IFRAME-Border:</td>";
echo "    <td class=\"text_medium\">";

echo "      <input type=\"text\" class=\"text_medium\" name=\"".$sky_iframe_border2."\" value=\"".$sky_iframe_border."\"> ";    

echo "    </td>";
echo "  </tr>";
// ################################################################################################
//   END IFRAME-BORDER
// ################################################################################################

// closing Module Options Table
echo "</table>";            
------------------------------

OUTPUT

Code: Alles auswählen

<?php

// Lese ausgewählte Datei aus.
$moddir		=	"upload/iframedata/";
$sky_selected_file 	= "CMS_VALUE[4000]";
$sky_iframe_width	= "CMS_VALUE[4001]";
$sky_iframe_heiht       = "CMS_VALUE[4002]";
$sky_iframe_border      = "CMS_VALUE[4003]";
$sky_iframe_style       = "CMS_VALUE[4004]";	// not used till yet
$sky_iframe_class       = "CMS_VALUE[4005]";	// not used till yet
$sky_iframe_httpinput   = "CMS_VALUE[4006]";



// Arbeite Einstellungsvariabeln ab

// ###################################################################################
// START - IFRAME-WIDTH
if ( strlen($sky_iframe_width) > 0 )
{
	$ls_iframe_width = $sky_iframe_width;
}
else
{
	$ls_iframe_width = "100%";
}
// END - IFRAME-WIDTH
// ###################################################################################

// ###################################################################################
// START - IFRAME-HEIGHT
if ( strlen($sky_iframe_height) > 0 )
{
	$ls_iframe_height = $sky_iframe_height;
}
else
{
	$ls_iframe_height = "100%";
}
// END - IFRAME-HEIGHT
// ###################################################################################

// ###################################################################################
// START - IFRAME-BORDER
if ( strlen($sky_iframe_border) > 0 )
{
	$ls_iframe_border = $sky_iframe_border;
}
else
{
	$ls_iframe_border = "1";
}
// END - IFRAME-BORDER
// ###################################################################################


// check for NO FILE Selected

if ( $sky_selected_file != "--KEIN--" )
{
	// using selected file

	// überprüfe ob ausgewählte Datei noch existiert
	if ( file_exists( $moddir.$sky_selected_file ) )
	{

		// erzeuge IFrame Ausgabecode
		echo '<iframe src="'.$moddir.$sky_selected_file.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
		echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
		echo '</iframe>';
	}
	else
	{
		// using HTTP Input
		echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
		echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
		echo '</iframe>';
	}
	
}
else
{
	// using HTTP Input
	echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
	echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
	echo '</iframe>';
}

?>
So, ich hoffe der ein oder andere kann das Modul gebrauchen.

gruß

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Do 1. Jul 2004, 12:34

Cooles Modul!

Kompliment (und neid um Dein Wissen) ;)

Das Ding ist Klasse,
wenn man html als input nimmt, braucht der User auch kein Word o.ä. zu haben und das mit dem Runterscrollen wäre mein nächste workarround für das Layout gewesen.

Hast mir viel Arbeit abgenommen, einfach Klasse!

Danke

TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Mo 5. Jul 2004, 16:54

Hallo,
eigentlich ist das ein wirklich Klasse Modul,
leider ist die Ausgabe beim Mozilla/Netscape total anders als beim Iexpl.

Mozilla ignoriert die Höhenangaben des IFrames und stellt nur ein paar Zeilen dar, beim IE wirds auch ignoriert aber auf die volle Zellenhöhe "ausgedehnt" was ja auch gut aussieht und sinnvoll ist.

SkyBlader ist im Stress, kann das jemand in den Massen umfrickelnd?
Anstatt Pixel sollte man es mal mit % versuchen, vielleicht wird das bei beiden richtig ausgelegt.

So sind momentan zuwenig Info`s auf einmal sichtbar (Mozilla)

Betrachten lässt sich das Problem unter
http://www.tropenhaus-hamburg.de 1024x768 Pix

Kat: "Lebendtiere" da liegen lange Tabellen im Iframe

greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Mo 5. Jul 2004, 20:31

wenn du bei der Konfiguration im Backend einfach das % weglässt wird alles als Pixelangaben definiert.


Habn da ne Idde, nur fehlt mir atm einfahc die Zeit um irgendwas zu testen oder zu coden.

Bundeswehr schlägt zu und Übung steht vor der Tür.

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Mo 5. Jul 2004, 21:01

Hi Stefan,

% im Backend?

also bei mir war da nie ein % zeichen drin, ich bin immer von Pixeln ausgegangen.

Aber auch das (eben getestete) anhängen eines % hinter die Massangabe ändert nichts am Erscheinungsbild

schade, dass Du so im Stress bist....bei dem "Gast" (Manöver) würd ich die Tür einfach nicht aufmachen :wink:

Gruß
Volker
TimeSpirit
Zuletzt geändert von Zeitgeist am Mi 7. Jul 2004, 09:14, insgesamt 1-mal geändert.
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Mi 7. Jul 2004, 09:13

Generell möchte ich zu diesem Modul noch sagen:

Es ist Klasse und wahnsinnig MÄCHTIG!

Meine Gästebuch Ausgabe ist nun auch in diesem Modul untergebracht und als nächstes landet meine Sitemap da drin!
(www.tropenhaus-hamburg.de)

Richtig kombiniert lässt sich damit eine Menge machen.

Klasse Stefan :!:

wenn wir noch das Höhenproblem mit dem Mozilla in den Griff bekommen... :P

greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

standingstone
Beiträge: 2
Registriert: Mi 25. Aug 2004, 00:48
Wohnort: Munich
Kontaktdaten:

Kleine Fehler in den INPUT Sektion

Beitrag von standingstone » Mi 25. Aug 2004, 01:01

I was actually looking for examples of where modules were recursively traversing directory trees, but ran into a small "Schönheitsfehler" on line 96 of the INPUT section:

Code: Alles auswählen

if ( $sky_selectedfile = "--KEIN--" )
should read

Code: Alles auswählen

if ( $sky_selectedfile == "--KEIN--" )
Now I know that it is really important to set the current working directory back to what it was after changing it. Otherwise Contenido (4.4.4) takes the hump and displays just the template name "template.tplcfg_edit_form.php"!

Regards,

Simon

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Re: Kleine Fehler in den INPUT Sektion

Beitrag von SkyBlader » Mi 25. Aug 2004, 07:40

standingstone hat geschrieben:I was actually looking for examples of where modules were recursively traversing directory trees, but ran into a small "Schönheitsfehler" on line 96 of the INPUT section:

Code: Alles auswählen

if ( $sky_selectedfile = "--KEIN--" )
should read

Code: Alles auswählen

if ( $sky_selectedfile == "--KEIN--" )
Now I know that it is really important to set the current working directory back to what it was after changing it. Otherwise Contenido (4.4.4) takes the hump and displays just the template name "template.tplcfg_edit_form.php"!

Regards,

Simon
thx simon,

i corrected the mistake in my code a few days ago. In the next few i will release another version of this mod.

sers

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Mi 22. Sep 2004, 05:03

Guten Morgääähn Community,

bei den Arbeiten an meinem IFrame Modul und einer Kompletten Neuprogrammierung, sind mir neben de, Fehlerhinweis von standingstone noch ein anderer aufgefallen, der vermutlich für die Nicht-Berücksichtung der Höhenangabe verantwortlich ist.

Hier nun vorab eine Bugfixin Version des IFRAME Moduls für die Vorübergehene verwendung bis zum Release der neuen v0.3 alpha Version.

IFRAMEMODUL - CHANGELOG

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL
*
* Modulname    :	MOD_UplFile_IFrame_Picker
* Modulversion :	0.21 alpha 
* Author       :	Stefan Bürk
* Kontakt      :	Email: webmaster@skyblader.org
* Copyright    :	Bundeswehr - Stab 7. Panzerdivision, Stefan Bürk
* C-Version    :	4.4
* Created      :	26-04-2004
* Modified     :	22-09-2004
*
* Beschreibung :
*
* Dieses Modul zeigt in einem IFRAME im Frontend entweder
* eine ausgewählte Datei aus UPLOAD Verzeichnis ODER
* eine eingegebene HTTP-Adresse an.
*
* Dieses Modul ist noch im frühen Entwicklungsstadium
* und noch mit vielen unabgefangenen Fehlerquellen
* behaftet.
* 
************************************************/

22.09.2004
==========

IN	CodeFehler in einer IF-Überprüfung behoben.

OUT	Inkontinenz-Fehler in der Schreibweise einer Variabel im
	Output Code behoben ( => iframe Höhenangabe )

28.06.2004
==========

out	IFRAME-HEIHT, IFRAME-WIDTH und IFRAME-BORDER werden bei der
	erzeugung eines IFRAMES im Output nun berücksichtigt.
	Überprüfung und ein ggf. setzen von Standartwerten wird nur
	rundimär durchgeführt.

in	Einstellungsmöglichkeiten für IFRAME-HEIGHT, IFRAME-WIDTH und 
	IFRAME-FRAMEBORDER eingebunden.


26.04.2004
==========

out	Anzeige für "sky_selected_file" und "sky_iframe_httpinput" und 
	die Umwandlung in ein entsprechendes IFRAME erstellt.
	
in	Auswahloption für "sky_selected_file" und "sky_iframe_httpinput"
	und deren Speicherung in entsprechende CMS_VALUE[x] erstellt

IFRAMEMODUL - INPUT

Code: Alles auswählen

$moddir			=	"iframedata/";

// VALUES
$sky_selectedfile	=	"CMS_VALUE[4000]";
$sky_iframe_width	= 	"CMS_VALUE[4001]";
$sky_iframe_height      = 	"CMS_VALUE[4002]";
$sky_iframe_border      = 	"CMS_VALUE[4003]";
$sky_iframe_style       = 	"CMS_VALUE[4004]";	// not used till yet
$sky_iframe_class       = 	"CMS_VALUE[4005]";	// not used till yet
$sky_iframe_httpinput   = 	"CMS_VALUE[4006]";

// VARIABLES
$sky_selectedfile2	=	"CMS_VAR[4000]";
$sky_iframe_width2	= 	"CMS_VAR[4001]";
$sky_iframe_height2     = 	"CMS_VAR[4002]";
$sky_iframe_border2     = 	"CMS_VAR[4003]";
$sky_iframe_style2      = 	"CMS_VAR[4004]";	// not used till yet
$sky_iframe_class2      = 	"CMS_VAR[4005]";	// not used till yet
$sky_iframe_httpinput2  = 	"CMS_VAR[4006]";	



// starting Modul Options Table
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";


// ################################################################################################
//  START FileChoose
// ################################################################################################

/* based on contenido internal upl function */
function sky_listdir_recursive ($currentdir, $startdir=NULL, $files=array(), $depth=-1, $pathstring="") 
{
    $depth++;

    $unsorted_files = array();

    if (chdir ($currentdir) == false)
    {
    	return;
    }

    // remember where we started from
    if (!$startdir) {
        $startdir = $currentdir;
    }
    $d = opendir (".");

    //list the files in the dir
    while ($file = readdir ($d)) {
        if ($file != ".." && $file != ".") {
                $unsorted_files[] = $file;
        }
    }
    if (is_array($unsorted_files)) sort($unsorted_files);
    $sorted_files = $unsorted_files;

    if(is_array($sorted_files)) {
        foreach ($sorted_files as $file) {
            if ($file != ".." && $file != ".") {

                if ((filetype(getcwd()."/".$file) == "dir") &&
                    (opendir(getcwd()."/".$file) !== false)) { 
                    $a_file['name']  = $file;
                    $a_file['depth'] = $depth;
                    $a_file['pathstring']  = $pathstring.$file.'/';;

                    $files[] = $a_file;
                    // If $file is a directory take a look inside
                    $files = sky_listdir_recursive (getcwd().'/'.$file, getcwd(), $files, $depth, $a_file['pathstring']);
                } else {
                    // If $ file is not a directory then do nothing
                    $a_file['name']  = $file;
                    $a_file['depth'] = $depth;
                    $a_file['pathstring']  = $pathstring;

                    $files[] = $a_file;                    
                }
            }
        }
    }

    closedir ($d);
    chdir ($startdir);
    return $files;
}



echo "  <tr valign=\"top\">
          <td>Upload Ordner Wählen:</td>
          <td>
            <select name=\"".$sky_selectedfile2."\">";
            
if ( $sky_selectedfile == "--KEIN--" )
{
	echo "        <option value=\"--KEIN--\" selected=\"selected\">-- KEIN --</option>";            
}
else
{
	echo "        <option value=\"--KEIN--\">-- KEIN --</option>";            
}
            

$sql = 'SELECT frontendpath FROM ' . $cfg["tab"]["clients"].' WHERE idclient = "'.$client.'"';
$db->query( $sql );
$db->next_record();
$l_upldir = $db->f("frontendpath");

function blub ( $vid , $vtxt)
{
echo '<option value="'.$vid.'">'.$vtxt.'</option>';
}


$sky_uploaddir = $cfgClient[$client]["upl"]["path"] . $moddir;
$sky_files = sky_listdir_recursive ( $sky_uploaddir , getcwd() );


if ( is_array($sky_files) )
{
	// Array ( [0] => Array ( [name] => cms [depth] => 0 [pathstring] => cms/ ) 
	while (list($lkey, $lvalue) = each ($sky_files)) 
	{
		if ( file_exists($sky_uploaddir.$lvalue['pathstring'].$lvalue['name'])) 
	  	{
			if ( $sky_selectedfile == $lvalue['pathstring'].$lvalue['name'] )
			{
				echo '<option value="'.$lvalue['pathstring'].$lvalue['name'].'" selected="selected">'.$lvalue['pathstring'].$lvalue['name'].'</option>';
			}
			else
			{
				echo '<option value="'.$lvalue['pathstring'].$lvalue['name'].'">'.$lvalue['pathstring'].$lvalue['name'].'</option>';			
			}
		}
	}
}


echo "      </select>
	  </td>
        </tr>";
        
// ################################################################################################        
//   End File Choose
// ################################################################################################

// ################################################################################################
//   START HTTPInput
// ################################################################################################

echo "  <tr valign=\"top\">";
echo "    <td>HTTP Link:</td>";
echo "    <td>";

echo "      <input type=\"text\" name=\"".$sky_iframe_httpinput2."\" value=\"".$sky_iframe_httpinput."\"> ";    

echo "    </td>";
echo "  </tr>";

// ################################################################################################
//   END HTTPInput
// ################################################################################################


// ################################################################################################
//   START IFRAME-WIDTH
// ################################################################################################
echo "  <tr valign=\"top\">";
echo "    <td>IFRAME-Width:</td>";
echo "    <td>";

echo "      <input type=\"text\" name=\"".$sky_iframe_width2."\" value=\"".$sky_iframe_width."\"> ";    

echo "    </td>";
echo "  </tr>";
// ################################################################################################
//   END IFRAME-WIDTH
// ################################################################################################

// ################################################################################################
//   START IFRAME-HEIGHT
// ################################################################################################
echo "  <tr valign=\"top\">";
echo "    <td>IFRAME-Height:</td>";
echo "    <td>";

echo "      <input type=\"text\" name=\"".$sky_iframe_height2."\" value=\"".$sky_iframe_height."\"> ";    

echo "    </td>";
echo "  </tr>";
// ################################################################################################
//   END IFRAME-HEIGHT
// ################################################################################################

// ################################################################################################
//   START IFRAME-BORDER
// ################################################################################################
echo "  <tr valign=\"top\">";
echo "    <td>IFRAME-Border:</td>";
echo "    <td>";

echo "      <input type=\"text\" name=\"".$sky_iframe_border2."\" value=\"".$sky_iframe_border."\"> ";    

echo "    </td>";
echo "  </tr>";
// ################################################################################################
//   END IFRAME-BORDER
// ################################################################################################

// closing Module Options Table
echo "</table>";            
IFRAMEMODUL - OUTPUT

Code: Alles auswählen

<?php

// Lese ausgewählte Datei aus.
$moddir			= "upload/iframedata/";
$sky_selected_file 	= "CMS_VALUE[4000]";
$sky_iframe_width	= "CMS_VALUE[4001]";
$sky_iframe_height      = "CMS_VALUE[4002]";
$sky_iframe_border      = "CMS_VALUE[4003]";
$sky_iframe_style       = "CMS_VALUE[4004]";	// not used till yet
$sky_iframe_class       = "CMS_VALUE[4005]";	// not used till yet
$sky_iframe_httpinput   = "CMS_VALUE[4006]";



// Arbeite Einstellungsvariabeln ab

// ###################################################################################
// START - IFRAME-WIDTH
if ( strlen($sky_iframe_width) > 0 )
{
	$ls_iframe_width = $sky_iframe_width;
}
else
{
	$ls_iframe_width = "100%";
}
// END - IFRAME-WIDTH
// ###################################################################################

// ###################################################################################
// START - IFRAME-HEIGHT
if ( strlen($sky_iframe_height) > 0 )
{
	$ls_iframe_height = $sky_iframe_height;
}
else
{
	$ls_iframe_height = "100%";
}
// END - IFRAME-HEIGHT
// ###################################################################################

// ###################################################################################
// START - IFRAME-BORDER
if ( strlen($sky_iframe_border) > 0 )
{
	$ls_iframe_border = $sky_iframe_border;
}
else
{
	$ls_iframe_border = "1";
}
// END - IFRAME-BORDER
// ###################################################################################


// check for NO FILE Selected

if ( $sky_selected_file != "--KEIN--" )
{
	// using selected file

	// überprüfe ob ausgewählte Datei noch existiert
	if ( file_exists( $moddir.$sky_selected_file ) )
	{

		// erzeuge IFrame Ausgabecode
		echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0" border="0">';
		echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">';
		echo '<iframe src="'.$moddir.$sky_selected_file.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
		echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
		echo '</iframe>';
		echo '</td></tr></table>
	}
	else
	{
		// using HTTP Input
		echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0"  border="0">';
		echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">';
		echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
		echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
		echo '</iframe>';
		echo '</td></tr></table>
	}
	
}
else
{
	// using HTTP Input
	echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0" border="0">';
	echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">';
	echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
	echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
	echo '</iframe>';
	echo '</td></tr></table>
}

?>
Ich denke das ich bis zum 26.09. die Version 0.3 alpha freigebe, aber bis dahin dürfte für die kurze Zeit die version 0.21 alpha die Probleme die mit der 0.2 alpha auftraten zunächst behoben worden sein.

Zeitgeist, warte auf deinen Bericht *g*

gruß

ein totmüder Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Mi 22. Sep 2004, 10:12

Vorsicht!

Code Red - Roter Punkt
bei der Ausgabe.

Vor Einsatz auf Fix warten

greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Do 23. Sep 2004, 21:52

argx mist ...


ne, fix wirds nich geben, morgen abend wird ver 0.3v released, aber nu fah ich erstmal nach hause vonne übung und geh dann erstmal pennen und morgen wieder dienst, hab heut leider keinen nerv mehr zu, sry.

stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Fr 24. Sep 2004, 15:06

ok, doch vorab hier mal der bugfix, weiß nich ob ich heut die lust und zeit finde die v0.3 fertigzustellen, daher der schnelle bugfix dochnoch erstmal.

Input bleibt glecih wie oben ( v0.21 ), nur der Output ist nun folgender:

Code: Alles auswählen

<?php

// Lese ausgewählte Datei aus.
$moddir			= "upload/iframedata/";
$sky_selected_file 	= "CMS_VALUE[4000]";
$sky_iframe_width	= "CMS_VALUE[4001]";
$sky_iframe_height      = "CMS_VALUE[4002]";
$sky_iframe_border      = "CMS_VALUE[4003]";
$sky_iframe_style       = "CMS_VALUE[4004]";	// not used till yet
$sky_iframe_class       = "CMS_VALUE[4005]";	// not used till yet
$sky_iframe_httpinput   = "CMS_VALUE[4006]";



// Arbeite Einstellungsvariabeln ab

// ###################################################################################
// START - IFRAME-WIDTH
if ( strlen($sky_iframe_width) > 0 )
{
	$ls_iframe_width = $sky_iframe_width;
}
else
{
	$ls_iframe_width = "100%";
}
// END - IFRAME-WIDTH
// ###################################################################################

// ###################################################################################
// START - IFRAME-HEIGHT
if ( strlen($sky_iframe_height) > 0 )
{
	$ls_iframe_height = $sky_iframe_height;
}
else
{
	$ls_iframe_height = "100%";
}
// END - IFRAME-HEIGHT
// ###################################################################################

// ###################################################################################
// START - IFRAME-BORDER
if ( strlen($sky_iframe_border) > 0 )
{
	$ls_iframe_border = $sky_iframe_border;
}
else
{
	$ls_iframe_border = "1";
}
// END - IFRAME-BORDER
// ###################################################################################


// check for NO FILE Selected

if ( $sky_selected_file != "--KEIN--" )
{
	// using selected file

	// überprüfe ob ausgewählte Datei noch existiert
	if ( file_exists( $moddir.$sky_selected_file ) )
	{

		// erzeuge IFrame Ausgabecode
		echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0" border="0">';
		echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">';
		echo '<iframe src="'.$moddir.$sky_selected_file.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
		echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
		echo '</iframe>';
		echo '</td></tr></table>';
	}
	else
	{
		// using HTTP Input
		echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0"  border="0">';
		echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">';
		echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
		echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
		echo '</iframe>';
		echo '</td></tr></table>';
	}
	
}
else
{
	// using HTTP Input
	echo '<table width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" cellpadding="0" cellspacing="0" border="0">';
	echo '<tr width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'"><td width="'.$ls_iframe_width.'" height="'.$ls_iframe_height.'" valign="top">';
	echo '<iframe src="'.$sky_iframe_httpinput.'" width="'.$ls_iframe_height.'" height="'.$ls_iframe_width.'" frameborder="'.$ls_iframe_border.'">';
	echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
	echo '</iframe>';
	echo '</td></tr></table>';
}

?>
so long

stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Sa 25. Sep 2004, 15:17

*LOL*
Stefan komm erst mal zur Ruhe und nimm ne "Hallo wach" :lol:

Also im Prinzip funktioniert es nun, auch mit der Höhe.....im Mozilla

ABER: Du hast Höhe und Breite verwechselt(!)

width: steuert die Höhe (height)
height: steuert die Breite (width)

also verdreht...was tun die Euch beim Bund in den Tee/Kaffee? :shock:

Im Prinzip musst Du im Backend nur die beiden Angaben/Begriffe/Bezeichnungen austauschen, dann ist alles OK

Gruß
TimeSpirit

PS: Also, wer es einsetzt (in dieser Form) muss daran denken, dass er ALLE Einstellungen bereits vorhandener IFrames (aus)tauschen muss.
Also die Werte/Einstellungen überarbeiten.(!)
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Zeitgeist » Sa 25. Sep 2004, 15:35

Nachtrag:
Ich habe nun alle entsprechenden Seiten angepasst.
Es funktioniert auch im Mozilla nun einwandfrei(!)

Lobenswert zu erwähnen wäre da noch, dass das IFrame Modul nun in den Einstellungen/Konfig in der Lage ist, sich die ausgewählte QuellSeite zu merken. Es muss also nicht mehr bei jeder kleinen Änderung/Anpassung die Quelldatei neu ausgwählt werden(!)

In meinen Augen eine erhebliche Arbeitserleichterung(!!)

Kompl. Stefan, ich bin auf die neue Version gespannt.
Wenn ich mich auch Frage was die besser/zusätzlich kann. (Kaffee kochen?) :lol:

Greets
TimeSpirit
Rechtschreibfehler sind nicht als "Fehler" sondern als Hommage an Pisa zu verstehen ;)
Keine Einträge im Errorlog :)
Contenido 4.4.4 - Firefox -

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Sa 25. Sep 2004, 16:16

gute frage, bis jetzt erstmal nichts wirkliches

in der nächsten wird nur der SourceCode gesäubert und im INPUT Modul die Anzeige standadisiert ( Schriftart, größe usw. ) so wie es bei meinem anderen Modulen schon der Fall ist, nur hier noch nich.

Außerdem wird zunächst im Output Modul alles in eine Klasse gekapselt, was den Sourcode übersichtlicher macht und die Möglichkeit für Änderungen und Erweiterungen einfacher macht ;)

Output ist schon up2date für next Rel, nur inpout noch nicht ...

axo, doch

In der nächsten Version wird es die Möglichkeit geben, im BackEnd STYLE und CLASS für das IFRAME Tag und für die Tabelle die es umgibt anzugeben.

;)

so long

Syr

@Zeit

danke dir als treuen tester ;) schon das aktuelle Nav-Mod getestet (v0.3 alpha ) ?

Gruß

Syr
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Gesperrt