Exemplo n.º 1
0
/**
 * Displays the body of a file containing the decription, downloadbuttons and change-forms
 *
 */
function display_file_body($datei, $folder_id, $open, $change, $move, $upload, $all, $refresh=FALSE, $filelink="") {
    global $rechte, $user, $SessionSeminar;
    $folder_tree = TreeAbstract::GetInstance('StudipDocumentTree', array('range_id' => $SessionSeminar));

    $type = $datei['url'] != '' ? 6 : 0;

    $content='';

    if ($change == $datei["dokument_id"]) {     //Aenderungsmodus, Formular aufbauen
        if ($datei["protected"]==1)
            $protect = "checked";
        $content.= "\n&nbsp;<input type=\"CHECKBOX\" name=\"change_protected\" value=\"1\" $protect>&nbsp;"._("geschützter Inhalt")."</br>";
        $content.= "<br><textarea name=\"change_description\" aria-label=\"Beschreibung des Ordners eingeben\" rows=\"3\" cols=\"40\">".htmlReady($datei["description"])."</textarea><br>";

        $content .= '<div class="button-group">';
        $content .= Button::createAccept(_("Übernehmen"));
        $content .= Button::createCancel(_("Abbrechen"), "cancel");
        $content .= '</div>';

        $content.= "<input type=\"hidden\" name=\"open\" value=\"".htmlReady($datei["dokument_id"])."_sc_\">";
        $content.= "<input type=\"hidden\" name=\"type\" value=\"0\">";
    } else {
        $content = '';
        $media_url = GetDownloadLink($datei['dokument_id'], $datei['filename'], $type);
        $media_type = get_mime_type($datei['filename']);
        if ($media_type == 'video/x-flv') {
            $cfg = Config::GetInstance();
            $DOCUMENTS_EMBEDD_FLASH_MOVIES = $cfg->getValue('DOCUMENTS_EMBEDD_FLASH_MOVIES');
            if (trim($DOCUMENTS_EMBEDD_FLASH_MOVIES) != 'deny') {
                $flash_player = get_flash_player($datei['dokument_id'], $datei['filename'], $type);
                $content = "<div style=\"margin-bottom: 10px; height: {$flash_player['height']}; width: {$flash_player['width']};\">" . $flash_player['player'] . '</div>';
            }
        } else if (strpos($media_type, 'video/') === 0 || $media_type == 'application/ogg') {
            $content = '<div class="preview">' . formatReady('[video]' . $media_url) . '<div>';
        } else if (strpos($media_type, 'audio/') === 0) {
            $content = '<div class="preview">' . formatReady('[audio]' . $media_url) . '<div>';
        } else if (strpos($media_type, 'image/') === 0) {
            $content = '<div class="preview">' . formatReady('[img]' . $media_url) . '<div>';
        }
        if ($datei["description"]) {
            $content .= htmlReady($datei["description"], TRUE, TRUE);
        } else {
            $content .= _("Keine Beschreibung vorhanden");
        }
        $content .=  "<br><br>" . sprintf(_("<b>Dateigröße:</b> %s kB"), round ($datei["filesize"] / 1024));
        $content .=  "&nbsp; " . sprintf(_("<b>Dateiname:</b> %s "),htmlReady($datei['filename']));
        if ($all) {
            $content .= "<br>" . sprintf("<b>%s</b> <a class=\"link-intern\" title=\"%s\" href=\"%s\">%s</a>",
                    _("Ordner:"),
                    _("Diesen Ordner in der Ordneransicht öffnen"),
                    URLHelper::getLink('folder.php#anker', array('open' => $datei['range_id'], 'data' => null, 'cmd' => 'tree')),
                    htmlReady($folder_tree->getShortPath($datei['range_id'], null, '/', 1)));
        }
    }

    if ($move == $datei["dokument_id"])
        $content.="<br>" . sprintf(_("Diese Datei wurde zum Verschieben / Kopieren markiert. Bitte wählen Sie das Einfügen-Symbol %s, um diese Datei in den gewünschten Ordner zu verschieben / kopieren. Wenn Sie diese Datei in eine andere Veranstaltung verschieben / kopieren möchten, wählen Sie die gewünschte Veranstaltung oben auf der Seite aus (sofern Sie Dozent oder Tutor in einer anderen Veranstaltung sind)."),
                                   Icon::create('arr_2right', 'sort', ['title' => _("Klicken Sie dieses Symbol, um diese Datei in einen anderen Ordner einzufügen")]))->asImg();

    $content.= "\n";

    if ($upload == $datei["dokument_id"])
        $content.=upload_item ($upload,FALSE,FALSE,$refresh);

    //Editbereich ertstellen
    $edit='';

    if (($change != $datei["dokument_id"]) && ($upload != $datei["dokument_id"]) && $filelink != $datei["dokument_id"]) {

        $edit .= '<div class="button-group">';

        # Knöpfe: herunterladen/ZIP
        if (check_protected_download($datei['dokument_id'])) {

            $edit .= LinkButton::createExtern(_("Herunterladen"), GetDownloadLink( $datei['dokument_id'], $datei['filename'], $type, 'force'));

            $fext = getFileExtension(strtolower($datei['filename']));
            if (($type != '6') && ($fext != 'zip') && ($fext != 'tgz') && ($fext != 'gz') && ($fext != 'bz2')) {
                $edit .= LinkButton::createExtern(_("Als ZIP-Archiv"), GetDownloadLink( $datei['dokument_id'], $datei['filename'], $type, 'zip'));
            }
        }

        if (($rechte) || ($datei["user_id"] == $user->id && $folder_tree->isWritable($datei["range_id"], $user->id))) {
            # Knöpfe: bearbeiten/aktualisieren
            if ($type!=6) {
                $edit .= LinkButton::create(_("Bearbeiten"),
                                            URLHelper::getURL("?open=".$datei["dokument_id"]."_c_#anker"));
                $edit .= LinkButton::create(_("Aktualisieren"),
                                            URLHelper::getURL("?open=".$datei["dokument_id"]."_rfu_#anker"));
            } else {
                //wenn Datei ein Link ist:
                $edit .= LinkButton::create(_("Bearbeiten"),
                                            URLHelper::getURL("?open=".$datei["dokument_id"]."_led_#anker"));
            }

            # Knöpfe: verschieben/kopieren
            if (!$all){
                $edit .= LinkButton::create(_("Verschieben"),
                                            URLHelper::getURL("?open=".$datei["dokument_id"]."_m_#anker"));
                $edit .= LinkButton::create(_("Kopieren"),
                                            URLHelper::getURL("?open=".$datei["dokument_id"]."_co_#anker"));
            }

            # Knopf: löschen
            $edit .= LinkButton::create(_("Löschen"),
                                        URLHelper::getURL("?open=".$datei["dokument_id"]."_fd_#anker"));
        }
        $edit .= '</div>';
    }

    //Dokument_Body ausgeben; dies ist auch der Bereich, der über Ajax abgerufen werden wird
    print "<table width=\"100%\" cellpadding=0 cellspacing=0 border=0>";
    if ($datei["protected"]) {
        if(check_protected_download($datei["dokument_id"])){
            $detail .=_("Sie darf nur im Rahmen dieser Veranstaltung verwendet werden, jede weitere Verbreitung ist unzulässig!");
        } else {
            $detail .= _("Sie können diese Datei nicht herunterladen, so lange diese Veranstaltung einen offenen Teilnehmerkreis aufweist.");
        }
        $content .= MessageBox::info(_("Diese Datei ist urheberrechtlich geschützt."), array($detail));
    }
    if ($filelink == $datei["dokument_id"])
        $content .= link_item($datei["dokument_id"],FALSE,FALSE,$datei["dokument_id"]);
    printcontent ("100%",TRUE, $content, $edit);
    print "</table>";
}
Exemplo n.º 2
0
        $folder_system_data["zipupload"]=$open_id;
    }


    //wurde Code fuer Verlinken uebermittelt (=id+"_l_"), wird entsprechende Variable gesetzt
    if ($open_cmd == 'l' && (!Request::submitted("cancel"))) {
        $folder_system_data["link"]=$open_id;
    }

    //wurde eine Datei hochgeladen/aktualisiert?
    $cmd = Request::get("cmd");
    if (($cmd=="upload") && (!Request::submitted("cancel")) && ($folder_system_data["upload"])) {
        if (!$folder_system_data["zipupload"]){
            Metrics::increment('core.file_upload');

            upload_item ($folder_system_data["upload"], TRUE, FALSE, $folder_system_data["refresh"]);
            $open = $dokument_id;
            $close = $folder_system_data["refresh"];
            $folder_system_data["upload"]='';
            $folder_system_data["refresh"]='';
        } elseif ($rechte && get_config('ZIP_UPLOAD_ENABLE')) {
            $uploaded_files = upload_zip_item();
            if ($uploaded_files !== false) {
                Metrics::count('core.file_upload', $uploaded_files);
            }
            $folder_system_data["upload"]='';
            $folder_system_data["zipupload"]='';
        }
        unset($cmd);
        }