Einbauanleitung für einen einfachen mit Fortschrittsbalken überwachten Upload für Bilder, die direkt im Öffi, im PV-Balken oder im PV-Fenster angezeigt werden: Hier stehen die jeweiligen Dateien und was verändert oder hinzugefügt werden muss. Die Zeilenangaben orientieren sich an den Standarddateien, wie sie im Originalarchiv des Downloads zu finden sind. Wo das in euren modifizierten Dateien ist, müsst ihr euch raussuchen. Die Angabe dient nur zur groben Orientierung. Eine Demo davon kann man sich hier https://diecoolies2punkt0.bigone1.net/ anschauen. Als kleine Anerkennung für meine Mühe würde ich euch bitten, dass ihr den fizfooter unverändert drin lasst. Es empfiehlt sich übrigens in den Uploadregeln oder den Regeln allgemein folgenden Hinweis anzubringen: Wir übernehmen nach §7(2) TMG keinerlei Haftung für den Inhalt der von Nutzern hochgeladenen Bildern und/oder Dateien. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CHAT.TPL.HTML <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>> AB ZEILE 83 (verändern): Bild senden    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CHAT.JS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>> AB ZEILE 440 (hinzufügen): // Klick auf Filesend $("link_filesend").onclick = function(){ var filsendwin = new Window({className: self.win_style, title:"Bildupload", width:400, height:200, top:eval(self.mouse_top-315), left:eval(self.mouse_left-120), resizable: false, showEffect:Effect.Appear, hideEffect: Effect.Fade, showEffectOptions: {duration:0.5}, hideEffectOptions: {duration:0.5}, draggable: true, minimizable: false, maximizable: false, destroyOnClose: true, opacity: 1}); filsendwin.setHTMLContent('



(Max. Größe 10MB)

Ich akzeptiere die Uploadregeln.



Uploadscript by Fizzy Lemon
'); document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.color = "black"; document.getElementById("Ergebnis").innerHTML = "Bitte wählen Sie eine Bilddatei:"; $("fileA").onchange = function() { var fileList = document.getElementById("fileA").files; var file = fileList[0]; if(!file) return; if(file.size > 10485760){ document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "red"; document.getElementById("Ergebnis").innerHTML = "Datei zu groß!"; document.getElementById("fileA").value = ""; } else { document.getElementById("Ergebnis").style.display = "none"; document.getElementById("progress").style.display = "block"; document.getElementById("prozent").style.display = "block"; document.getElementById("progress").value = 0; document.getElementById("prozent").innerHTML = "0%"; } if(file.type == "image/jpeg" || file.type == "image/png" || file.type == "image/gif"){ document.getElementById("progress").value = 0; document.getElementById("prozent").innerHTML = "0%"; } else { document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "red"; document.getElementById("Ergebnis").innerHTML = "Unzulässiger Dateityp!"; document.getElementById("fileA").value = ""; } } var client = null; $("Laden").onclick = function() { if(!$('rulescheck').checked) { alert('Du musst unseren Uploadregeln zustimmen, wenn Du Bilder hochladen m\u00f6chtest.'); return false; } var file = document.getElementById("fileA").files[0]; var formData = new FormData(); formData.append("raum", $("room").value); formData.append("privat", $("privat").value); client = new XMLHttpRequest(); var prog = document.getElementById("progress"); if(!file) return; prog.value = 0; prog.max = 100; formData.append("file", file); client.onerror = function(e) { alert("onError"); }; client.onload = function(e) { if (client.status == 200) { document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "green"; document.getElementById("Ergebnis").innerHTML = "Datei erfolgreich hochgeladen!"; document.getElementById("fileA").value = ""; } else { document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "red"; document.getElementById("Ergebnis").innerHTML = "Upload gescheitert! (Error " + client.status + ")"; document.getElementById("fileA").value = ""; } document.getElementById("prozent").innerHTML = "100%"; prog.value = prog.max; }; client.upload.onprogress = function(e) { var p = Math.round(100 / e.total * e.loaded); document.getElementById("progress").value = p; document.getElementById("prozent").innerHTML = p + "% hochgeladen"; }; client.open("POST", "./?filesend"); client.send(formData); } // Ist dass Fenster bereits sichtbar? if($(filsendwin.getId()).style.display=='none'){ filsendwin.show(); filsendwin.toFront(); } else filsendwin.close(); } >>>>> AB ZEILE 660 (verändern): self.win_private[win_id1[count_priv_win]].setHTMLContent('
'); >>>>> AB ZEILE 687 (hinzufügen): $('filesend2win_'+win_id1[count_priv_win]).onclick = function(e) { var tid = this.id.replace('filesend2win_','message_win_'); self.filesend2privatwin(tid, user_id); return false; }; >>>>> AB ZEILE 925 (hinzufügen): // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // (Start) Filesend nur für PrivatWin ------- this.filesend2privatwin = function(message_input_field, privat2id) { var filesend2win = new Window({className: self.win_style, title:"Bildupload pv", width:400, height:200, top:eval(self.mouse_top-215), left:eval(self.mouse_left-120), resizable: false, showEffect:Effect.Appear, hideEffect: Effect.Fade, showEffectOptions: {duration:0.5}, hideEffectOptions: {duration:0.5}, draggable: true, minimizable: false, maximizable: false, destroyOnClose: true, opacity: 1}); filesend2win.setHTMLContent('



