$spalten_tab_haendlerinfo = array(
head, text, datum, bild, bereich, suchwoerter, maildatum
);
$spalten_tab_vorlagekategorie = array(
kategorie
);
$spalten_tab_veroeff = array(
head, text, datum, bild, bereich, suchwoerter, maildatum
);
$spalten_tab_user = array(
cnh_id, benutzername, passwort, anrede, vorname, nachname, firma, strasse, land, plz, ort, email, buget_druck, buget_werbe
);
$spalten_tab_gruppen = array(
gruppe, bemerkung
);
$spalten_tab_news = array(
head, text, bild, uxtime
);
$spalten_tab_datei = array(
name, vom, text, status, bereichs_id, sort, land
);
$spalten_tab_vorlagendatei = array(
name, vom, text, status, kategorie_id, sort, land
);
$spalten_tab_bereich = array(
name, bemerkung, url, domain
);
$spalten_tab_fotos = array(
bildname, eltern, beschreibung, erweiterung, uxtime
);
$spalten_tab_fotos_neu = array(
bildname, eltern, beschreibung, erweiterung, uxtime
);
$spalten_tab_fotos_struktur = array(
name, eltern, bemerkung
);
$spalten_tab_artikel = array(
nh_id, artikel, artikel_bez, artikelinfo, zusatzinfo, haendlerlogo, ve, preis, art, einzelpreis,
bestand,
gruppiert,
bekleidung
);
$spalten_tab_bestellungen = array(
artikel_id, user_id, bestell_menge, haendlerlogo, uxtime, status, art
);
$spalten_tab_seminar = array(
cnh_id, ort, termin, endtermin, max_anmeldedat, angelegt, berechtigung, beginn, ende, dauer_plusminus, max_teilnehmer, gebiet
);
$spalten_tab_seminar_beschreibung = array(
cnh_id, thema, beschreibung, max_teilnehmer, bereich, angelegt, min_teilnehmer, bildname, beginn, ende, preis, pauschal_preis, zuschlag_besch_1, zuschlag_preis_1, zuschlag_besch_2, zuschlag_preis_2, dz_ez, ez_preis, abfrageAnreise
);
$spalten_tab_teilnehmer = array(
vorname, nachname, firma, user_id, email, zusatz, anrede, seminar_id, zuschlag_1, zuschlag_2, dz_partner_id, anreise, handy
);
$spalten_tab_termine = array(
headline, text, von, bis
);
function db_verbinden()
{
// $db = mysql_connect("localhost", "cnh", "AB+d40R!");
$db = mysql_connect("localhost", "cnh", "n%q917u8X");
if ($db) {
} else {
echo "Fehler: Keine Verbindung zur Datenbank!";
}
$selectdb = mysql_select_db("cnh", $db);
mysql_query("set names 'utf8';", $db);
return $db;
}
function db_schliessen($db)
{
mysql_close($db);
}
function update_tab($tabelle, $spalten, $uebergabe, $id)
{
$db_u = db_verbinden();
$sql = "UPDATE " . $tabelle . " SET ";
$i = 0;
foreach ($spalten as $spaltenname) {
if ($i != 0) {
$sql .= ", ";
}
$sql .= $spaltenname . "='" . $uebergabe[$spaltenname] . "'";
$i++;
}
$sql .= " WHERE id='$id' ";
//echo "<--sql $sql -->
/n";
$result = mysql_query($sql, $db_u);
db_schliessen($db_u);
return;
}
function neu_tab($tabelle, $spalten, $uebergabe)
{
$db_u = db_verbinden();
$sql = "INSERT INTO " . $tabelle . " (";
$i = 0;
foreach ($spalten as $spaltenname) {
if ($i != 0) {
$sql .= ", ";
}
$sql .= $spaltenname;
$i++;
}
$sql .= ") VALUES ( ";
$i = 0;
foreach ($spalten as $spaltenname) {
if ($i != 0) {
$sql .= ", ";
}
$sql .= "'" . $uebergabe[$spaltenname] . "'";
$i++;
}
$sql .= " ) ";
//echo $sql;
$result = mysql_query($sql, $db_u);
$back = mysql_insert_id($db_u);
db_schliessen($db_u);
return $back;
}
function del_tab($tabelle, $id)
{
$db_u = db_verbinden();
$sql = "DELETE FROM " . $tabelle;
$sql .= " WHERE id='$id' ";
$result = mysql_query($sql, $db_u);
db_schliessen($db_u);
return;
}
function get_tab($tabelle, $spalten, $id)
{
//echo "--get__$tabelle,$spalten,$id --
/n";
$db_u = db_verbinden();
$sql = " SELECT ";
$i = 0;
foreach ($spalten as $spaltenname) {
if ($i != 0) {
$sql .= ", ";
}
$sql .= $spaltenname;
$i++;
}
$sql .= " FROM " . $tabelle;
$sql .= " WHERE id='$id' ";
//echo "--sql $sql --
/n";
$result = mysql_query($sql, $db_u);
if ($result) {
$reihe = mysql_fetch_array($result, MYSQL_NUM);
$i = 0;
foreach ($spalten as $spaltenname) {
$back[$spaltenname] = $reihe[$i];
$i++;
}
} else {
echo " $sql
Keine Ergebniss für -$id- konnte ermittelt werden";
}
db_schliessen($db_u);
return $back;
}
class thumbnail
{
var $img;
var $fileInfo;
var $fullName;
var $newX;
var $newY;
var $quality;
var $orgX;
var $orgY;
// $data - (voller) Dateiname oder String (z.B. aus Datenbank)
function create($data)
{
$this->destroy();
if (file_exists($data)) {
$this->img = @ImageCreateFromJpeg($data);
$this->fileInfo = basename($data);
$this->fullName = $data;
} else {
$this->img = @ImageCreateFromString($data);
}
if (!$this->img) {
$this->destroy();
return false;
} else {
$this->orgX = ImageSX($this->img);
$this->orgY = ImageSY($this->img);
return true;
}
}
// Höhe des aktuellen Bildes im Container zurückgeben, false bei Fehler
function height()
{
if ($this->img) {
return ImageSY($this->img);
} else {
return false;
}
}
// Breite des aktuellen Bildes im Container zurückgeben, false bei Fehler
function width()
{
if ($this->img) {
return ImageSX($this->img);
} else {
return false;
}
}
// Qualität für Ausgabe setzen
function setQuality($quality = false)
{
if ($this->img && $quality) {
$this->quality = $quality;
} else {
return false;
}
}
// Thumbnail erzeugen
function resize($newX = false, $newY = false)
{
if ($this->img) {
$X = ImageSX($this->img);
$Y = ImageSY($this->img);
$newX = $this->_convert($newX, $X);
$newY = $this->_convert($newY, $Y);
if (!$newX && !$newY) {
$newX = $X;
$newY = $Y;
}
if (!$newX) {
$newX = round($X / ($Y / $newY));
}
if (!$newY) {
$newY = round($Y / ($X / $newX));
}
if (!$newimg = ImageCreateTruecolor($newX, $newY)) {
$newimg = ImageCreate($newX, $newY);
}
if (!ImageCopyResampled($newimg, $this->img, 0, 0, 0, 0, $newX, $newY, $X, $Y)) {
ImageCopyResized($newimg, $this->img, 0, 0, 0, 0, $newX, $newY, $X, $Y);
}
$this->img = $newimg;
return true;
} else {
return false;
}
}
function cut($newX, $newY, $srcX = 0, $srcY = 0)
{
// Schneidet ein Bild neu zu
/* Werte für cut (X stellt das Ergebnis dar)
$srcX
+---+--------------+
$srcY | | |
+---+---+ |
| | X | $newY | Ursprungsbild
| +---+ |
| $newX |
| |
+------------------+
*/
if ($this->img) {
$X = ImageSX($this->img);
$Y = ImageSY($this->img);
$newX = $this->_convert($newX, $X);
$newY = $this->_convert($newY, $Y);
if (!$newX) {
$newX = $X;
}
if (!$newY) {
$newY = $Y;
}
if (!$newimg = ImageCreateTruecolor($X, $Y)) {
$newimg = ImageCreate($X, $Y);
}
ImageCopy($newimg, $this->img, 0, 0, 0, 0, $X, $Y);
ImageDestroy($this->img);
if (!$this->img = ImageCreateTruecolor($newX, $newY)) {
$this->img = ImageCreate($newX, $newY);
}
imagecopy($this->img, $newimg, 0, 0, $srcX, $srcY, $newX, $newY);
ImageDestroy($newimg);
return true;
} else {
return false;
}
}
/* schneidet ein Teil mit Größe newX und newY an festgelegten Stellen des Bildes zu
$pos = Position welches Teil verwendet werden soll
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
| 7 | 8 | 9 |
+---+---+---+
*/
function autocut($newX, $newY, $pos = 5)
{
if ($this->img) {
$X = ImageSX($this->img);
$Y = ImageSY($this->img);
$newX = $this->_convert($newX, $X);
$newY = $this->_convert($newY, $Y);
if (!$newX) {
$newX = $X;
}
if (!$newY) {
$newY = $Y;
}
switch ($pos) {
case 1:
$srcX = 0;
$srcY = 0;
break;
case 2:
$srcX = round(($X / 2) - ($newX / 2));
$srcY = 0;
break;
case 3:
$srcX = ImageSX($this->img) - $newX;
$srcY = 0;
break;
case 4:
$srcX = 0;
$srcY = round(($Y / 2) - ($newY / 2));
break;
case 5:
$srcX = round(($X / 2) - ($newX / 2));
$srcY = round(($Y / 2) - ($newY / 2));
break;
case 6:
$srcX = $X - $newX;
$srcY = round(($Y / 2) - ($newY / 2));
break;
case 7:
$srcX = 0;
$srcY = $Y - $newY;
break;
case 8:
$srcX = round(($X / 2) - ($newX / 2));
$srcY = $Y - $newY;
break;
case 9:
$srcX = $X - $newX;
$srcY = $Y - $newY;
break;
default:
$srcX = round(($X / 2) - ($newX / 2));
$srcY = round(($Y / 2) - ($newY / 2));
}
return $this->cut($newX, $newY, $srcX, $srcY);
} else {
return false;
}
}
// erzeugt ein Quadrat des Bildes mit Kantenlänge von $size
// ist das Bild nicht quadratisch kann mit $pos
// der Bildausschnitt festgelegt werden, Werte siehe function autocut
function cube($size, $pos = 5)
{
if ($this->img) {
$X = ImageSX($this->img);
$Y = ImageSY($this->img);
if ($X > $Y) {
$newX = false;
$newY = $size;
} elseif ($X < $Y) {
$newX = $size;
$newY = false;
} else {
$newX = $size;
$newY = $size;
}
if ($this->resize($newX, $newY)) {
return $this->autocut($size, $size, $pos);
} else {
return false;
}
} else {
return false;
}
}
// erzeugt ein Bild dessen größte Kantenlänge $size ist
function maxSize($size)
{
if ($this->img) {
$X = ImageSX($this->img);
$Y = ImageSY($this->img);
if ($X > $Y) {
$newX = $size;
$newY = false;
} elseif ($X < $Y) {
$newX = false;
$newY = $size;
} else {
$newX = $size;
$newY = $size;
}
return $this->resize($newX, $newY);
} else {
return false;
}
}
// erzeugt ein Bild dessen kleinste Kantenlänge $size ist
function minSize($size)
{
if ($this->img) {
$X = ImageSX($this->img);
$Y = ImageSY($this->img);
if ($X > $Y) {
$newX = false;
$newY = $size;
} elseif ($X < $Y) {
$newX = $size;
$newY = false;
} else {
$newX = $size;
$newY = $size;
}
return $this->resize($newX, $newY);
} else {
return false;
}
}
// speichert das Bild als $fileName
// wird $filename angegeben muss es ein voller Dateiname mit Pfad sein
// ist $override wahr wird ein bestehendes Bild überschrieben, sonst nicht
// Rückgabe:
// true wenn geschrieben (oder überschrieben)
// false on error
// 0 wenn schon existiert (nur bei $override=false)
function save($fileName, $override = true)
{
if ($this->img) {
if (!file_exists($fileName) || $override) {
if (ImageJPEG($this->img, $fileName, $this->quality)) {
return true;
} else {
return false;
}
} else {
return 0;
}
} else {
return false;
}
}
// Gibt Bild an Browser aus (Ausgabe des Headers, Destroy aufrufen), beide optional
function output($sendHeader = true, $destroy = true)
{
if ($this->img) {
if ($sendHeader) {
header("Content-type: image/jpeg");
}
ImageJPEG($this->img, "", $this->quality);
if ($destroy) {
$this->destroy();
}
} else {
return false;
}
}
// Setzt die Werte in der Klasse frei und löscht Bild
function destroy()
{
if ($this->img) {
ImageDestroy($this->img);
}
$this->img = false;
$this->fileInfo = false;
$this->fullName = false;
$this->newX = false;
$this->newY = false;
$this->quality = 70;
$this->orgX = false;
$this->orgY = false;
}
// rechnet prozentuale Angaben in Pixel um, erwartet
// ist $value eine Prozentangabe $full als 100% in Pixel angegeben werden
function _convert($value, $full = false)
{
if (strstr($value, "%")) {
$value = trim(str_replace("%", "", $value));
$value = ($full / 100) * $value;
}
if ($value < 1 && $value !== false) {
$value = 1;
}
return $value;
}
}
function formatDate($datum, $sprache = 'de')
{
// $tag = explode('-',$datum);
// $uxtag = mktime(12, 00, 00, $tag[1], $tag[2], $tag[0]);
$uxtag = strtotime($datum);
if ($sprache == 'de') {
setlocale(LC_TIME, 'de_DE');
//echo "*****DEUTSCH****** $uxtag **************";
}
$back = strftime("%a, %e. %b.", $uxtag);
return $back;
}
function formatDateTime($datum, $sprache = 'de')
{
// $tag = explode('-',$datum);
// $uxtag = mktime(12, 00, 00, $tag[1], $tag[2], $tag[0]);
$uxtag = strtotime($datum);
if ($sprache == 'de') {
setlocale(LC_TIME, 'de_DE');
//echo "*****DEUTSCH****** $uxtag **************";
}
$back = strftime("%a, %e. %B, %R", $uxtag);
return $back;
}
function umlaut($string)
{
$upas = array(
"ä" => "ä",
"ü" => "ü",
"ö" => "ö",
"Ä" => "Ä",
"Ü" => "Ü",
"Ö" => "Ö",
"ß" => "ß",
"„" => "„",
"“" => "”",
"©" => "©",
"®" => "®",
"–" => "-",
"™" => "™"
);
return strtr($string, $upas);
}
function leerzeichen($string)
{
$upas = array("_" => " ");
return strtr($string, $upas);
}