PHP

PHP - Dateien als Download anbieten

Um in PHP Dateien dem User als Download zur Verfügung zu stellen, muss der header des Scripts geändert werden:

hook_user - automatisch weitere Rolle hinzufügen

hook_user - Rolle automatisch hinzufügen

Der hook_user bietet die Möglichkeit auf verschiedene auf einem Benutzerkonto ausgeführte Operationen Einfluss zu nehmen.
Die einzelnen Parameter werden auf der Drupal-API Seite beschrieben: hook_user($op, &$edit, &$account, $category = NULL)

Die Ausgangssituation:
- über den hook_theme geändertes Registierungsformular
- Nutzung des profile Moduls für zusätzliche Felder ( DropDowns + Textfelder) während der Registrierung zur Verfügung zu stellen

create daterange Array

In einem früheren Beitrag zum Thema Verfügbarkeitskalender wurde eine Funktion gebraucht um für einen bestimmten Zeitraum ein Array mit Datumsangaben zu erzeugen.

CodeIgniter - A3M - Account Authentication & Authorization Module

A3M is a CodeIgniter Module that leverages on bleeding edge web technologies like OpenID and OAuth to create a user-friendly user experience for Account Authentication & Authorization.

http://code.google.com/p/a3m/

Demo
http://it.euphoriatwentythree.com/projects/a3m/

array_search mit recursive-search und partial-match

PHP bietet von Haus aus die Funktion array_search an. Diese kann aber nur mit "normalen Arrays" ( eindimesional arbeiten ) - wie dies funktioniert wird in den Beispielen auf PHP.NET beschrieben.

In meinem Falle suchte ich aber eine Funktion die Arrays dieser Form zu durchsuchen.

[0] => array(
'name' => 'mein name',
'name1' => 'mein name1',
'name2' => 'mein name2',
'name3' => 'mein name3',
),
[1] => array(
'name' => 'mein name',
'name1' => 'mein name1',
'name2' => 'mein name2',
'name3' => 'mein name3',
)

CodeIgniter - ActiveRecord - Queries anzeigen

CodeIgniter bietet mit ActiveRecord eine einfache Schnittstelle zu diversen DB-Systemen - das Schreiben der üblichen SQL Queries entfällt..

Um dennoch die von ActiveRecord erzeugten SQL-Statements zu sehen, bietet CodeIgniter die folgende Möglichkeit:
<?php
public function get_paged_list($category='none',$limit = 10, $offset = 0,$status='none'){
$this->db->_compile_select();
if($status!='none')
$this->db->where('status',$status);
if($category!='none') {
$this->db->where('category_id',$category);
$this->db->orwhere('category_id_2',$category);
}

CodeIgniter - DATE_FORMAT und ActiveRecord

Durch die Sicherheitsvorkehrungen bei ActiveRecord ist es nicht ohne Weiteres möglich das Datumsformat in den SQL Queries zu beeinflussen..

Die folgende Abfrage führt zu einer Fehlermeldung

$this->db->select("*, DATE_FORMAT( created ,'%d.%m.%Y %H:%i') AS datum");
return $this->db->get($this->table, $limit, $offset);

Die SQL Abfrage wird durch ActiveRecord wie folgt erzeugt:
SELECT *, DATE_FORMAT( created, `'%d`.`%m`.`%Y` %H:%i') AS datum FROM (`notes`) WHERE `status` = 0 LIMIT 50

cURL - Dateien uploaden

Folgendes Szenario:
cURL-WebService

Es soll eine Bilddatei nach dem Upload über einen externen Webservice Anbieter verändert werden ( Hinzufügen von Bildeffekten ).. Von der externen Kommunikation sollte der Benutzer nichts zu sehen bekommen. Hiermit fällt das Einbinden einer externen Formular "action" also aus.. Um die Daten trotz alledem an den Webservice weiterzuleiten gibt es in PHP die Erweiterung cURL. Diese Erweiterung kann unter Anderem dazu genutzt werden Serveranfragen zu stellen ( also GET/ POST etc.. ) .

File_CSV_DataSource - CSV Daten in PHP nutzen

CSV Daten werden im Web neben XML Dateien noch häufig für den Datenautausch / Schnittstellen bei Webanwendungen verwendet. Natürlich bietet hier PHP schon fertige Funktionen, um CSV Daten zu verarbeiten - nur sind diese doch eher rudimentär..

Mithilfe des PEAR Pakets File_CSV_DataSource lassen sich CSV Files als DataSource in PHP verwenden. Dies ist wesentlich einfacher / bequemer als das PHP eigene CSV Handling. Hiermit wäre sogar eine kleine Datenbank nur auf CSV-Basis denkbar..

http://pear.php.net/package/File_CSV_DataSource

Inhalt abgleichen