listenname=$listenname; $this->pfad=$pfad; $this->KA=$ka_temp; //Wenn alles gezeigt werden soll if ($ka_temp=="alles"){ switch ($_POST[sortierung]) { case 01: $sql="SELECT ID from ".$listenname." ORDER BY vorname"; //echo "Suche nach 1 Vorname"; break; case 02: $sql="SELECT ID from ".$listenname." ORDER BY nachname"; //echo "Suche nach Nachname"; break; case 03: $sql="SELECT ID from ".$listenname." ORDER BY firma"; //echo "Suche nach Firma"; break; case 04: $sql="SELECT ID from ".$listenname." ORDER BY ort"; //echo "Suche nach Ort"; break; default: $sql="SELECT ID from ".$listenname." ORDER BY vorname"; if ($sortiert!=""){ //echo "Suche nach Vorname"; } break; } $result = mysql_query($sql); while($row = mysql_fetch_row($result)){ $this->liste[$this->anzahl] = new Kunde ($row[0]); $this->anzahl++; } //Wenn nur eine Kat gewähält } else { switch ($_POST[sortierung]) { case 01: $such="vorname"; break; case 02: $such="nachname"; break; case 03: $such="firma"; break; case 04: $such="ort"; break; default: $such="vorname"; case 01: break; } $sql1="SELECT ID from ".$listenname." WHERE KA1=".$this->KA." OR KA2=".$this->KA." OR KA3=".$this->KA." OR KA4=".$this->KA." OR KA5=".$this->KA." ORDER BY $such, vorname"; $result1 = mysql_query($sql1); while($row = mysql_fetch_row($result1)){ $this->liste[$this->anzahl] = new Kunde ($row[0]); $this->anzahl++; } } } //----------------------------------------------------------------------------------------------------------- //schreibt eine 2 spaltige Tabelle und alle Kunden aus vollständig aus //($this->kunden[$t]->zeigeKunde(100, 300)) gibt Kunde ganz aus //Parameter: ( weite erste Spalte, weiter zweite Spalte) //WIRD NICHT VERWENDET /*public function zeigListe($spalte1, $spalte2) { $ausgabe=""; for($t = 0; $t < $this->anzahl; $t++){ $ausgabe.= ""; } $ausgabe .= "
".($this->namen[$t])."
"; return $ausgabe; }*/ //----------------------------------------------------------------------------------------------------------- public function myName(){ return $this->myName; } //----------------------------------------------------------------------------------------------------------- //Die Funktion erzeugt eine Eingabemaske mit Schaltfläche. Hier kann ein Suchbegriff eingegeben werden. //Nach diesem Suchbegriff wird die Datenbank (listenname) durchsucht. //Die Funktion wird Menü aufgerufen - ohne Text - Übergabe false //Sie wird nach Buttondruck auf der seite kunden_suchen.php erneut aufgrufen - mit text - true, um die Ergbenisse anzuzeugen public function suchen($text){ //Textfeld + Schaltfäche $zeigMich=""; if($text){ $zeigMich.="Bei dieser Suche werden alle Daten eines Benutzers oder Kunden
in der kompletten Datenbank durchsucht.

Zwischen Groß- und Kleinschreibung wird nicht unterschieden.

Nach Kategorien wird nicht gesucht.

"; } else{ $zeigMich.="


Benutzer & Kunden suchen
"; } echo $zeigMich; //Wenn etwas eingegeben wurde: if (($_POST[begriff])&&($text)){ echo "


Suche nach $_POST[begriff] liefert folgende Ergebnisse:


