Kategorien
Amazon MWS PHP Shopware XT-Commerce

Vergleich der Popularität von Shopsystem

<script type="text/javascript" src="//www.google.com/trends/embed.js?hl=de&q=magento,+shopware,+xt+commerce,+presta,+oxid&geo=DE&cmpt=q&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=800&h=330"></script>

Für ein kleines bis mittelgroßes deutsches Unternehemen ist Shopware aktuell nach meiner Meinung die beste Lösung, weil

  • Shopware von Hause aus spezialisiet ist auf den deutschen E-Commerce Markt und den dortigen Datenschutz und steuerlichen Eigenheiten
  • die Popularität steigend ist laut Google Trends
  • unter der Haube Symfony 2 und Zend 2 und im Backend ExtJS läuft in Version 4
  • die Preise sich auch für die professional Versionen unter denen von Magento bewegen
  • die Systemanforderungen anspruchsvoll, aber modern sind
Kategorien
Diverses

Wie man mit Mathematik einen kippelnden Tisch besiegt

Kategorien
PHP

PHP Curl HTTP Status Code einer URL auslesen

Das Auslesen des Status Code aus dem Header geht mit der folgender Funktion ganz einfach:

function getUrlSatusCode($url, $timeout = 10)
 {
 $ch = curl_init();
 $opts = array(CURLOPT_RETURNTRANSFER => true, // do not output to browser
 CURLOPT_URL => $url, 
 CURLOPT_NOBODY => true, // do a HEAD request only
 CURLOPT_TIMEOUT => $timeout); 
 curl_setopt_array($ch, $opts);
 curl_exec($ch);
 $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 curl_close($ch)
 return $status;
 }
Kategorien
Webdeveloper Tools

Mantis App Update V1.2 mit umfangreichen Funktionen

Für das Projektmanagement Tool Mantis gibt es eine sehr prktisch iOS App für iPhone und iPad für die gerade ein umfangreiches Update zur Verfügung gestellt wurde.

Die Neuerungen umfassen:

  • Performance verbesserungen
  • Login zu Servern mit htaccess Schutz
  • FAQ integriert

Es können auch neue Fragen direkt aus der App gestellt werden. Sobald diese beantwortet sind, werde diese in der FAQ Liste der App angezeigt.

Notizen bearbeiten

Notizen können nun direkt in der App bearbeitet werden.
HINWEIS: Voraussetzung hierfür ist die Verwendung der MantisBT Version 1.2.6 oder neuer, da die entsprechende API erst ab dieser Version bereit steht.

Filter in der Suche integriert

Uber das Suchfeld können nun auch noch Filter ausgewählt werden.

Bearbeiten von Custom Fields

Custom Fields können nun aus der App bearbeit werden.

Dateianhänge

Es können nun aus der App heraus Dateien an Tickets angehängt werden.
Um Dateien Auszuwählen wurden Folgende Möglichkeiten integriert:
– Dropbox
– iPhone/iPad Bibliotek
– App interner Ordner
– iTunes Filesharing (Daten im Ordner „Mantis Documents“ ablegen)

Fazit

Die App ist sehr empfehlenswert und kann im Appstore installiert werden.

Kategorien
Diverses

Die Architektur von Stackoverflow / Skalierung von großen Webseiten mit relationalen Datenbanken

Ein sehr interssanter Artikel über stackoverflow.com, wohl allen Programmierern bekannt ist und die Vor- und Nachteile von NOSQL Datenbanken, allemale lesenswert…. zum Artikel

Kategorien
JavaScript

TinyMCE Focus und Blur Events Javascript

Die TinyMCE focus und blur Events kann man folgendermaßen mit Javascript behandeln:

        <script type="text/javascript">
            $( window ).load(function() {
                tinyMCE.dom.Event.add(tinyMCE.getInstanceById("foo_id").getWin(), "focus", function(){
                    console.log("focus");
                });
                tinyMCE.dom.Event.add(tinyMCE.getInstanceById("foo_id").getWin(), "blur", function(){
                    console.log("blur");
                });
            });
        </script>