(Max. Größe 10MB)

Ich akzeptiere die Uploadregeln.



Uploadscript by Fizzy Lemon
'); document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.color = "black"; document.getElementById("Ergebnis").innerHTML = "Bitte wählen Sie eine Bilddatei:"; $("fileA").onchange = function() { var fileList = document.getElementById("fileA").files; var file = fileList[0]; if(!file) return; if(file.size > 10485760){ document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "red"; document.getElementById("Ergebnis").innerHTML = "Datei zu groß!"; document.getElementById("fileA").value = ""; } else { document.getElementById("Ergebnis").style.display = "none"; document.getElementById("progress").style.display = "block"; document.getElementById("prozent").style.display = "block"; document.getElementById("progress").value = 0; document.getElementById("prozent").innerHTML = "0%"; } if(file.type == "image/jpeg" || file.type == "image/png" || file.type == "image/gif"){ document.getElementById("progress").value = 0; document.getElementById("prozent").innerHTML = "0%"; } else { document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "red"; document.getElementById("Ergebnis").innerHTML = "Unzulässiger Dateityp!"; document.getElementById("fileA").value = ""; } } var client = null; $("Laden_privat").onclick = function() { if(!$('rulescheck_privat').checked) { alert('Du musst unseren Uploadregeln zustimmen, wenn Du Bilder hochladen m\u00f6chtest.'); return false; } var file = document.getElementById("fileA").files[0]; var formData = new FormData(); formData.append("raum", $("room").value); formData.append("privat", privat2id); client = new XMLHttpRequest(); var prog = document.getElementById("progress"); if(!file) return; prog.value = 0; prog.max = 100; formData.append("file", file); client.onerror = function(e) { alert("onError"); }; client.onload = function(e) { if (client.status == 200) { document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "green"; document.getElementById("Ergebnis").innerHTML = "Datei erfolgreich hochgeladen!"; document.getElementById("fileA").value = ""; } else { document.getElementById("progress").style.display = "none"; document.getElementById("prozent").style.display = "none"; document.getElementById("Ergebnis").style.display = "block"; document.getElementById("Ergebnis").style.color = "red"; document.getElementById("Ergebnis").innerHTML = "Upload gescheitert! (Error " + client.status + ")"; document.getElementById("fileA").value = ""; } document.getElementById("prozent").innerHTML = "100%"; prog.value = prog.max; }; client.upload.onprogress = function(e) { var p = Math.round(100 / e.total * e.loaded); document.getElementById("progress").value = p; document.getElementById("prozent").innerHTML = p + "% hochgeladen"; }; client.open("POST", "./?filesend2win"); client.send(formData); } // Ist dass Fenster bereits sichtbar? if($(filesend2win.getId()).style.display=='none'){ filesend2win.show(); filesend2win.toFront(); } else filesend2win.close(); } // (Stop) Filesend nur für PrivatWin ------- // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>>> AB ZEILE 1196 (verändern): self.win_private[win_id1].setHTMLContent('
filesend2privatewin
'); >>>>> AB ZEILE 1219 (hinzufügen): $("filesend2privatewin_"+win_id1).onclick = function(){ self.filesend2privatwin('message_win_'+win_id1, privat2id); return false; } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> STATICMETHODS.CLASS.PHP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>> AB ZEILE 43 (hinzufügen): (sucht euch eine Methode aus, wie ihr die gesendeten Bilder im pv-Fenster darstellen wollt. Löscht die Zeilen oder kommentiert aus) $str = preg_replace('/\[pvi\](.*?)\[\/pvi\]/', "Bild gepostet", $str); //Nur Linklabel $str = preg_replace('/\[pvi\](.*?)\[\/pvi\]/',"\"Bild", $str); // oder als Vorschau zum Anklicken >>>>> AB ZEILE 100 (verändern): $str="\"Bild"; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> STYLE.CSS <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>> AM ENDE HINZUFÜGEN (hinzufügen): progress[value] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; width: 250px; height: 20px; } progress[value]::-webkit-progress-bar { background-color: #eee; border-radius: 2px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset; } progress[value]::-webkit-progress-value { background-image: -webkit-linear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, .1) 33%, rgba(0,0, 0, .1) 66%, transparent 66%), -webkit-linear-gradient(top, rgba(255, 255, 255, .25), rgba(0, 0, 0, .25)), -webkit-linear-gradient(left, #006633, #00ff66); border-radius: 2px; background-size: 35px 20px, 100% 100%, 100% 100%; } progress[value]::-moz-progress-bar { background-image: -moz-linear-gradient( 135deg, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66% ), -moz-linear-gradient( top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.25) ), -moz-linear-gradient( left, #006633, #00ff66 ); border-radius: 2px; background-size: 35px 20px, 100% 100%, 100% 100%; } #Filesendmain{ width: 90%; padding: 6px; overflow: hidden; background-image: linear-gradient(to top, rgba(241,255,238,1) 20%, rgba(241,255,238,0) 90%); border-radius: 8px; } #fizfooter{ color: #1f4f1e; font-size: x-small; } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FILESEND.CLASS.PHP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>> (KOMPLETT NEU ERSTELLEN): dbObj->sqlSet("INSERT INTO {$this->_prefix}etchat_messages (etchat_user_fid, etchat_text, etchat_text_css, etchat_timestamp, etchat_fid_room, etchat_privat, etchat_user_ip) VALUES ( '".$_SESSION['etchat_'.$this->_prefix.'user_id']."', '[img]".$imgurl."[/img]', 'color:black;font-weight:normal;font-style:normal;', ".date('U').", '".$roomId."', '".(int)$_POST['privat']."', '".$_SERVER['REMOTE_ADDR']."')"); $this->dbObj->close(); } } } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> FILESEND2WIN.CLASS.PHP <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>> (KOMPLETT NEU ERSTELLEN): 0){ $pflag = "/window:"; } else { $pflag = ""; } if (isset($_FILES['file'])) { preg_match('/\.([a-zA-Z]+?)$/', $_FILES['file']['name'], $matches); if(in_array(strtolower($matches[1]), $accepted)) { $newname = md5_file($_FILES['file']['tmp_name']).'.'.$matches[1]; move_uploaded_file($_FILES['file']['tmp_name'], $filedir.'/'.$newname); $imgurl = 'https://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/', '/', $_SERVER['PHP_SELF']).$filedir.'/'.$newname; $this->dbObj->sqlSet("INSERT INTO {$this->_prefix}etchat_messages (etchat_user_fid, etchat_text, etchat_text_css, etchat_timestamp, etchat_fid_room, etchat_privat, etchat_user_ip) VALUES ( '".$_SESSION['etchat_'.$this->_prefix.'user_id']."', '".$pflag."[pvi]".$imgurl."[/pvi]', 'color:black;font-weight:normal;font-style:normal;', ".date('U').", '".$roomId."', '".(int)$_POST['privat']."', '".$_SERVER['REMOTE_ADDR']."')"); $this->dbObj->close(); } } } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENDE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<