Seite 1 von 2

Telefonbuch Modul

Verfasst: Sa 22. Mai 2004, 23:00
von nomore
Hallo zusammen, hat jemand von euch schon einmal versucht ein Telefonbuch zu intigrieren? Bzw. ein vorhandenes Script zu includen?

Verfasst: Di 25. Mai 2004, 09:01
von Acidgod
Also ein Include kannste ja ganz einfach als Modul anlegen... (o:

Einfach in der Ausgabe folgendes eintragen:

Code: Alles auswählen

<?PHP

include("/serverpfad/script.php");

?>

Verfasst: Di 25. Mai 2004, 12:11
von SkyBlader
öhm ..

hab für ne Fernmeldestelle der BW ein FsprVerz Verwaltungssystem mit Module ( Telefonbuch ) für Contenido geschrieben ... allerdings arbeite die Verwaltung der Daten auf einem Accessfrontend ..

sobald ich nen Fiktiven Datenbeschtand habe kann ich mal die Module zur ansicht bereitstellen, is aber nicht für den Internet einsatz gedacht.

So long

stefan

Verfasst: Di 25. Mai 2004, 19:21
von nomore
Das mit dem Includen per Modul ist ja Ok, danke für den Tipp!
Aber ich will, das die externe Anwendung innerhalb des Contenido läuft.
Ist das möglich?

Verfasst: Di 25. Mai 2004, 20:07
von Acidgod
Ja warum nicht?
Du kannst Dir die Daten ja durch ein externes Script includen.
Und alle erforderlichen Parameter kann man dann doch beim include mit übergeben.

Gebe aber keine Garantie, da ich selber nicht so den Plan habe... (o:

Verfasst: Mi 26. Mai 2004, 07:29
von nomore
Ok das werde ich mal versuchen. Danke! :lol:

Verfasst: Mi 26. Mai 2004, 18:17
von SkyBlader
Noch ein Tip. Bitte beachte das Gesetz zum Datenschutz wenn du so ein Dienst im Internet zur verfügung stellst.. kann nähmlich ganz schnell böse enden.

Verfasst: Mi 26. Mai 2004, 20:40
von nomore
Mach ich nicht, bei meinem Projekt handelt es sich um das Intranet meiner Firma. :wink:
Aber trotzdem Danke für den fürsorglichen Hinweis! Man findet nicht in jedem Forum solche User. :D

Verfasst: Do 27. Mai 2004, 15:55
von SkyBlader
Auch für ein Intranet-Projekt gilt das Datenschutzgesetz. Zieh es dir also am besten mal rein.

Mal was anderes.

Hast du nur ein Telefonbuchsystem das auf php/mysql basiert das du includen willst ? oder bruachst du nen eigenes ? oder einfach nur Module die die Daten die schon in eienr DB stehen anzeigt ?

SChrieb doch einfach mal ein paar Randdaten was du genau brauchst, vlt läßt sich ja das BW Teil auf deine Bedürfnisse runterschrauben ;)

so long
Stefan

Verfasst: Do 27. Mai 2004, 18:32
von nomore
Also hier nun die Randdaten:

Es handelt sich hierbei um die Einbindung eines schon im Intranet laufenden Telefonbuchscripts (Intratel), das natürlich nur die Telefonnummern der Hausapparate der Mitarbeiter anzeigt, was somit logischerweise keinen datenschutzrechtlichen Verstoss darstellt :-) Das Intranet läuft unter BigApache (PHP 4.3.6 /MySQL 4.0.18/Apache 2.0.49.
Bisher war das Intranet zum größten Teil in HTML realisiert, bis auf das Telefonbuchscript. Jetzt habe ich halt vor, mit Contenido das ganze unter eine Haube zu bringen. Und hier liegt mein Problem. Wie kann ich das Telefonscript so in Contenido (4.4.4) einbinden, das es komplett mit allen Links z.B. Suche......läuft. :cry:

Verfasst: Fr 28. Mai 2004, 09:23
von SkyBlader
wenn du zugriff auf die Datenbank hast , dann schreib ein Modul das die Daten dann anzeigt.

Includen .. noch nie gemacht, aber hier im Forum gibts postings um Andere systeme via WebGrab oder wie das hieß einzubinden .. aber damit hab ich keine erfahrung.

Eine andere Möglichkeit wäre, das du mit nem IFrame arbeitest und dein script innehrahlb dieses IFrame einbindetst. damit hast die Parametübergabe problematik erledigt ..

Für IFrame kann ich dir nen module geben, das schon funzt aber noch im pre alpha stadium ist ;)

so long

stefan

Verfasst: Fr 28. Mai 2004, 12:11
von nomore
Das mit dem IFrame Modul hört sich gut an, kannst du es mir senden? Danke!

