FCKeditor einbauen und verwenden

Als erstes sollte man sich den FCKeditor herunterladen, was man am besten hier tut:
Zum Download

Nun entpackt man das Archiv und lädt es in das Wurzelverzeichnis des Webspaces. Sollte man ein anderes Verzeichnis bevorzugen
so müssen die genannten Pfade eben angepasst werden.

Über folgende Zeile wird der Editor importiert:

include_once("fckeditor/fckeditor.php");

Dann muss eine Instanz des Editors in ein Formular verpackt werden, wozu man ersteinmal ein Formular generiert muss, in welches man
dann den Editor integriert. Der Submit-Button wird gleich mit angelegt:

 

Nun setzt man einfach den Editorcode ein, direk vor den Submit-Button:

$oFCKeditor = new FCKeditor('FCKeditor1');//Instanz erzeugen
$oFCKeditor->BasePath = 'fckeditor/';//Pfadangabe

$oFCKeditor->Value = $vorbelegung;//Hier kann das Editorfeld mit Text vorbelegt werden
$oFCKeditor->Create();//Editor erzeugen
$sValue = stripslashes( $_POST['FCKeditor1'] );

Klickt man nun auf den Submit-Button kann man mit $_POST[‚FCKeditor1‘] arbeiten.

Kapselung in PHP / ab PHP5

Das objektorientierte Konzept der Kapselung hat seit der Version 5 in PHP Einzug gehalten. Ab PHP5 hat der Entwickler die Möglichkeit, Attribute und Mehoden mit pbulic, protected und private zu verstecken. Die Bedeutung der Schlüsselwörter ist wie folgt:

  • public
    Auf Variablen oder Methoden, die mit public deklariert sind, kann von jedem Benutzer der Klasse zugegriffen werden.
  • protected
    Auf Variablen oder Methoden, die mit protected deklariert sind, kann nicht von jedem Benutzer der Klasse zugegriffen werden.
    Allerdings ist der Zugriff über vererbte Klassen möglich.
  • private
    Auf Variablen oder Methoden, die mit private deklariert sind, kann nur innerhalb der Klasse, in welcher sie definiert wurden, zugegriffen werden.
    Auch der Zugriff über vererbte Klassen is hier nicht möglich.

PHP Vererbung

Das objektorientierte Konzept der Vererbung findet seit einiger Zeit auch bei PHP Anwendung, seit PHP 5 sowieso.
Vererbung wird immer dann eingesetzt, wenn man eine neue Klasse erstellen möchte, die ähnliche Eigenschaften und Methoden besizt, wie eine bestehende Klasse. Man setzt also die Vererbung ein, um die neue Klasse zu erweitern, ohne die Elternklasse zu ändern.
In PHP leitet man eine neue Klasse von einer bestehenden Klasse folgendermaßen ab:

class Neue_Klasse extends Alte_Klasse
{

}

Das Schlüsselwort extends zeigt an, dass es sich um eine Ableitung handelt.
Es stehen automatische alle Eigenschaften und Funktionen der alten Klasse zur Verfügung.

In PHP5 gibt es allerdings noch die __contruct()-Methode, die bei der Intitialisierung einer Klasse immer aufgerufen wird, die aber
bei der Ableitung über extends extra in der neuen Klasse aufgerufen werden muss, und zwar so parent::construct(); :

class Neue_Klasse extends Alte_Klasse
{
	function __construct()
	{
		parent::construct();
	}
}

Darüberhinaus ist es gut zu wissen, dass in PHP5 als private deklarierte Funktionen nicht vererbt werden.

CLI funktioniert nicht mehr

Xampp wurde gerade installiert, um damit symfony lokal auf einem Windows Vista – Rechner zu testen. Nun kommt es aber zu einem Problem, wenn man symfony Befehle an der Kommandozeile bzw. über die Windows-Eingabeaufforderung (cmd) eingibt.

Immer dann, wenn man also an der Kommandozeile symfony-Befehle eingebe, wie z.B. symfony init-project, symfony -V etc, poppt eine Vista Fehlermeldung auf, die sagt:
CLI funktioniert nicht mehr.

Schaut man dann die Problemdetails an, so ist der Auslöser dieses Fehlers, die mit xampp installierte php.exe.

