Kategorien
Diverses

Beim Arbeiten am PC nebenbei rückenfit werden

Wer kennt das nicht, die Website oder das neue Tool will einfach nicht fertig werden, obwohl man schon Stunden daran arbeitet. Die Augen sind völlig überstrapaziert vom zu langen „auf den Bildschirm starren“ und sowohl Rücken als auch Nacken haben definitiv schon bessere Zeiten erlebt. Besonders die Bürotäter unter uns, wissen bestimmt wovon ich spreche.

Kategorien
Yii Framework

Yii custom CButtonColumn in Gridview

Dieser Button hat ein eigenes Image über Bootstrap mittels der Klasse icon-download und wird in einem neuen Tab geöffnet.

   array(
                'class' => 'zii.widgets.grid.CButtonColumn',
                'template'=>'{pdf}',
                'buttons'=>array(
                    'pdf' => array(
                        'url' => 'Yii::app()->createUrl("/con/action",array("id"=>$data->id))', 
                        'options' => array('target' => '_blank', 'class' => 'icon-download'),
                        'label' => '',
                        'imageUrl' => false,
                    ),
Kategorien
Yii Framework

Yii2 OpenStreetMap Extension

Ich habe iene einfache OpenStreetMap Extension für Yii2 entwickelt, mit der man beliebige Punkte mit einem Tooltip anzeigen kann. Als Karten-Provider wird OpenLayers verwendet.

Insallationsanweisungen:

  1. Kopieren des Archiv Inhalts nach /widgets/OpenLayers
  2. einbinder der Extension in einer beliebigen view:
<?php
/* @var $this yii\web\View */

use app\widgets\OpenLayers\OpenLayers;
use yii\helpers\BaseVarDumper;
use yii\helpers\Html;
?>
<div>

    <div>
        <h1>Multiple Dots</h1>
        <h2>Input</h2>
        <?php $cities = [
            ["name" => "Belize City", "lng" => -88.1975600, "lat" => 17.4995200, "link" => Html::a("link", "http://www.routenplaner24.de/n/stadtplan/belize+city-3582677"), "population" => "3"],
            ["name" => "San Ignacio", "lng" => -89.0796400, "lat" => 17.1576000, "link" => Html::a("link", "http://www.routenplaner24.de/n/stadtplan/san+ignacio-3581194"), "population" => "5"],
            ["name" => "Orange Walk", "lng" => -88.5632800, "lat" => 18.0812400, "link" => Html::a("link", "http://www.routenplaner24.de/n/stadtplan/orange+walk-3581514"), "population" => "6"],
        ];
        BaseVarDumper::dump($cities, 10, true);

        ?>
        <h2>Map</h2>
        <?php echo OpenLayers::widget(['cities' => $cities, 'map_id' => 'multiple']) ?>

    </div>
</div>

und fertig…

yii2_open_street_map_extension
Yii2 OpenStreetMap Extension / Widget

 

 Download der Extension als .zip File

Kategorien
Webdeveloper Tools

Immobilienscout neuste Angebote sofort per Mail bekommen

Manchmal kann es von Nutzen sein, wenn man vor allen anderen eine Wohnung oder Immobilie auf immobilienscout24.de oder auf anderen Webseiten zu Gesicht bekommt.

Ich habe für einen Immobilienmakler ein solches Tool erstellt, welches alle neuen Gewerbeimmobilien oder Wohnungen in bestimmten Städten in Deutschland alle 15Minuten per Mail in übersichtlicher Form an den Kunden verschickt. Es werden zusätzlich ein Quadratmeterpreis und die genaue Adresse sowie ein Link zu dem Angebot versendet:

Eigentumswohnungen Berlin 

1)
Title: Neubau-Wohnung am Wasser 
Adresse: Friedrichshain (Friedrichshain), Berlin 
3500.00€/m² 
100m²
350.0000€

Link zum Expose auf immobilienscout24

2) ....

 

Es ist möglich das Programm um neue Internetplattformen sowie alle denkbaren weiteren Funktionen zu erweitern. Bei Interesse können Sie mich gerne kontaktieren.

Kategorien
Buch Empfehlungen Yii Framework

Yii für Profis: Buch Rezension von Yii Project Blueprints

Das September 2014 erschienene Buch „Yii Project Blueprints“ aus dem Packt Publishing Verlag stammt aus einer Reihge guter englischsprachiger Bücher über das PHP-Framework Yii. Am Anfang war ich sehr skeptisch, ob ich das 43te HowTo über die Erstellung eines CMS oder PM-Ticket Tools in meinen Händen halten würde, aber ich wurde sehr positiv überrascht: Dieses Buch richtet sich an gestandene Yii-Programmierer, die in die Tiefen des Frameworks eintauchen wollen.

Die ersten zwei Kapitel sind eher für den Einstieg gedacht, aber danach lernt man erstaunlich interessante Kniffe mit dem Framwork kennen. Ein paar Beispiele:

  • Einbindung von Composer
  • viele sicherheitsrelevante Tipps: Erzeugung von wirklichen Zufallszahlen, Markdown-Parser etc.
  • Cronjobs mit Yiic
  • Fokus auf Wiederverwendbarkeit und Unabhängigkeit der Komponenten, z.B. wird genau erklärt, wie man Module benutzt und wie man diese am besten wiederverwendet
  • Flash Messages
  • die Verwendung eines E-Mail -Sende und -Empfang Dienstes am Bsp. von SendGrid
  • Authentifizierung von Usern mit HybridAuth: Google+, Twitter, Facebook etc. Accounts
  • SEO: Slug-Urls und Sitemap/RSS Feeds Implementierung
  • Implementierung einer RESTful API

