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

Bewegungstween mit Actionscript 3 erstellen

Um über Actionscript3 einen Bewegungstween zu erstellen, muss man die Tween-Klasse benutzen.
Diese muss zuerst importiert werden:

import mx.transitions.Tween;
import mx.transitions.easing.*;

Die erste Importanweisung importiert die Tween-Klasse, die zweite die Beschleunigungsklassen. Nun kann man ein Tween-Objekt erstellen und den Tween umsetzen:

var myTween:Tween = new Tween(myMovieClip, "_alpha", Elastic.easeOut, 0, 100, 3, true);

Der Tween setzt den Clip myMovieClip von einem Alphawert 0 auf den Alphawert 100 innerhalb einer Geschwindigkeit von 3 Sekunden. Der vorletzte Wert gibt die Sekunden an, wenn der letzte Wert auf true steht. Steht der letzte Wert auf false, werden statt Sekunden Schlüsselbilder verwendet.

E-mail per Actionscript2 und PHP senden

Um aus einem Acionscript oder Actionscript 2 – gesteuerten Film eine E-Mail, z.B. aus einem
Formular zu versenden, kann man die PHP Funktion mail() nutzen, die über einen Webserver eine Mail versendet, ohne dass der User ein E-Mail Programm installiert haben muss, wie es z.B. bei mailto() der Fall ist.

Sagen wir das das Formular enthält 2 Eingabetextfelder firma und email. Nach Klick auf den Senden-Button führt man zuerst das Versenden der variablen durch. Wichtig ist im Beispiel, dass die swf im selben Verzeichnis wie das PHP-Script liegt.

sendbutton.onRelease = function
{
	var loadsend:LoadVars = new LoadVars()
	loadsend.sendAndLoad("script.php", this, "POST");
}

So sollte das PHP-Script aussehen:

//Empfänger E-Mail angeben
$mailto="email_des_empfaengers@web.de";

//Variablen verarbeiten
$inhalt = "Firma: ".$_POST['firma']."\n";
$inhalt .= "E-Mail: ".$_POST['email']."\n";

//Mail senden
$senden = mail($mailto, "Mail von".$_POST['firma'], $inhalt, "From: ".$_POST['email']);

//Wert zurückgeben
echo "senden=$senden";

Nach dem Versand steht in Flash die Variable senden zur Verfügung, welche bei erfolgreichem versand true, andernfalls false ist.

Mit attachMovie erzeugten MovieClip zentrieren / AS2

Um in Actionscript 2 einen mit attachMovie erzeugten MovieClip auf der Bühne zu zentrieren, geht man wie im folgenden Beispiel vor.

attachMovie('myClip','myNewClip',1);
myNewClip._width = 100;
myNewClip._height = 50;
myNewClip._x = (Stage.width/2) - (myNewClip._width/2);
myNewClip._y = (Stage.height/2) - (myNewClip._height/2);

Im Beispiel liegt der Clip myClip in der Bibliothek und wird mittels attachMovie() als myNewClip auf die Bühne gelegt. Dann werden ihm Höhe und Breite zugewiesen. Als letzten Schritt berechnen wir die Position, in dem wir die Bühnenbreite / Bühnenhöhe teilen und davon die halbe Breite / Höhe des Clips abziehen.