Kategorien
MySQL

MySQL Spalte kopieren innerhalb desselben Datensatzes

Wenn man bspw. eine Spalte inserted einfügen will und diese inital mit dem schon vorhandenen last_change Werten ausstatten will, kann man folgenden Code benutzen:

UPDATE table_name dt1, table_name dt2 SET dt1.inserted = dt2.last_change WHERE dt1.id = dt2.id
Kategorien
JavaScript

Bing Maps API Tutorial

Das Einbinden von Bing Maps auf der Webseite gestaltet sich sehr ähnlich wie Google Maps. Die freie jährliche Nutzung liegt bei 10Millionen Requests im Jahr, danach muss gezahlt werden

Als erstes benötigt man einen Key, den man kostenlos mit Hilfe eines Windows-ID Kontos (z.B. per Hotmail Account) anfordern kann und automatisch bekommt hier.

Microsoft bietet 5 verschiedene Bibliotheken mit kombinierbaren Funktionalitäten an, wobei die Map Control Bibliothek die wichtigste für Web Developer mit Javascript ist. U.a. gibt es eine Bibiliothek für Windows Store Apps und auch interessant einen Rest Service für Geocoding Anfragen (auch Reverse Geocoding) sowie Routenberechnung. Einen Überblick über alle Bibliotheken gibt es hier.

Für den Anfang kann man ein Karte schnell mit dem folgenden Code und seinem Key testen:

<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=de-DE"></script>
<div id='mapDiv' style="position:relative; width:400px; height:400px;"></div>
<script type="text/javascript">
        var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"),
            {credentials: "key_here",
                center: new Microsoft.Maps.Location(45.5, -122.5),
                mapTypeId: Microsoft.Maps.MapTypeId.road,
                zoom: 7});

</script>

oder sauberer als Javascript Klasse:

<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0&mkt=de-DE"></script>
<script type="text/javascript" src="bing.js"></script>
<div id='bingmapsDiv' style="position:relative; width:400px; height:400px;"></div>
<script type="text/javascript">
var bingMaps = new BingMaps("bingmapsDiv");
</script>

und mit der bing.js Klasse:

function BingMaps(mapId){
    this.mapId = mapId;
    this.key = "my_key";
    this.initMap = function(){
        var map = new Microsoft.Maps.Map(document.getElementById(this.mapId),
            {credentials: this.key,
                center: new Microsoft.Maps.Location(45.5, -122.5),
                mapTypeId: Microsoft.Maps.MapTypeId.road,
                zoom: 7});
    }
    this.initMap();
}

 

 

Kategorien
PHP Yii Framework

Yii Simple Open Street Map Extension

The Simple Open Street Map Extension for Yii is a fast and comftable was to show multiple markers and a Open Street Map.

Features

  • automatic Zoom Factors, might be adjusted a little bit for street map zooms
  • Html Marker Text with Links etc.
  • Open Street Map License *free*
  • easy to use
open_street_map_yii
Open Street Map Yii Extension for the 10 biggest cities in brasil

 

Kategorien
PHP

PHP performante Array Operationen mit SplFixedArray

Seit PHP 5.3. gibt es Arrays mit fixer Länge names SplFixedArray (wie in Java und anderen Sprachen), die performanter oder gleich performant sind in den meisten Operationen wie

  • lesen
  • einfügen
  • auslesen

Details zu den Performance Vorteilen inklusive Tests gibt es auf diesem Blog.

Im folgendes Beispiel habe ich die neue Datenstruktur benutzt und bin zu enormen Performancegewinnen gekommen:

function  activeRecordAttributeToArrayFastMemory($objects, $attributeName)
{
    $size = count($objects);
        $array = new SplFixedArray($size);
        for($i = 0; $i < $size; $i++)
        {
            $array[$i] = $objects[$i]->$attributeName;
        }
    $returnArray = $array->toArray();
    return $returnArray;
}