"; $menge=0; //Aufspalten der Suchwörter, die durch Leerzeichen getrennt sind $suchwoerter = explode(" ", $_POST[begriff]); foreach($this->liste as $obj){ //Jedes Objekt der Liste durchsuchen foreach($suchwoerter as $suchwort){ //Der Reihe nach alle Suchwörter durchgehen $obj->ladeKunde("kunden"); //Kunden laden, damit er durchsucht werden kann $fund_ID[$menge]=$obj->suchen($suchwort, $suchwoerter); //Im Kunden suchen und ID in Array speichern if(($obj->binIchUser())&&(!$fund_ID[$menge])){ //Wenn Kunde auch ein User ist und nix gefunden $benutz = new user ($obj->binIchUser()); //Wird ein User erzeugt und $fund_ID[$menge]=$benutz->suchen_user($suchwort, $suchwoerter); //durchsucht } if ($fund_ID[$menge]){ //Wenn gefunden - wenn ID vorhanden $doppel=false; for ($i=0; $i<$menge; $i++){ //Doppelte nur einmal anzeigen if($fund_ID[$menge]==$fund_ID[$i]){ $doppel=true; } } if(!$doppel){ $fund[$menge]=new Kunde($fund_ID[$menge]); //Kunden erzeugen und ausgeben $fund[$menge]->ladeKunde($this->listenname); echo "".$fund[$menge]->getname().""; echo "

"; $menge++; } } } } } if($r){ if ($menge==0){ echo "Es liegen keine Sucherergebnisse vor!"; } else { echo "_______________________________
Suchergebnisse: ".$menge; } } return; } //----------------------------------------------------------------------------------------------------------- /* //Die Funktion schreibt eine Liaste aller Kunden. Es kann bestimmt werden, wieviel Namen pro Seite gezeigt werden. //Weiterhin wird bestimmt, nach welchen Kriterien die Liste sortiert wird. Nach Buttondruck wird immer die gleiche //Seite nochmal aufgerufen allerdings mit $Post paarmeter. //[anzeige_zahl] = soviel sollen auf jeder Seite gezeigt werden, wird mit Radiobutton bestimmt (dynamisch nach this>minProSeite) //[gezeigt] = soviel Kunden wurden auf den Seiten zuvor schon gezeigt (ruft ja gleiche Seite immer wieder auf) // . .. wird mit input type hidden (vor weiterknopf) gesetzt //[anzeige_weiter] = Wert eines Buttons, wenn betätigt steht "weiter..." drin und es werden weitere Kunden gezeigt //[sortierung] = Wert nachdem sortiert wird, wird im Menü festgelget (1 Vorname, 2 Nachname, 3 Firma, 4 Ort */ public function liste_auswahl($weiter) { if (!$_POST[anzeige_weiter]){$_POST[gezeigt]=0;}; //Startwert auf null setzen if(!$_POST[anzeige_zahl]){ //Wenn nicht bestimmt wiviel gezeigt werden, standartwert $_POST[anzeige_zahl]=$this->minProSeite; } $zeigMich= ""; //Menü schreiben $zeigMich .= "
Anzahl pro Seite:
minProSeite){$zeigMich .="checked"; } $zeigMich .=">".$this->minProSeite."    minProSeite*2)){$zeigMich .="checked"; } $zeigMich .=">".($this->minProSeite*2)."    minProSeite*3)){$zeigMich .="checked"; } $zeigMich .=">".($this->minProSeite*3)."    minProSeite*4)){$zeigMich .="checked"; } $zeigMich .=">".($this->minProSeite*4)."

