Archive for Januar, 2008

Absolute URLs im FCKEditor

Standardmäßig werden im FCKEditor nach dem Bild- oder Dateiupload nur relative Pfade zur Datei gespeichert. In einem mehrbenutzerfähigen System liegen die Daten aber häufig in einer zentralen Datenbank und sollen von verschiedenen URLs abgerufen werden. Ein weiteres Szenario wäre z.B. ein HTML-Newsletter mit absoluten Pfaden zu den Bilddaten auf dem Webserver.

Um den Filebrowser im FCKEditor auf absolute Pfade umzustellen kann man die Datei “fckeditor\editor\filemanager\browser\default\frmresourceslist.html wie folgt modifieren.

// Build the link to view the folder.
var sLink = ‘<a href=”#” onclick=”OpenFile(\” + ProtectPath( fileUrl ) + ‘\’);return false;”>’ ;

Erweitern wir einfach um die Stamm-URL (die URL der zentralen Datenhaltung):

// Build the link to view the folder.
var sLink = ‘<a href=”#” onclick=”OpenFile(\’http://www.meinesite.de’ + ProtectPath( fileUrl ) + ‘\’);return false;”>’ ;

Kein Kommentar »

FCKEditor in mehrbenutzerfähiges CMS integrieren

Um den WYSIWYG-HTML-Editor in ein mehrbenutzerfähiges System (z.B. eine Mall oder gemeinsam genutztes CMS mit getrennter Dateiverwaltung) zu integrieren sind folgende Anpassungen notwendig:

  1. Die entsprechende Nutzer-ID in der Klasse “FCKeditor” deklarieren:
    var $userId;
  2. Die Nutzer-ID in der Methode “FCKeditor()” (in Klasse FCKeditor) initieren:
    $this->userId = ”;
  3. Weiter unten, in “CreateHtml()” den Querystring in der Variable $Link erweitern:
    $Link = “{$this->BasePath}editor/{$File}?InstanceName=
    {$this->InstanceName}&
    userId={$this->userId}” ;
  4. Nun benötigen wir eine Funktion um den Querystring in JavaScript auszuwerten, hierfür binden wir folgendes Script in die Datei fckeditor.html ein: querystring.js (download). Dies erfolgt z.B. über die Funktion LoadScript(’../querystring.js’) und muss vor dem Aufruf LoadScript(’../fckconfig.js’) erfolgen.
  5. Anschließend ergänzen wir die fckconfig.js um folgende Zeilen:
    var qs = new Querystring();
    var _userId = qs.get(”userId”);
    Dies sollte unbedingt noch vor den Deklarationen “FCKConfig.Linkbrowser = true” etc. erfolgen.
  6. Jetzt ergänzen wir noch die URLs sämtlicher Filebrowser um folgende Parameterübergabe:
    FCKConfig…URL = …Extension + ‘?CMS_ID=’ + _CMSID ;
  7. Abschließend fangen wir die Variable im Filemanager ab und ergänzen den Pfad in der Variable $Config['UserFilesPath'] in der Datei editor\filemanager\connectors\php\config.php um die Nutzer-Id ‘mein/pfad/’.$userId.’/';
    Weiterhin müssen wir $Config['Enabled'] auf true setzen.

Nun sollte jeder Benutzer seine Dateien in ein eigenes Verzeichnis hochladen und niemand kommt sich mit seinen Dateien in die Quere. Da die Quickupload-Funktion Probleme bereitet hat habe ich diese deaktiviert, die Anwender müssen somit über den Filemanager Ihre Dateien hochladen und verwalten.
Diese Angaben basieren auf dem FCKEditor 2.51 in Verbindung mit PHP 4

Kein Kommentar »

Variable Variablennamen in PHP

Auch wenn ich von dieser Vorgehensweise abrate und in diesem Fall zu einem Array tendieren würde kommt man z.B. bei der Weiterentwicklung von bestehenden Code manchmal nicht daran vorbei einen Variablennamen in PHP dynamisch zu erzeugen.

Der Name unserer Testvariablen lautet z.B. $text1, $text2, $text3 etc.

for ($i=0; $i<10; $i++) {
  echo $GLOBALS["text$i"];
}

Quelle: PHP-FAQ



									

Kein Kommentar »

Festplatte über 128 GB unter Windows 2000

Auch wenn das bereits ein bekanntes Problem ist, man stolpert doch öfter mal drüber. Deshalb möchte ich es an dieser stelle Archivieren.

Folgender Registry Eintrag schafft abhilfe:

Unter HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Atapi\ Parameters\ muss der Wert EnableBigLba als DWORD mit dem Wert 1 angelegt werden. Danach lässt sich die Festplatte ebenfalls voll nutzen. Hinweis von Microsoft: Die oben genannte Registrierungseinstellung wird in Windows XP SP1 und höher ignoriert.

[Weitere Informationen und Quelle]

Kein Kommentar »

Kommandozeilenoptionen für XnView NConvert

NConvert (V4.85/4.51) ist ein Bildkonvertierer für den Kommandozeilen- und Batch-Modus. Dieser ermöglicht u.a. das automatisierte erstellen von weboptimierten Bilddaten oder Vorschau Bildern von EPS, AI, PDF-Dateien etc. Neben NConvert gibt es auch noch eine GFL SDK Bibliothek, diese habe ich allerdings noch nicht getestet.

Die wichtigsten Optionen für NConvert gibts hier:
http://newsgroup.xnview.com/viewtopic.php?t=12247

Um hochauflösende Bilddaten in einer vernünftigen Qualität auf das Web herunterzurechnen sollte man hierfür einen vernünftigen Algorithmus verwenden (z.B. -rtype lanczos), im Anschluss sollte man die heruntergerechnete Grafik noch schärfen (z.B. -sharpen 20). Falls nötig kann der Rahmen noch auf eine bestimmte Größe gerechnet werden (z.B. -canvas 500 300 center) und die Hintergrundfarbe definiert werden (z.B. -bgcolor 255 255 255).

Gegenüber Adobe Photoshop gibt es allerdings noch einen großen Nachteil - es werden derzeit keine ICC-Profile unterstützt. Ich hoffe, dass ich auch hierfür demnächst eine geeignete Lösung finde.

Kein Kommentar »