$width || $height_orig>$height) imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); else $image_p = $image; imagejpeg($image_p, $filename, 80); @imagedestroy($image_p); @imagedestroy($image); } if(isset($_POST['person_idValue'])) { $benutzer = new benutzer(); $benutzer->load($user); if($benutzer->person_id!=$_POST['person_idValue']) die($p->t('global/keineBerechtigungFuerDieseSeite')); $fs = new fotostatus(); if($fs->akzeptiert($benutzer->person_id)) die($p->t('profil/profilfotoUploadGesperrt')); } else die($p->t('global/fehlerBeiDerParameteruebergabe')); //file als png und jpg abspeichern $tmpfname = tempnam(sys_get_temp_dir(), 'FHC'); file_put_contents($tmpfname, base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $src))); $imageTmp=imagecreatefrompng($tmpfname); imagejpeg($imageTmp, $tmpfname, 100); $person_id = $_POST['person_idValue']; //profilbild speichern if(file_exists($tmpfname)) { $width=101; $height=130; //groesse auf maximal 827x1063 begrenzen resize($tmpfname, 827, 1063); $fp = fopen($tmpfname,'r'); //auslesen $content = fread($fp, filesize($tmpfname)); fclose($fp); $akte = new akte(); if($akte->getAkten($person_id, 'Lichtbil')) { if(count($akte->result)>0) { $akte = $akte->result[0]; $akte->new = false; } else $akte->new = true; } else { $akte->new = true; } $akte->dokument_kurzbz = 'Lichtbil'; $akte->person_id = $person_id; $akte->inhalt = base64_encode($content); $akte->mimetype = "image/jpg"; $akte->erstelltam = date('Y-m-d H:i:s'); $akte->gedruckt = false; $akte->titel = "Lichtbild_".$person_id.".jpg"; $akte->bezeichnung = "Lichtbild gross"; $akte->updateamum = date('Y-m-d H:i:s'); $akte->updatevon = $user; $akte->insertamum = date('Y-m-d H:i:s'); $akte->insertvon = $user; $akte->uid = ''; if(!$akte->save()) { echo "Fehler: $akte->errormsg"; } //groesse auf maximal 101x130 begrenzen resize($tmpfname, 101, 130); //in DB speichern //File oeffnen $fp = fopen($tmpfname,'r'); //auslesen $content = fread($fp, filesize($tmpfname)); fclose($fp); //in base64-Werte umrechnen $content = base64_encode($content); $person = new person(); if($person->load($person_id)) { //base64 Wert in die Datenbank speichern $person->foto = $content; $person->new = false; if($person->save()) { $fs = new fotostatus(); $fs->person_id=$person->person_id; $fs->fotostatus_kurzbz='hochgeladen'; $fs->datum = date('Y-m-d'); $fs->insertamum = date('Y-m-d H:i:s'); $fs->insertvon = $user; $fs->updateamum = date('Y-m-d H:i:s'); $fs->updatevon = $user; if(!$fs->save(true)) echo 'Fehler beim Setzen des Bildstatus'; else { echo "Bild wurde erfolgreich gespeichert"; } } else echo ''.$person->errormsg.'
'; } } //temporäre files löschen unlink($tmpfname); ?>