Sortiert nach:
"; } echo $zeigMich; echo $inhalt."
"; return; } //----------------------------------------------------------------------------------------------------------- //FKT ändert alle Kategorieeintraäge eines Kunden auf Übergabeparameter (neue KA) //FKT wird nur verwendet wenn eine Liste einer Kategorie erstellt wurde. Da hier die KA immer gleich ist, //wird die KA eines jeden Kunden dieser Liste einfach geändert. //FKT wird zB aufgerufen, wenn zB. eine Kategorie gelöscht wird //Liefert true wenn Erfolgreich, false wenn kein Erfolg //Info - ein Kunde kann in 5 Kategorien eingetragen werden, welche hier alle überprüft/geändert werden müssen public function updateKat($neuWert){ if($this->KA!="alles"){ $speichern=1; $sql1="UPDATE kunden SET KA1='".$neuWert."' WHERE KA1='".$this->KA."'"; $sql2="UPDATE kunden SET KA2='".$neuWert."' WHERE KA2='".$this->KA."'"; $sql3="UPDATE kunden SET KA3='".$neuWert."' WHERE KA3='".$this->KA."'"; $sql4="UPDATE kunden SET KA4='".$neuWert."' WHERE KA4='".$this->KA."'"; $sql5="UPDATE kunden SET KA5='".$neuWert."' WHERE KA5='".$this->KA."'"; if(mysql_query($sql1)){ $speichern *=1; } else {$speichern *=0;} if(mysql_query($sql2)){ $speichern *=1; } else {$speichern *=0;} if(mysql_query($sql3)){ $speichern *=1; } else {$speichern *=0;} if(mysql_query($sql4)){ $speichern *=1; } else {$speichern *=0;} if(mysql_query($sql5)){ $speichern *=1; } else {$speichern *=0;} return $speichern; } return false; } //----------------------------------------------------------------------------------------------------------- //Schreibt eine Liste aller möglichen E-Mail empfänger mit Häckchen //WICHTIG! Diese FKT muss vin einem
tag umschlossen werden! Sie schreibt Buttons, aber das öffnende Formtag //muss vor FKT gestezt werden, dann die FKT aufrufen und Rückgabewert ausgeben (echo), dann ein schliessendes Fotmtag //So ist die FKT universeller einsetzbar. //Form wird hier nicht gesetzt! public function liste_email($weiter) { if (!$_POST[anzeige_weiter]){$_POST[gezeigt]=0;}; //Startwert auf null setzen if(!$_POST[anzeige_zahl]){ //Wenn nicht bestimmt wiviel gezeigt werden, standartwert $_POST[anzeige_zahl]=$this->minProSeite; } $zeigMich= ""; //Menü schreiben $zeigMich .= "Markieren sie die Kästchen der Empfänger und klicken sie ganz unten auf Auswahl!


Sortiert nach:
".$this->liste[$i]->myEmail_doppel()."    ".$this->liste[$i]->zeigeName().""; $inhalt.="".$this->liste[$i]->zeigeNachname().""; $inhalt.="".$this->liste[$i]->zeigeFirma().""; $inhalt.="".$this->liste[$i]->zeigeOrt()."   "; } } $inhalt.="

"; return $zeigMich.$inhalt; /* Funktionsprinzip $zeigMich="
praktikant1@media-agentur-hof.de
emil@arcor.de
def
ghi
jkl
"; return $zeigMich; */ } //---------------------------------------------------------------------------------------------- public function getKa(){ return $this->KA; } //------------------------------------------------------------------------------------------------ public function format_Emails(){ /*$emil=""; foreach ($this->liste as $empf){ $empf->ladeKunde($this->listenname); $emil.= $empf->myEmail().", "; unset($empf); //löschen des objekts } $emil = substr($emil, 0, -2); return $emil;*/ } } ?> //Achtung! Prozess darf nicht länger als 90 sek dauern! Nie mehr als 400 Mails!! define("newsletteranzahl_pro_prozess", 200); //Der NAme der Seite oben im Browser define("seitentitelname", "Daten Media Agentur Hof"); //Der Vorname eines Users, der sich für den Newsletter einschreibt define("webuser_newslettername", "webuser Media Agentur"); //Der NAchname eines Users, der sich für den Newsletter einscheibt define("webdomaindefinition", "-"); $navi_breite=110; //Wird evtl gar nicht mehr verwendet?? ?>pfad=$pfad; } //----------------------------------------------------------------------------------------------------- //liefert den kompletten Inhalt des Uploadordners. Liefert nur eine Ebene tief die Inhalte. //Dh. Im Ornder Upload können sich Ordner befinden, aber die Inhalte weiterer Ordner innerhalb dieser Ordner //werden nicht gezeigt -> später rekursiv //Die Methode verweist auf Funktionen, mit denen einzelne Dateien gelöscht oder verschoben werden können. public function showAll($funk, $dat){ $zeigMich=""; if(!$funk){ $zeigMich.="

Alle hochgeladenen Dateien:

Klicken sie auf die Datei um sie im Browser anzusehen.

Klicken sie mit rechts auf eine Datei und dann auf -speichern unter- um die Datei zu downloaden.

Dateien können sie mit löschen und mit kopieren.



Dateien:


