+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Content Editor erweitern

  1. #1
    Neu an Board
    Registriert seit
    27.08.2006
    Ort
    Offenburg
    Beiträge
    38
    Bedankte sich
    5
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Content Editor erweitern

    Hallo,
    ich habe im Administrator die Componente com_content dahingehend erweitert indem ich ein neues Tags rechts in das Menü eingebaut habe. Darin möchte ich hochgeladene Dateien auswählen die im Content als Link plaziert werden sollen.

    Gibts dazu schon was ähnliches was ich Codemäßig verwenden könnte? Ich hab auch uploadimage.php so geändert dass er mir Zip-Dateien in ein spezielles Verzeichnis schreibt.
    Die Probleme die ich jetzt habe sind, dass ich diese Datei verschlüsseln möchte und beim Download aber das Orginal brauche.
    Außerdem weiss ich noch nicht wie ich die hochgeladene Datei für die Auswahl in dem zusätzlichen Tab im Menü identifizieren könnte.

    Der Hintergrund ist folgender: Ich möchte ein Content Item erstellen in dem sich ein Download-Link befindet. Der Download soll aber erst durch Eingabe eines Codewortes möglich sein. Angemeldete User gibts in diesem System keine.

    Meine Seite lautet: www.accesshilfe.de

    Gruß Andreas

  2. #2
    Neu an Board
    Registriert seit
    27.08.2006
    Ort
    Offenburg
    Beiträge
    38
    Bedankte sich
    5
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo,
    ich will ja nicht nerven oder so, aber liegt das am Wochenende dass niemand Antwortet?
    Ich will ja erstmal nur wissen wie ich eine Datei (zip, pdf) innerhalb eines Content Items hochladen kann. Das kann doch nicht so schwer sein und müsste doch schon oft behandelt worden sein.

    Andreas

  3. #3
    Hat hier eine Zweitwohnung Avatar von kaspurlu
    Registriert seit
    08.03.2007
    Ort
    München
    Beiträge
    1.112
    Bedankte sich
    90
    Erhielt 211 Danksagungen
    in 197 Beiträgen

    Standard

    Über den Upload Button kann man standarmäßig Dateien im content hochladen.

    Der JCE Editor hat das erweitert, da gibts schon ein relativ komfortables Upload System vielleicht kannst du den Code daher übernehmen.
    ansonsten denk ich wirst du da wohl selbst zum programmieren anfangen müssen, mit der Verschlüsselung und allem!
    Event Table Edit Tabellenkomponente für verschiedenste Einsatzgebiete

  4. #4
    Neu an Board
    Registriert seit
    27.08.2006
    Ort
    Offenburg
    Beiträge
    38
    Bedankte sich
    5
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo,
    ja den Image-Uploader hab ich soweit schon modifiziert dass er mit zip, pdf und mdb in ein separates Verzeichnis hochlädt. Das Problem dabei ist, dass ich zu diesem Zeitpunkt keine Information habe unter welcher ID das Item gespeichert wird. Die Hochzuladende Datei müsste in die Tabelle jos_content geschrieben werden, mit richtigem Namen und verschlüsseltem Namen. Doch dazu blick ich noch nicht richtig in Joomla durch um das selbst zu machen.

    Der JCE Editor, ist das der Standardeditor in der Version 1.0.12 oder eine extra Komponente?

    Gruß Andreas

  5. #5
    Hat hier eine Zweitwohnung Avatar von kaspurlu
    Registriert seit
    08.03.2007
    Ort
    München
    Beiträge
    1.112
    Bedankte sich
    90
    Erhielt 211 Danksagungen
    in 197 Beiträgen

    Standard

    Extra Komponente
    Event Table Edit Tabellenkomponente für verschiedenste Einsatzgebiete

  6. #6
    Neu an Board
    Registriert seit
    27.08.2006
    Ort
    Offenburg
    Beiträge
    38
    Bedankte sich
    5
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    OK, habe den Mambot und die Komponente installiert und den Editor umgestellt - aber leider keine Möglichkeit Dateien hochzuladen. Auf der Webseite des Autors bei der Beschreibung dann dies:
    "The Media Manager and File Manager are now for Members only"
    Sprich das kostet pro Jahr 20 USD.

    Find ich nicht so gut.
    Gruß Andreas

  7. #7
    Neu an Board
    Registriert seit
    27.08.2006
    Ort
    Offenburg
    Beiträge
    38
    Bedankte sich
    5
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo,
    habe nun selbst eine Lösung gefunden:
    Zuerst in admistrator/components/com_content die Datei content.xml erweitern damit unter den Parametern 2 zusätzliche Eingabefelder für Dateiname und Passwort eingegeben werden können (bei mir am Dateiende aber noch vor </params> eingefügt):
    Code:
    <param name="UploadName" type="text" size="20" default="" label="Upload Dateiname" description="Geben Sie hier den Dateinamen der Datei ein" />	
    <param name="DownloadCode" type="text" size="20" default="" label="Download-Code" description="Geben Sie hier ein 4-5 stelliger Download-Code ein, nur Großbuchstaben verwenden, keine Zahlen" />
    Dann unter components/com_content (Frontend Komponente) in content.php in der Funktion show() (zeile ca. 1550) folgendes einfügen:
    Code:
    $pass = strval( mosGetParam( $_REQUEST, 'pass', '' ) );
    Und am Ende der Funktion ca. Zeile 1770 den Funktionsaufruf ändern:
    Code:
    $cache->call( 'HTML_content::show', $row, $params, $access, $page, $pass );
    In der Datei content.html.php dann in Funktion show() ca. Zeile 433, die Funktionsdeklaration ändern:
    Code:
    function show( &$row, &$params, &$access, $page=0, $pass='') {
    Dann weiter unten nach den Zeilen:
    // displays Item Text
    echo ampReplace( $row->text );
    ?>

    folgendes Einfügen:
    Code:
    <br />
    <?php
    	if ( !$pass == '') {
    		if ($params->get( 'DownloadCode' ) == $pass){
    			$filename = $params->get( 'UploadName' );
    			$verz = 'accessanwenderpro/';
    			$pfad = $_SERVER['DOCUMENT_ROOT'];
    			$pfad = str_replace('\\','/',$pfad);
    			$pfad = substr($pfad,0,strrpos($pfad,'/'));
    			$pfad = $pfad.'/'.$verz;
    			$filename = stripslashes($filename);
    			if(!file_exists($pfad.$filename) ){echo '<h3>Datei nicht gefunden</h3>';}
    			else{
    				clearstatcache();
    				header("Content-Type: application/octet-stream");
    				header('Content-Disposition: attachment; filename='.$filename);
    				readfile($pfad.$filename);
    			}
    		}
    		else
    			echo '<form name="passform" method="Post"><input type="password" name="pass" size="10">&nbsp;&nbsp;<input type="submit" value="Anfordern"></form>Falscher Download-Code!';
    	}
    	elseif ( $params->get( 'UploadName' ) ) {
    		echo '<form name="passform" method="Post"><input type="password" name="pass" size="10">&nbsp;&nbsp;<input type="submit" value="Anfordern"></form>';
    	}
    ?>
    $verz = 'accessanwenderpro/'; müsst ihr natürlich noch anpassen, das ist bei mir der Ordner wohin ich die Dateien hochlade.
    Um sicher zu sein dass nur über dieses Script auf die Downloads zugegriffen wird, sollte das Verzeichnis das ihr dafür verwendet mit htaccess geschützt sein.

    So ich hoffe ich hab nichts vergessen.
    Und wie immer, ohne Gewähr, und bitte vor der Modifikation Sicherheitskopien anlegen!

    Gruß Andreas

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein