Archiv

Artikel Tagged ‘PHP’

Mail verschicken mit PHPmailer & SMTP Auth

27. November 2009 daniel Keine Kommentare

Zum versenden von Emails mit SMTP-Auth unter PHP könnt ihr unter anderem die Library PHPmailer verwenden.
Diese ist kostenlos zu laden unter sourceforge.net/projects/phpmailer

Die folgende PHP-Funktion zeigt wie damit HTML-Mails inkl. Anhang sowie vorherigen SMTP-Auth versendet werden können:


function sendmail($subject='', $recipient='', $body='', $FILES = array())
 {
 //Klasse einbinden
 require_once(PFAD_ZU_PHPMAILER_CLASS  .  '/phpmailer/class.phpmailer.php');

 //Instanz von PHPMailer bilden
 $mail = new PHPMailer();

 // Parameter setzen
 $mail->IsSMTP(); //Versand SMTP festlegen
 $mail->Host = "smtp.server.de"; //SMTP-Server setzen
 $mail->SMTPAuth = true;     //Authentifizierung aktivieren
 $mail->Username = "UserName";  // SMTP Benutzername
 $mail->Password = "UserPassword"; // SMTP Passwort
 $mail->IsHTML(true);
 //$mail->AddEmbeddedImage('logo.jpg', 'logoimg', 'logo.jpg'); // attach file logo.jpg, and later link to it using identfier logoimg
$mail->AltBody='Hier kann optional der alternative Body Text Definiert werden';

 // Return Path setzen
 $mail->Sender = 'absender@email.com';

 //Absenderadresse der Email setzen
 $mail->From = 'absender@email.com';

 //Name des Abenders setzen
 $mail->FromName = 'User XY';

 //Empfaengeradresse setzen (mehrere Empfaenger durch Komma trennen, soll jede E-Mail separat verschickt werden so muss ein Array uebergeben werden)
 $mail->AddAddress($recipient);

 //Empfaenger einer Blindkopie setzen
 $mail->AddBCC('bcc@email.com', 'bcc2@email.com');

//Empfäer einer Kopie setzen
//$mail->AddCC('cc@email.com');

 //Betreff der Email setzen
 $mail->Subject = $subject;

 //Text der EMail setzen
 $mail->Body = $body;

 // Dateien anhäen?
 for($i=0; $i<count($FILES); $i++)
 {
$mail->AddAttachment($FILES[$i]['pfad'], $FILES[$i]['name']);
 }
 // Senden
 $mail->Send();

 }

Firebug über PHP ansprechen

19. November 2009 daniel Keine Kommentare

firebug

Firebug mit FirePHPCore-Library ansprechen

Mit der folgenden Funktion könnt ihr Firebug mit Hilfe der FirePHPCore ansprechen, dazu ggf. den entsprechenden Pfad zur Library anpassen (bei path to library):

function firebug($array=array(), $error_reporting=true)
{
  if($error_reporting)
error_reporting(E_ALL);</pre>
// path to library
require_once PFAD_RELATIV . "/class/Firebug/FirePHP.class.php";
$firephp = FirePHP::getInstance(true);
require_once (PFAD_RELATIV."/class/Firebug/fb.php");
//$firephp->group('Debug Group');
$firephp->dump('dump', $array);
//$firephp->fb($array, 'dump', FirePHP::DUMP);
$firephp->fb($array, 'dump', FirePHP::INFO);
//$firephp->groupEnd();
}

Firebug in ZendFramework ansprechen

Mit der folgenden Funktion könnt ihr Firebug direkt im ZendFramework ansprechen


function firebug($value= '')
{
 $writer = new Zend_Log_Writer_Firebug();
 $logger = new Zend_Log($writer);

 $request = new Zend_Controller_Request_Http();
 $response = new Zend_Controller_Response_Http();
 $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
 $channel->setRequest($request);
 $channel->setResponse($response);
 // Start output buffering
 ob_start();
 // Now you can make calls to the logger
 $logger->log($value, Zend_Log::INFO);

 // Flush log data to browser
 $channel->flush();
 $response->sendHeaders();
}

Weiter führende Links

Online CMS, Blog, Foren, Groupware, Portale und weitere Systeme vergleichen ohne Installation

16. November 2009 daniel Keine Kommentare

php-opensourcecms-comKostenlose Open-Source Content-Management- (CMS), Blog-, Foren-, Groupware-, Portal- oder andere Systeme gibt es mittlerweile wie Sand am Meer. Den Überblick zu behalten ist eine Sache, jeweils eine Demo-Installation aufzusetzen um die Funktionalitäten des Systems im Detail zu analysieren, eine andere. Wer nicht gerade sein Urlaub oder andere kostbare Zeit damit verbringen möchte, dem empfehlen wir die  Seite opensourcecms welche fertige Demo-Installationen von über 200 fertig installierten Scripts vorweisen kann, auch der Zugriff auf das Admin-Backend ist möglich.

Ein Klasse Service den wir gerne weiter empfehlen und nicht mehr missen wollen!

Sie Benötigen Unterstützung bei der Installation oder Anpassung von OpenSource-Scripte?

Fly2Mars-Media unterstützt Sie bei diesem und vielen anderen Themen rund um Internet & IT . Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

Twitter in Webseite einbinden (Twitter Remote Connect)

10. November 2009 daniel Keine Kommentare

twitter

Mit der folgenden PHP-Klasse könnt ihr euch mit Twitter verbinden und von Eurem Benutzer-Account die letzten Tweets auslesen um sie z.B. auf Eure Webseite einzubinden:

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */

/*
 * Twitter connector class
 */
class twitterConnect
{
 // http://www.webmasterpro.de/coding/article/php-twitter-in-eine-webseite-einbinden.html
 protected $twitter = null;

 public function __construct($userName = '', $pw = '')
 {
 $this->twitter = curl_init();
 curl_setopt($this->twitter, CURLOPT_USERPWD, $userName . ':' . $pw);
 }

 /*
 * get last X tweets
 * @var $tweet int
 */
 public function getLastTweets($tweets = 5)
 {
 //get last x tweets
 curl_setopt($this->twitter, CURLOPT_URL,
             'http://twitter.com/statuses/user_timeline.json?count=' . $tweets);
 curl_setopt($this->twitter, CURLOPT_RETURNTRANSFER, TRUE);

 $twitterData = curl_exec($this->twitter);

 // convert to array
 $twitterDataArray = json_decode($twitterData);

 return $twitterDataArray;
 }

 public function getOutLastTweets($tweets)
 {

 // get only text out
 foreach($this->getLastTweets(10) as $id => $value)
 {
 echo "tweet $id: " . $value->text . '<br/>';
 }
 }
}

Objekt erzeugen / Klasse verwenden

// get out text from last 10 tweets
$twitterConnect = new twitterConnect('twitterUserLoginName', 'twitterUserPassword');
$twitterConnect->getOutLastTweets(10);

$twitterResponseData = $twitterConnect->getLastTweets(10);
// get data out from array
echo '<pre>';
print_r($twitterResponseData);
echo '</pre>';

Sie Benötigen Unterstützung bei der Erstellung oder Anpassung eines Ihrer PHP- oder MySQL-Scripte?
Benötigen Sie eine Individual-Entwicklung oder möchten Ihr bestehendes System erweitern?

Fly2Mars-Media unterstützt Sie in diesem und vielen anderen Bereichen rund um das Thema Internet & IT!

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

Zugriff von Magento von extern über Magento-API

10. November 2009 daniel Keine Kommentare

Magento ermöglicht nicht nur das Verwalten der Daten über das eigene Admin-Back-End, sondern auch den Zugriff über eine sogenannte “WSDL” eine SOAP Kommunikation zur Magento-API aufzubauen. Die Magento SOAP Schnittstelle bietet sämtliche Funktionalitäten, Artikel-Import mit Bildern, Bestellungen verwalten, Lagerverwaltung, etc..

Um die Sicherheit zu gewährleisten muss ein API-Users samt Password definiert werden. Im folgenden möchten wir Euch eine kurze Einleitung zur Verwendung geben. Vorab solltet ihr noch prüfen ob die SOAP-PHP-Extension geladen ist (siehe php.ini)

Anlegen einer Rolle für die API-User

Unter System->Web Dienste->Gruppenberechtigungen vergebt ihr ein Namen für die Gruppe und bei Gruppenberechtigung Quellen das entsprechende Zugriff-Level auf die entsprechenden Ressourcen bzw. wählt ggf. Alle bei Quellenzugriff aus (speichern nicht vergessen).

Anlegen des API-Benutzers

Das geht im Admin-Bereich unter System -> Web Dienste-> Benutzer, dort auf den Button neuer Benutzer klicken und die entsprechenden Daten eingeben. Unter Benutzer Gruppenberechtigung wählt ihr die eben neu angelegte Gruppe um das Zugriffs-Level zu managen (speichern nicht vergessen).

Zugriff über externen PHP-Script auf Magento API

Mit dem folgenden PHP-Script könnt ihr Euch nun mit der Magento-API connecten und anschließend eine Übersicht der zur Verfügung stehenden Funktionen ausgeben lassen (SOAP V1 Zugriff):

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */

$host= '127.0.0.1';  // host name der magento installation
$options = array();
$proxy = new SoapClient('http://' . $host . '/index.php/api/soap/?wsdl');

// show available function
$avail = $proxy->__getFunctions();
foreach($avail as $func)
{
 echo "<p>" . $func . "</p>";
}
$proxy->endSession($session);
?>

Bei $host ist logischerweise der Hostname einzutragen unter welchem die Magentoinstallation aufgerufen werden kann.

Mit dem folgenden PHP-Script könnt ihr Euch nun mit der Magento-API connecten und anschließend eine Übersicht der zur Verfügung stehenden Funktionen ausgeben lassen (SOAP V2 Zugriff):

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */

$host= '127.0.0.1';  // host name der magento installation
$options = array();
$proxy = new SoapClient('http://' . $host . '/api/v2_soap?wsdl=1', $options);

// show available function
$avail = $proxy->__getFunctions();
foreach($avail as $func)
{
 echo "<p>" . $func . "</p>";
}
$proxy->endSession($session);
?>

Wie ihr seht, gibt es zwei Möglichkeiten des Zugriffs über SOAP auf die Magento-API.
V2 wurde um die Kompatibilität mit Java und .NET erweitert samt mehr Funktionen zum Aufruf (vergleicht einfach die Funktions-Listen beider Versionen).

Soweit so gut … als nächstes lassen wir uns eine  Katalog-Liste als Baumstruktur ausgeben, dazu verwendet ihr folgenden PHP-Code:

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */

$host= '127.0.0.1';
$options = array();
$proxy = new SoapClient('http://' . $host . '/index.php/api/soap/?wsdl');

// add or edit this in Magento-Admin -> Web Services
$apiuser= 'apiuser';
$apikey = 'efjiwofjioefjio234789f3h7ed789fh';

try
{
 $session = $proxy->login($apiuser, $apikey);
 $proxy->startSession();
 $catalog = $proxy->call($session, "catalog_category.tree");
} catch (Exception $e)
{
 echo "==> Error: ".$e->getMessage();
 exit();
}

foreach($catalog['children'] as $child)
{
 echo $child['name'] . " (id:" . $child['category_id'] . ")\n";
}

//Logout
$proxy->endSession($session);
?>

Bei $host ist logischerweise der Hostname einzutragen unter welchem die Magentoinstallation aufgerufen werden kann. Bei $apiuser und $apikey tragt ihr die entsprechend im Admin-Back-End eingegebenen Daten des API-Users ein.

Nach dem ausführen des Scriptes erhaltet ihr folgende Ausgabe:

Mit dem Zugriff über die API lassen sich problemlos externe ERP- oder CRM-Anwendungen an Magento anschließen oder Daten (Warenbestand) importieren.

