Hauptmenü

Werkzeuge

Kategorien

Archiv

array_merge ohne neuindexierung

Erstellt in PHP am 1. November 2012 vom Daschmi

array_merge arbeitet standardmäßig so, das numerische Schlüssel in dem zusammengefügten Array neu vergeben werden. Folgende Funktion verhindert dies auf simple Weise:


/**
* Array Merge und Indexe nicht neu nummerieren
* Siehe: http://de2.php.net/manual/de/function.array-merge.php#106803
*/
function dsr_array_merge($a, $b)
{

$result = array_diff_key($a, $b) + $b;

return $result;

} // function dsr_array_merge($a, $b)

wpShopGermany – Verlinkung zu den einzelnen Bestellschritten

Erstellt in Wordpress am 31. Oktober 2012 vom Daschmi

Ist in einer WordPress Instanz wpShopGermany installiert, so lässt sich mit folgenden Codebausteinen auf Shop relevante Seiten verlinken:

Warenkorbseite:

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_BASKET);

Warenkorbseite (Ohne Template, z.B. für Ajax Aufruf)

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_BASKET_AJAX);

Checkout (Eingabe der Kundendaten)

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_CHECKOUT);

Checkout2 (Auswahl der Zahlungs- Versandart)

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_CHECKOUT2);

Bestellzusammenfassung

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_OVERVIEW);

AGB Seite

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_AGB);

Versandkostenbestimmungen

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_VERSANDKOSTEN);

Datenschutzvereinbarung

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_VERSANDKOSTEN);

Widerrufsbelehrung

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_WIDERRUF);

Impressum

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_IMPRESSUM);

Profilseite

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_PROFIL);

Problem mit Hintergrund eines UITableView nach Update auf iOS Version 6

Erstellt in IPhone SDK am 28. September 2012 vom Daschmi

Bisher konnte der Hintergrund eines UITableViews mittels setBackgroundColor direkt gesetzt werden. Ab iOS Version 6 muss das dahinterlegene View gesetzt order entfernt werden. Folgender Code setzt den Hintergrund einer UITableView ab Versio6:

[[self tvConnections] setBackgroundColor:[app cBackground]];
[[self tvConnections] setBackgroundView:nil];

Verzeichnisse mit PHP rekursiv zippen

Erstellt in PHP am 22. September 2012 vom Daschmi

Um Verzeichnisse rekursiv zu einem Zip Archiv hinzuzufügen kann folgendes Script verwendet werden:

public function zipDir(&$zip, $dir, $base = “)
{
  if (!file_exists($dir));
  $arFiles = scandir($dir);

  foreach ($arFiles as $file)
  {

    if (in_array($file, array(‚.‘, ‚..‘))) continue;

    if (is_file($dir.’/‘.$file))
    {

      $zip->addFile($dir.’/‘.$file, $base.$file);

    }
    else if (is_dir($dir.’/‘.$file))
    {

      $zip->addEmptyDir($base.$file);
      zipDir($zip, $dir.’/‘.$file, $base.$file.’/‘);

    }
  }
}

Der Aufruf kann dann wie folgt aussehen:

$tmpzip = tempnam("/tmp", "wpShopGermany");

$zip = new ZipArchive;
$res = $zip->open($tmpzip, ZipArchive::CREATE);

// Verzeichnisse
zipDir($zip, ‚/var/home/htdocs/wpShopGermany/wp-content/uploads/wpsg_produktbilder‘, ‚wpsg_produktbilder/‘);

$zip->close();

header("Cache-Control: private");
header(‚Content-Type: application/download; charset=utf-8‘);
header(‚Content-Disposition: filename=wpsg_upgrade.zip‘);
header("Pragma: public");

session_cache_limiter(’nocache‘);

die(file_get_contents($tmpzip));

Das Zip Archiv würde dabei direkt als Download an den Browser übergeben werden.