"; $zeigMich.=""; $dh = opendir($this->pfad); //Ordner öffen if ($dh){ while($datei = readdir($dh)){ if($datei !== "*" && $datei !== "." && $datei !== ".."){ $zeigMich.=""; //Ordnernamen im Uploadordner ausgegen $pfad2=$this->pfad."/".$datei; //Inhalt aller Ordner im Uploadordner ausgeben $dhh = opendir($pfad2); while($datei2 = readdir($dhh)){ if($datei2 !== "*" && $datei2 !== "." && $datei2 !== ".."){ $zeigMich.=""; } } $zeigMich.=""; } } $zeigMich.="
  ".$this->ordner2name($this->pfad."/".$datei)."
       ".$datei2." (".date ("d.m.Y", fileatime ($pfad2."/".$datei2))." - ".$this->dateigross($pfad2."/".$datei2).")











"; } else { $zeigMich.="Der Ordner ".$this->pfad." konnte nicht geöffnet werden"; } }//End if !funk //Wenn Datei gelöscht werden soll: else if($funk=="1"){ if ($_POST[Knopf]==" ja - löschen ") { $this->losche($dat); } else if($_POST[Knopf]==" nein "){ $zeigMich.= "zurück"; } else{ $zeigMich.= "Möchten sie die Datei $dat wirklich löschen?

"; $zeigMich.="     
"; } } //Datei soll kopiert werden, hier wird Ziel bestimmt else if($funk=="2"){ $zeigMich.="Wohin möchten sie Datei: $dat kopieren?


"; $zeigMich.=""; $dh = opendir($this->pfad); if ($dh){ while($datei = readdir($dh)){ if($datei !== "*" && $datei !== "." && $datei !== ".."){ $zeigMich.=""; //Ordnernamen im Uploadordner ausgegen } } } $zeigMich.="
  ".$datei."   

"; } //Datei wird verschoben: else { $this->kopieren($funk, $dat); } return $zeigMich; } //------------------------------------------------------------------------------------------------------------- //Kopiert eine Datei (dat) zum ziel (ziel) und schreibt ober Vorgang erfolgreich war; private function kopieren($ziel, $dat){ $a=explode ("/", $dat); $ziel=$this->pfad."/".$ziel."/".$a[3]; echo "verschiebe Datei: $a[3]
von: $dat
zu:   $ziel

"; $result=copy($dat, $ziel); //chmod($str_ziel, 0644); if (!($result)){ echo "Fehler - Konnte Datei nicht speichern"; return true; }else{ echo "Datei verschoben!
"; return false; }; } //----------------------------------------------------------------------------------------------------------- //Die Funktion löscht alle die DAtei, die im Übergabepara steht und schreibt ober Vorgang erfolgreich war; private function losche($dat){ $entfernt=unlink($dat); if (!($entfernt)){ echo "Fehler - Konnte Datei ".$dat." nicht löschen"; return false; }else{ echo "Datei: ".$dat." erfolgreich gelöscht
"; return true; } } //----------------------------------------------------------------------------------------- //Zeigt den inhalt des Ordners, der den Pfad dieses Objekts hat (Pfad im Konstruktor) , //dazu gibt es die Möglichkeit, die gezeigten Inhalte zu löschen, indem die Methode losche() aufgerufen wird public function showOrdner_del($funk, $dat){ $zeigMich=""; if(!$funk){ //Anzeigen aller Dateien $dh = opendir($this->pfad); if ($dh){ $zeigMich .= "Klicken sie auf um ihre hochgeladene Datei zu löschen.


"; while($datei = readdir($dh)){ if($datei !== "*" && $datei !== "." && $datei !== ".."){ $zeigMich .= ""; } } $zeigMich .= "
  Ihre Dateien:
pfad."/".$datei."'>     ".$datei." (".date ("d.m.Y", fileatime ($this->pfad."/".$datei))." - ".$this->dateigross($this->pfad."/".$datei).")
"; } else { $zeigMich .="Der Ordner ".$this->pfad." konnte nicht geöffnet werden"; } } //es soll gelöscht werden else if($funk=="1"){ if ($_POST[Knopf]==" ja - löschen "){ $this->losche($dat); } else if($_POST[Knopf]==" nein "){ $zeigMich.= "zurück"; } else { $te=explode("/", $dat); $zeigMich.= "Möchten sie die Datei $te[3] wirklich löschen?

"; $zeigMich.="
    