Folgendes hilft:
1.
Download derselben PHP-Version, in diesem Falle PHP 5.2.8, die bereits mit xampp installiert wurde.
http://www.php.netdownloads.php

2. Entpacken des Archives und Ersetzen der alten Dateien im xampp-PHP-Verzeichnis mit den neuen, also denen die man eben gerade herunergeladen hat

Dabei wird die alte php.exe überschrieben und der Fehler ist behoben.

Symfony unter Windows / xampp installieren

Um das PHP-Framewprk symfoy unter Windows zu installieren, sollte man sich zuerst die aktuelle xampp-version besorgen und installieren.
Dies kann man zum Beispiel hier tun:
http://www.apachefriends.org/de/xampp.html

Apache und MySQL als Dienste gleich mitinstallieren und dann war’s das schon.
Sollte xampp beim ersten Start meckern, dass Port 80 oder Port 443 bereits belegt sind, dann liegt’s mit ziemlicher Sicherheit an Skype.
Lösung: Bei Skype kann man unter Aktionen->Optionen->Erweitert->Verbindung das Häkchen bei Ports 80 und 443 als Alternative für eingehende Verbindungen verwenden herausnehmen.
Nun lädt man sich die neues Symfony-Version herunter und entpackt sie nach C:\symfony.
Downloaden kann man sich die neueste Stable Version hier:
http://www.symfony-project.org/installation

Im Ordner C:\symfony\data\bin muss jetzt noch die symfony.bat angepasst werden.
Zeile 25 ersetzt man hiermit:

 %PHP_COMMAND% "C:\symfony\data\bin\symfony" %*

Zeile 34 ersetzt man hiermit:

 set PHP_COMMAND=C:\xampp\php\php.exe

Wir gehen jetzt davon aus, dass C: unser Projektverzeichnis wird. Über die Eingabeaufforderung (Start->Ausführen->cmd) tippen wir also folgendes ein, um einen Projektordner anzulegen:
cd C:\
mkdir newProject

Um jetzt Projektdateien dorthin zu kopieren, tippt man in der Konsole einfach
symfony init-project projektName
ein.

Jetzt kann man normal mit symfony arbeiten..

Falsche Rechte nach Upload von Bildern in Contenido

Gerade tauchte folgendes Problem auf:
Nach dem Upload von Bildern über die Contenido (V. 4.6.15) Dateiverwaltung konnten die hochgeladenen Bilder aber nicht im Artikel eingefügt werden. Nach einem Blick auf den Webserver konnte festgestellt werden, dass die Bilder nach dem Upload mit falschen Rechten (chmod 666) ausgestattet waren, obwohl der Ordner die richtigen Rechte hatte.
Ein Zugriff auf den Webserver per ssh war nicht möglich. Dank des Contenidoforums konnte folgende Lösung gefunden werden.
Man lege im Ordner www.domain.de/contenido/plugins/chains/includes die Datei include.chain.upload.uploadpreprocess.php an.
Diese befüllt man mit folgendem Code:

function cecUploadPreprocess($temp_name, $new_name)
{
   if(file_exists($temp_name))
   {
      @chmod($temp_name, 0755);
   }
   
   if(file_exists($new_name))
   {
      @chmod($new_name, 0755);
   }
   
    return $temp_name;
   }

Es ist sehr wichtig, auf Leezeichen vor und nach den header already sent Fehlermeldung kommt.

Als zweiten und letzten Schritt muss man nun noch die Datei config.plugin.php anpassen bzw. erweitern.

cInclude("plugins", "chains/includes/include.chain.upload.uploadpreprocess.php");
$_cecRegistry->addChainFunction("Contenido.Upload.UploadPreprocess", "cecUploadPreprocess");

Das war’s… wenn’s nicht gehen sollte, dann kommentiert einfach diesen Beitrag!

Div Box mittig ausrichten / zentrieren

Um eine Div Box horizontal mittig auszurichten, setzt man margin:auto. Dies funktioniert allerdings nur dann, wenn das umgebende Element also z.B. eine Breite von 100% besitzt. Zentriert wird immer releativ zum umgebenden Element.
Damit alles korrekt funktioniert ist auch ein korrekter Doctype wichtig, z.B.

Das Beispiel mal insgesamt:






Mittig