Der einzige Wermutstropfen sind die raren Screenshots, die sehr zum Verständnis der öfter sehr langen Code-Beispiele hätten beitragen können.

Kategorien
JavaScript

Animationen erstellen mit Javascript

Kleine Animation, wie das verschwinden eines div-Blockes, kann man in Javascript sehr einfach mit der Funktion setTimeout() erstellen.

Die Logik ist dabei immer dieselbe:

Für jeden Bewegungsframe wird mittels der  setTimeout-Funktion zu einem bestimmten Zeitpunkt die Größe oder Posiition des Objektes verändert, so dass am Ende aneinandergereiht eine Animation herauskommt für das menschliche Auge.

Bsp:
[inline]

Click me

[script type=“text/javascript“]//

[/script]
[/inline]

Kategorien
PHP

Freie dreistellige .de Domains finden mit PHP Script

Ich habe versucht noch freie dreistellige .de Domains zu finden und mir ein eigenes Script dafür geschrieben.

Das Script führt mittels Curl einen HEAD-Request auf die Domain aus und liest den Status Code aus. Das Ergebnis ist nciht zuverlässig, aber man kann eine Menge Domains so ausschließen.

Das Ergebnis vorneweg: Es gibt keine freien 3stelligen Domains mehr:) Vielelicht gibt es noch welche mit ä,ö,ü, das habe ich nicht getestet.

Aber es gibt noch jede Menge 4stellige .de Domains! Mit einer kleinen Modifikation  lassen sich diese auch mit dem Script finden:

<?php

error_reporting(E_ALL);
ini_set("display_errors", 1);
ini_set('max_execution_time', 60*60*3);


foreach (range('a', 'z') as $letter1)
{
    foreach (range('a', 'z') as $letter2)
    {
        foreach (range('a', 'z') as $letter3)
        {
            $domain = $letter1.$letter2.$letter3  ;
            $url = "http://".$domain.".de";
            $link = '<a href="'.$url.'" target="_blank">'.$url.'</a>';
            $status = get_link_status($url);
            if($status == "0"){
                echo "Found: ".url." <br>";

            }
        }
    }
}


function get_link_status($url, $timeout = 10)
{
    $ch = curl_init();
// set cURL options
    $opts = array(CURLOPT_RETURNTRANSFER => true, // do not output to browser
        CURLOPT_URL => $url, // set URL
        CURLOPT_NOBODY => true, // do a HEAD request only
        CURLOPT_TIMEOUT => $timeout); // set timeout
    curl_setopt_array($ch, $opts);
    curl_exec($ch); // do it!
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); // find HTTP status
    curl_close($ch); // close handle
    return $status; //or return $status;
}
Kategorien
WordPress

WordPress Test Daten für die Entwicklung einspielen

Bei der Theme-Entwicklung ist es sehr praktisch Testdaten zu haben, wie mehrer Posts, die in bestimmten Formate und Sonderinhalten, wie z.B. Videos daher kommen.

Es gibt zwei Möglichkeiten Testdaten in das System zu importieren:

1. Den Import eines festgelegten Datensätzen mittels des Importer Plugin, z.B.

https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml

oder

2. über ein Plugin zur Erzeugung von einer konfigurierbaren Menge von Post, Usern und Kommentaren, bpsw.: Demo Data Creator

 

Kategorien
Diverses PHP Webdeveloper Tools

OCR Texterkennung mit Tesseract

Google hat das sehr interessantes Open Source Projekt Tesseract übernommen, mit dem man relativ einfach Text von Bildern extrahieren kann.

Tesseract ist lauffähig unter verschiedensten Betriebssystemen und es gibt für das alle Programmiersprachen Wrapper zum Ausführen der Software.

Die Installation von Tesseract unter Linux

Die Installation in z.B. Debain und Ubuntu gestalltet sich mit Hilfe des Packetmanagers sehr einfach und komfortabel (im Beispiel für die deutsche Sprache):

sudo apt-get install tesseract-ocr tesseract-ocr-deu

Aber auch bspw. unter Windows und Mac gibt es ein Installationsprogramm.

Für die Verarbeitung mit PHP kann man eine der zahlreichen Wrapper benutzen, bspw

tesseract-ocr-for-php

Imagick für PHP

Kategorien
Shopware

Shopware 4 Installation Ubuntu mit Ant

Für die Installation von Shopware 4 unter Ubuntu ist auf der Konsole nur folgende Anweisung nötig, um mittels Ant und Git Shopware zu installieren und zu konfigurieren mittels eines Ant Build Sciptes.

Wichtig: Systemvoraussetzungen checken,

  • PHP 5.3.2 or above
  • PHP’s cURL and GD library
  • An Apache web server
  • Apache’s mod_rewrite module
  • MySQL 5.1.0 or above
sudo apt-get install git

sudo apt-get -u install ant

sudo apt-get install openjdk-6-jdk

sudo apt-get install curl