/** *@author Zoë Voß *@date 2007-05-22 *@version 1 * * Die Klasse verwaltet das Schreiben von Foto-Sets und ihrem * Inhalt * */ // Hilfsklasse für einen Eintrag in elggfile_folders class File_Folder{ var $owner; var $files_owner; var $parent; var $name; var $access; var $handler; var $time_stamp; }; // Legt einen neuen Ordner für die Bilder an function newFolder($owner, $files_owner, $title) { // den Order schreiben $folder = new File_Folder(); $folder->owner = $owner; $folder->files_owner = $files_owner; $folder->parent = -1; $folder->name = $title; $folder->access = 'PUBLIC'; $folder->handler = 'photogallery'; $folder->time_stamp = time(); return insert_record('file_folders',$folder); } function editFolder($folder_id,$owner, $files_owner, $title) { $sql = 'DELETE FROM elggfile_folders WHERE ident = '.$folder_id.';'; execute_sql($sql, false); return newFolder($owner, $files_owner, $title); } function deleteFolder($folder_id) { deleteFotos($folder_id); $sql = 'DELETE FROM elggfile_folders WHERE ident = '.$folder_id.';'; execute_sql($sql, false); } // Schreibt eine Liste von Fotos in einen Ordner function newFotos($ids, $folder_id = -1) { // Die Bilder in den Ordner packen if ($ids != null) { foreach ($ids as $id) { // Einen alten Datensatz holen $sql = 'SELECT * FROM elggfiles WHERE ident = '.$id.';'; $result = recordset_to_array(get_recordset_sql($sql)); $row = current($result); $id = $row->ident; // Den Ordner umsetzen, alle weiteren Werte bleiben erhalten $row->ident = ''; $row->ref = $id; $row->folder = $folder_id; $ident = insert_record('files',$row); newTags($id, $ident); $row = next($result); } } } function deleteFotos($fotoset_id) { $sql = 'SELECT * FROM elggfiles WHERE folder = '.$fotoset_id.';'; $result = recordset_to_array(get_recordset_sql($sql)); if ($result != null) { foreach($result as $row) { deleteOldTags($row->ident); } } $sql = 'DELETE FROM elggfiles WHERE folder = '.$fotoset_id.';'; execute_sql($sql, false); } function deleteAllFotos($stamm_foto_id) { // Alle referenzierenden Bilder holen global $page_owner; $image_rec = get_record('files', 'ident', (int)$stamm_foto_id); $page_owner = $image_rec->owner; if (isloggedin()) { $current_user_id = $_SESSION['userid']; if ($current_user_id == $page_owner or $current_user_id == 1) { $sql = 'SELECT ident FROM elggfiles WHERE ref = '.$stamm_foto_id.' AND owner = '. $page_owner; $result = recordset_to_array(get_recordset_sql($sql)); // Tags löschen if ($result != null) { foreach($result as $row) { deleteOldTags($row->ident); } // Alle referenzierenden Bilder löschen $sql = 'DELETE FROM elggfiles WHERE ref = '.$stamm_foto_id.' AND owner = '. $page_owner; execute_sql($sql, false); } // Stammbild löschen deleteOldTags($stamm_foto_id); $sql = 'DELETE FROM elggfiles WHERE ident = '.$stamm_foto_id.' AND owner = '. $page_owner; execute_sql($sql, false); } } } function getTags($id) { $buffer = ''; $sql = 'SELECT * FROM elggtags WHERE tagtype = \'file\' AND ref = '.$id.';'; $result = recordset_to_array(get_recordset_sql($sql)); if ($result != null) { foreach($result as $row) { $buffer .= $row->tag.','; } } if (substr($buffer,-1) == ',') $buffer = substr($buffer,0,-1); return $buffer; } // Schreibt eine Liste von Fotos in einen Ordner function editFoto($id, $title, $description, $access) { $sql = "UPDATE elggfiles SET title = '$title', access = '".$access."', description = '".str_replace("'", "\\'",$description)."' WHERE ident = $id;"; execute_sql($sql, false); } function deleteOldTags($id) { $sql = "DELETE FROM elggtags WHERE tagtype = 'file' AND ref = ".$id.';'; execute_sql($sql, false); } // Setzt die Tags zu den Bildern function newTags($id, $neuid) { // Einen alten Datensatz holen $sql = 'SELECT * FROM elggtags WHERE tagtype = \'file\' AND ref = '.$id.';'; $result = recordset_to_array(get_recordset_sql($sql)); if ($result != null) { foreach($result as $row) { $row->ident = ''; $row->ref = $neuid; $ident = insert_record('tags',$row); } } } function hddescriptionInsert($AProfileID, $beschreibung){ global $CFG; global $page_owner; global $username; global $profile_id; global $function; $function['gallery:new:body'][] = $CFG->dirroot . "units/tinymce/tinymce_js.php"; $current_user_id= $_SESSION['userid']; $profile_id= $AProfileID; $run_result =' '.run("gallery:new:body",array(array("edit_ph_description"))).' '; return $run_result; } ?>