function savePicture() { $entityTypeId = $this->input->post('entityTypeId'); $entityId = $this->input->post('entityId'); $config = getEntityGalleryConfig($entityTypeId); if (!$this->safety->allowByControllerName($config['controller'])) { return errorForbidden(); } $result = savePicture($config, $entityTypeId, $entityId); if ($result['code'] != true) { return loadViewAjax(false, $result['result']); } $files = $this->Files_Model->selectEntityGallery($entityTypeId, $entityId, $result['fileId'], true); return loadViewAjax(true, array('files' => $files)); }
$result4 = mysql_query("UPDATE {$table2} SET FileName = '{$new_filename}' WHERE pic_id = '{$pic_id}'"); } //die Datei-Attribute werden für die hochgeladene Original-(jpg)Bilddatei auf 0700 gesetzt: $fileOri = $pic_path . "/" . $new_filename; clearstatcache(); chmod($fileOri, 0700); clearstatcache(); /* $end1 = microtime(); list($start1msec, $start1sec) = explode(" ",$start1); list($end1msec, $end1sec) = explode(" ",$end1); $runtime1 = ($end1sec + $end1msec) - ($start1sec + $start1msec); echo "Zeit für Bildupload: ".$runtime1."<BR>"; */ //Funktions-Parameter: Bild-ID, Anzahl der Scenen; User-ID; Ausrichtung savePicture($pic_id, $z, $user_id, $Orientation); //Parameter sollten reichen, da sich alles weitere erzeugen lä�t /* $end2 = microtime(); list($end2msec, $end2sec) = explode(" ",$end2); $runtime2 = ($end2sec + $end2msec) - ($start1sec + $start1msec); echo "Zeit bis Bilddatenspeicherung: ".$runtime2."<BR>"; */ //Aus Preformance-Gründen werden die Histogramme aus den HQ-Bildern gewonnen: $result3 = mysql_query("SELECT * FROM {$table2} WHERE pic_id = '{$pic_id}'"); $FNHQ = mysql_result($result3, isset($i3), 'FileNameHQ'); $FileName = $FNHQ; //Parameter: Bild-ID, Name der HQ-Datei (z.B. 21456_hq.jpg), Server-Root generateHistogram($pic_id, $FileName, $sr); /* $end3 = microtime();
$new_filename = $tmp_filename; //jpg-Dateien behalten ihren eindeutigen Dateinamen //2, 4, 5 und 7 sind Spiegelungen, nur 3, 6 und 8 sind reine Rotationen: //Erzeugung der lagerichtigen Kopie in /rotated: if ($Orientation == '3' or $Orientation == '6' or $Orientation == '8') { $rot_filename = createQuickPreview($Orientation, $new_filename, $sr); } $result4 = mysql_query("UPDATE {$table2} SET FileName = '{$new_filename}' WHERE pic_id = '{$pic_id}'"); //die Datei-Attribute werden fuer die hochgeladene Original-(jpg)Bilddatei auf 0700 gesetzt: $fileOri = $pic_path . "/" . $new_filename; clearstatcache(); chmod($fileOri, 0700); clearstatcache(); } //Funktions-Parameter: Bild-ID, Anzahl der Szenen; User-ID; Ausrichtung savePicture($pic_id, '1', $uid, $Orientation, $sr); //Parameter sollten reichen, da sich alles weitere erzeugen laesst //Aus Preformance-Gruenden werden die Histogramme aus den HQ-Bildern gewonnen: $result3 = mysql_query("SELECT * FROM {$table2} WHERE pic_id = '{$pic_id}'"); $FNHQ = mysql_result($result3, isset($i3), 'FileNameHQ'); $md5sum = mysql_result($result3, isset($i3), 'md5sum'); //wird bei der Doublettenpruefung benoetigt $FileName = $FNHQ; //Parameter: Bild-ID, Name der HQ-Datei (z.B. 21456_hq.jpg), Server-Root generateHistogram($pic_id, $FileName, $sr); //Meta-Daten aus dem Bild auslesen und in die Tabelle pictures schreiben: //Parameter: Bild-ID, Server-Root, ermittelte Bildausrichtung extractExifData($pic_id, $sr, $Orientation); // +++ loeschen der soeben in die DB aufgenommene Datei aus dem Upload-Ordner, aber nur, wenn sich die Originaldatei lesen laesst: +++ $fh = fopen($pic_path . '/' . $new_filename, 'r'); if ($fh) {
publishPicture($cid, 0); break; case 'movepic': movePic($cid[0]); break; case 'movepicres': movePicResult($cid); break; case "edit": editPicture($cid[0]); break; case "remove": removePicture(); break; case "save": savePicture(); break; case "comments": showComments(); break; case "publishcmt": publishComment($id, 1); break; case "unpublishcmt": publishComment($id, 0); break; case "removecmt": removeComment(); break; case "showupload": showUpload();
function savePicture($testId) { if (!$this->safety->allowByControllerName('testing/edit')) { return errorForbidden(); } $this->deletePicture($testId); $result = savePicture(config_item('testPicture')); if ($result['code'] != true) { return loadViewAjax(false, $result['result']); } $testPictureFileId = $result['fileId']; $this->Testing_Model->savePicture($testId, $testPictureFileId); $data = $this->Testing_Model->get($testId, true); return loadViewAjax(true, $data['testPicture']); }