Verfasst: Fr 28. Mai 2004, 15:19
von SkyBlader
Ok, hier kommt das Modul. Wie aber schon angekündigt, ist es eine pre-alpha fassung. Ich hab es bei der BW im einsatz, möchte es aber für die Community Benutzerfreundlicher und Konfigurierbarer machen. Dieses Modul steht aber auf meiner Liste ganz hinten.

MOD_IFRAME_PICKER_01alpha - CHANGELOG

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL
*
* Modulname    :	MOD_NUplFile_IFrame_Picker
* Modulversion :	0.1 alpha 
* Author       :	Stefan Bürk
* Kontakt      :	Email: webmaster@skyblader.org
* Copyright    :	SkyBlader Networxx - Stab 7. Panzerdivision, Stefan Bürk
* C-Version    :	4.4.4
* Created      :	26-04-2004
* Modified     :	28-05-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 evtl mit vielen unabgefangenen Fehlerquellen
* behaftet.
*
* Dieses Modul wird schon benützt und ist funktions-
* fähig, eine ausführliche Testphase wird erst erfolgen
* wenn weitere Features implementiert wurden.
* 
************************************************/

28.05.2004
==========

in/out	Erstellen von Kommentaren für ein PRE-ALPHA-RELSEASE für
		ein Community-Mitglied im Contenido-Forum.

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

-------------------------
MOD_IFRAME_PICKER_01alpha - INPUT

Code: Alles auswählen

//------------------------------------------------------------------------------
// MODUL CONFIG
//
// Modul-Path in <CLIENTPATH>/upload/
// Uploaddirectory for the filepicker part
$moddir			=	"iframedata/";
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// !!! DO NOT CHANGE ANYTHING BELOW IF YOU DO NOT KNOW WHAT YOU DO !!!!
//------------------------------------------------------------------------------

$sky_selectedfile		=	"CMS_VALUE[4000]";
$sky_iframe_httpinput   = 	"CMS_VALUE[4006]";

// folgende Values werden noch nicht verwendet
$sky_iframe_width		= 	"CMS_VALUE[4001]";
$sky_iframe_heiht       = 	"CMS_VALUE[4002]";
$sky_iframe_border      = 	"CMS_VALUE[4003]";
$sky_iframe_style       = 	"CMS_VALUE[4004]";
$sky_iframe_class       = 	"CMS_VALUE[4005]";



// 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=\"CMS_VAR[4000]\">";
            
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=\"CMS_VAR[4006]\" value=\"".$sky_iframe_httpinput."\"> ";    

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

// ################################################################################################
//   EBD HTTPInput
// ################################################################################################

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

Code: Alles auswählen

<?php

// read selected file.
$sky_selected_file 		= "CMS_VALUE[4000]";
$sky_iframe_httpinput   = "CMS_VALUE[4006]";

// following vars are reserved for future versions
$sky_iframe_width		= "CMS_VALUE[4001]";
$sky_iframe_heiht       = "CMS_VALUE[4002]";
$sky_iframe_border      = "CMS_VALUE[4003]";
$sky_iframe_style       = "CMS_VALUE[4004]";
$sky_iframe_class       = "CMS_VALUE[4005]";



// check for NO FILE Selected

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

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

		// erzeuge IFrame Ausgabecode
		echo '<iframe src="'.$sky_selected_file.'" width="300" height="200" frameborder="0">';
		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="100%" height="100%" frameborder="0">';
		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="100%" height="100%" frameborder="0">';
	echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
	echo '</iframe>';
}

?>
Dies ist ein Modul. Einfach das Modul erstellen und dann einem Container in einem Layout über das Template zuweisen. In der Kategorie/Artikel Übersicht kannst du dann das Modul für jeden Artikel/Kategorie konfigurieren.

Das Modul bietet dir 2 Möglichkeiten:

1. Anzeigen einer Website per "http://" angabe als IFRAME
2. anzeigen einer Datei die sich im Modulpfad ( im Input-Teil des Moduls in der ersten Sourcecode zeile einstellbar) im Uploadordner des entsprechenden Clients(Mandanten) befindet.

Hoff das hilft dir erstmal ein wenig weiter.

Ach ja .. pssst .. ich geb ungern pre-alpha/alpha release raus, aber ich mach mal für dich eien ausnahme ;)

so long

stefan

Danke

Verfasst: Fr 28. Mai 2004, 17:36
von nomore
Dankeschön! :lol: Muß ich Etwas besonderes beachten? Pfadangabe zu dem Telefonbuch-Scipt?

Verfasst: Fr 28. Mai 2004, 18:04
von SkyBlader
öhm .. wenn du den link mit http:// angibst muß der servername falls nicht ip vom Client aufgelöst werden können.

wenn du einen Relativien Pfad eingibst, mußt du von der frontent.php des Mandanten ausgehen bzw dem ordner wo diese liegt.

Wenn du einen Absolutenpfad angibst muß der Webserver auf diesen zugreifen können ;)

Im prinzip die Normalen bedingungen wie bei einem A HREF oder INCLUDE usw.

sers

Stefan