Sie Benötigen Unterstützung bei der Erstellung oder Anpassung eines Magento eCommerce Shop System?

Fly2Mars-Media unterstützt Sie in diesem und vielen anderen Bereichen rund um das Thema Internet & IT!

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

Firebug – Shortcuts

5. November 2009 daniel Keine Kommentare

Firebug ist einer mit der nützlichsten Tools im Bereich Debuggen von Webseiten ((X)HTML, CSS, JavaScript, etc.).

Mit Hilfe der Mouse & Keyboard-Shortcuts lassen sich viele Funktionen aufrufen oder der Aufruf vereinfachen, die wichtigsten Shortscuts findet ihr hier.

Unterschied PHP 5 zu PHP 6

28. Oktober 2009 daniel Keine Kommentare

Eine gute Zusammenstellung der Unterschiede von PHP 5 zu PHP 6 findet ihr hier !

KategorienPHP, Programmierung Tags: , ,

Video: Zend Framework – Download, Installation & Start mit Core Features

22. Oktober 2009 daniel Keine Kommentare

Eine kurze Video-Einführung (Webcast) zum Zend Framework findet ihr hier .

Dort wird neben der Installation und Installation des FrameWorks kurz erläutert an einem Beispiel wie dieses zu verwenden ist.

Sie benötigen Support im Bereich Zend-Framework? Fly2Mars-Media unterstützt Sie bei Projekten im Bereich PHP, ZendFramework, Mysql und mehr.

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

Performancemodul für Magento angekündigt

20. Oktober 2009 daniel 1 Kommentar

Die Leipziger Internetagentur Netresearch will dem OpenSource-Shopsystem Magento Beine machen und hat ein Performance-Modul angekündigt. Mit dem Modul soll der Seitenaufbau im Magentoshop beschleunigt werden.

Aktuell werden die Produktlisten und Produktdetailseiten im Magentoshop bei jedem Aufruf neu generiert, dadurch verlängert sich die Ladezeit beim Seitenaufbau. Das Modul von Netresearch rüstet eine Cachingfunktion nach, welche das Neugenerieren unnötig macht. Die Ladezeit soll sich dadurch um bis zu 2/3 verringern lassen.

Das neue Modul wird offiziell am 2. November auf dem Community Treff “Meet Magento #2.09″ in der Frankfurter Börse vorgestellt.

Die Magento-Community ist gespannt!

Debugging im “Opera” mit “Dragonfly”

15. Oktober 2009 daniel Keine Kommentare

Gerade Webentwickler die von Firefox zu Opera umsteigen vermissen ggf. ein Webmaster-Tool wie das Plugin Firebug.

Als Alternative dazu findet ihr im Opera unter “Extras -> Weiteres -> Entwicklerwergzeuge” ein Tool Namens “Opera Dragonfly”, welches ähnlich dem Firefox Plugin Firebug, als nützliches Debugging-Tool für Webmaster ist.

Opera Dragonflyer Screenshot 1

Opera Dragonflyer Screenshot 1

Dragon Flyer ScreenShot 2

Dragon Flyer ScreenShot 2

Neben der aufbereiteten (X)HTML, CSS, XML & JavaScripts besteht die Möglichkeit der Debug-Ausgabe, z.B. Debuggen von JavaScript mit Hilfe von Haltepunkten.

In der Kommandozeile ist die direkte Eingabe von Befehlen möglich, wodurch das Testen und Probieren ungemein erleichtert wird.

Anzeigen und Bearbeiten von CSS-Eigenschaften ist ebenso möglich wie die Vorschau des gesamten Seitenlayouts.

Eine Navigation durch den DOM-Baum und die Durchführung von Änderungen klappt ebenfalls wunderbar.

Ähnlich dem Firebug gibt es eine Console, die Fehlermeldungen und sonstige Ausgaben anzeigt und praktische Filtermöglichkeiten zur bereit stellt.

Download Opera Dragonflyer

Englische Einleitung in DragonFlyer

Get Adobe Flash playerPlugin by wpburn.com wordpress themes