"; } //Bei Fehler }else { $zeigMich .="Für diesen Benutzer wurde kein Verzeichnis gespeichert!"; } return $zeigMich; } //---------------------------------------------------------------------------------------------------------- //Funktion die eine Eingabemaske bereitstellt, mit deren Hilfe Daten in den Ordner hochlädt, der zu diesem Objekt gehört //Die Funktion lädt - wie immer mit php - über das http Protokol, welches nur für kleine Daten ausgelegt ist. //Wir die php funktion ftp.connect ... verwendet, wird auch erst per http hochgeladen und dann mit ftp verschoben. //Also sind nur kleine Dateien möglich public function dateiUpload(){ /*ini_set("max_execution_time", "6000"); ini_set("post_max_size", "32M"); ini_set("memory_limit", "32M"); ini_set("max_input_time", " -1"); ini_set("upload_max_filesize", "32M"); echo "
Max time: ".ini_get("max_execution_time"); echo "
Max Size: ".ini_get("upload_max_filesize"); echo "
Max post: ".ini_get("post_max_size"); echo "
mem limt: ".ini_get("memory_limit"); echo "
input ti: ".ini_get("max_input_time"); */ if (!$_POST['Knopf']){ //Eingabemaske $zeigMich="


"; } else { if($this->dateiendung($_FILES['datei']['name']) != 'php'){ //Ausgabe der hochzuladenden Datei $zeigMich.= "Name der Datei: ".$_FILES['datei']['name']."
"; $zeigMich.="Typ der Datei: ".$_FILES['datei']['type']."
"; $zeigMich.="Größe der Datei: ".$_FILES['datei']['size']." Bytes


"; // Zusammensetzen des vollen Pfades zum Ziel $str_ziel = $this->pfad."/".$_FILES['datei']['name']; // datei schreiben $result=move_uploaded_file($_FILES['datei']['tmp_name'], $str_ziel); chmod($str_ziel, 0644); } if (!($result)){ $zeigMich.="Fehler - Konnte Datei nicht speichern"; }else{ $zeigMich.="Datei gespeichert!
"; }; } return $zeigMich; } //----------------------------------------------------- //Die Funktion löscht einen Ordner und dessen Dateien, indem sie sich rekursiv aufruft public function removeVerz($dirname) { if (!file_exists($dirname)) { return false; } // Lösche eine Datei, wenn vorhanden if (is_file($dirname)) { return unlink($dirname); } //Durch die Ordner gehen $dir = dir($dirname); while (false !== $entry = $dir->read()) { if ($entry == '.' || $entry == '..') { continue; } // erneut aufrufen $this->removeVerz("$dirname/$entry"); } // fertig und löschen $dir->close(); return rmdir($dirname); } //------------------------------------------------------------------------------------------------------ public function dateiendung($dat) { $file= explode('.', $dat); return strtolower($file[count($file) -1]); } //------------------------------------------------------------------------------------------ //Zeigt den Namen des Users, zusammen mit Firma als Link zu Profil zeigen des Users private function ordner2name($ordner){ $sql="SELECT kunden_ID, username, freigabe FROM user WHERE ordner= '".$ordner."' LIMIT 1"; $result = mysql_query($sql); $user=mysql_fetch_assoc($result); if ( mysql_num_rows($result)==1) { //Kunden iD steht fest $sql2="SELECT vorname, nachname, firma FROM kunden WHERE ID= '".$user['kunden_ID']."' LIMIT 1"; $result2 = mysql_query($sql2); $user2=mysql_fetch_assoc($result2); $zeigMich="".$user['username']."   (Name: ".$user2['vorname']." ".$user2['nachname']." | Firma: ".$user2['firma']." | Freigabe: ".$user['freigabe'].")"; return $zeigMich; } return false; } //------------------------------------------------------------------------------------------ private function dateigross($datei){ $gross=filesize($datei); if($gross>1000000){ $gross=$gross/1000000; $gross=round($gross, 2); $gross .= " MB"; } else { $gross=$gross/1000; $gross=round($gross, 3); $gross .= " KB"; } return $gross; } } ?> Verbindung zur Datenbank fehlgeschlagen: Access denied for user ''@'localhost' (using password: NO)