コード例 #1
0
<?php

// *************************************** Subpage: ADD FILE
// ----- METHOD ADD FILE
if ($media_method == 'add_file') {
    if ($_FILES['file_new']['name'] != "" and $_FILES['file_new']['name'] != 'none') {
        $FILEINFOS['title'] = rex_request('ftitle', 'string');
        if (!$PERMALL && !$REX['USER']->hasPerm("media[{$rex_file_category}]")) {
            $rex_file_category = 0;
        }
        // function in function.rex_mediapool.inc.php
        $return = rex_mediapool_saveMedia($_FILES['file_new'], $rex_file_category, $FILEINFOS, $REX['USER']->getValue("login"));
        $info = $return['msg'];
        $subpage = "";
        // ----- EXTENSION POINT
        if ($return['ok'] == 1) {
            rex_register_extension_point('MEDIA_ADDED', '', $return);
        }
        if (rex_post('saveandexit', 'boolean') && $return['ok'] == 1) {
            $file_name = $return['filename'];
            $ffiletype = $return['type'];
            $title = $return['title'];
            if ($opener_input_field == 'TINYIMG') {
                if (OOMedia::_isImage($file_name)) {
                    $js = "insertImage('{$file_name}','{$title}');";
                }
            } elseif ($opener_input_field == 'TINY') {
                $js = "insertLink('" . $file_name . "');";
            } elseif ($opener_input_field != '') {
                if (substr($opener_input_field, 0, 14) == "REX_MEDIALIST_") {
                    $js = "selectMedialist('" . $file_name . "');";
コード例 #2
0
/**
 * Synchronisiert die Datei $physical_filename des Mediafolders in den
 * Medienpool.
 *
 * @param string $physical_filename
 * @param int    $category_id
 * @param string $title
 * @param int    $filesize
 * @param string $filetype
 * @param bool   $doSubindexing
 *
 * @return bool|array
 */
function rex_mediapool_syncFile($physical_filename, $category_id, $title, $filesize = null, $filetype = null, $doSubindexing = false)
{
    $abs_file = rex_path::media($physical_filename);
    if (!file_exists($abs_file)) {
        return false;
    }
    if (empty($filesize)) {
        $filesize = filesize($abs_file);
    }
    if (empty($filetype) && function_exists('mime_content_type')) {
        $filetype = mime_content_type($abs_file);
    }
    if (empty($filetype) && function_exists('finfo_open')) {
        $finfo = finfo_open(FILEINFO_MIME_TYPE);
        // return mime type ala mimetype extension
        $filetype = finfo_file($finfo, $abs_file);
    }
    $FILE = [];
    $FILE['name'] = $physical_filename;
    $FILE['size'] = $filesize;
    $FILE['type'] = $filetype;
    $FILEINFOS = [];
    $FILEINFOS['title'] = $title;
    $RETURN = rex_mediapool_saveMedia($FILE, $category_id, $FILEINFOS, null, false);
    return $RETURN;
}
コード例 #3
0
/**
 * Synchronisiert die Datei $physical_filename des Mediafolders in den
 * Medienpool
 *
 * @param $physical_filename
 * @param $category_id
 * @param $title
 * @param $filesize
 * @param $filetype
 */
function rex_mediapool_syncFile($physical_filename, $category_id, $title, $filesize = null, $filetype = null, $doSubindexing = FALSE)
{
    global $REX;
    $abs_file = $REX['MEDIAFOLDER'] . '/' . $physical_filename;
    if (!file_exists($abs_file)) {
        return false;
    }
    if (empty($filesize)) {
        $filesize = filesize($abs_file);
    }
    if (empty($filetype) && function_exists('mime_content_type')) {
        $filetype = mime_content_type($abs_file);
    }
    $FILE = array();
    $FILE['name'] = $physical_filename;
    $FILE['size'] = $filesize;
    $FILE['type'] = $filetype;
    $FILEINFOS = array();
    $FILEINFOS['title'] = $title;
    $RETURN = rex_mediapool_saveMedia($FILE, $category_id, $FILEINFOS, NULL, FALSE);
    return $RETURN['ok'] == 1;
}
コード例 #4
0
ファイル: upload.php プロジェクト: staabm/redaxo
$media_method = rex_request('media_method', 'string');
// ----- METHOD ADD FILE
if ($media_method == 'add_file') {
    if (rex_post('save', 'boolean') || rex_post('saveandexit', 'boolean')) {
        if ($_FILES['file_new']['name'] != '' && $_FILES['file_new']['name'] != 'none') {
            if (!rex_mediapool_isAllowedMediaType($_FILES['file_new']['name'], rex_post('args', 'array'))) {
                $warning = rex_i18n::msg('pool_file_mediatype_not_allowed') . ' <code>' . rex_file::extension($_FILES['file_new']['name'] . '</code>');
                $whitelist = rex_mediapool_getMediaTypeWhitelist(rex_post('args', 'array'));
                $warning .= count($whitelist) > 0 ? '<br />' . rex_i18n::msg('pool_file_allowed_mediatypes') . ' <code>' . rtrim(implode('</code>, <code>', $whitelist), ', ') . '</code>' : '<br />' . rex_i18n::msg('pool_file_banned_mediatypes') . ' <code>' . rtrim(implode('</code>, <code>', rex_mediapool_getMediaTypeBlacklist()), ', ') . '</code>';
            } else {
                $FILEINFOS['title'] = rex_request('ftitle', 'string');
                if (!$PERMALL && !rex::getUser()->getComplexPerm('media')->hasCategoryPerm($rex_file_category)) {
                    $rex_file_category = 0;
                }
                // function in function.rex_mediapool.php
                $return = rex_mediapool_saveMedia($_FILES['file_new'], $rex_file_category, $FILEINFOS, rex::getUser()->getValue('login'));
                $info = $return['msg'];
                $subpage = '';
                // ----- EXTENSION POINT
                if ($return['ok'] == 1) {
                    rex_extension::registerPoint(new rex_extension_point('MEDIA_ADDED', '', $return));
                }
                if (rex_post('saveandexit', 'boolean') && $return['ok'] == 1) {
                    $file_name = $return['filename'];
                    $ffiletype = $return['type'];
                    $title = $return['title'];
                    if ($opener_input_field == 'TINYIMG') {
                        if (rex_media::isImageType(rex_file::extension($file_name))) {
                            $js = "insertImage('{$file_name}','{$title}');";
                        }
                    } elseif ($opener_input_field == 'TINY') {
コード例 #5
0
/**
 * Synchronisiert die Datei $physical_filename des Mediafolders in den
 * Medienpool
 *
 * @param $physical_filename
 * @param $category_id
 * @param $title
 * @param $filesize
 * @param $filetype
 */
function rex_mediapool_syncFile($physical_filename, $category_id, $title, $filesize = null, $filetype = null, $doSubindexing = false, $return_bool = true)
{
    global $REX;
    $abs_file = $REX['MEDIAFOLDER'] . '/' . $physical_filename;
    if (!file_exists($abs_file)) {
        return false;
    }
    if (empty($filesize)) {
        $filesize = filesize($abs_file);
    }
    if (empty($filetype) && function_exists('finfo_open')) {
        $finfo = finfo_open(defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME);
        // return mime type ala mimetype extension
        $filetype = finfo_file($finfo, $abs_file);
    }
    if (empty($filetype) && function_exists('mime_content_type')) {
        $filetype = mime_content_type($abs_file);
    }
    if (empty($filetype)) {
        $filetype = 'application/octet-stream';
    }
    $FILE = array();
    $FILE['name'] = $physical_filename;
    $FILE['size'] = $filesize;
    $FILE['type'] = $filetype;
    $FILEINFOS = array();
    $FILEINFOS['title'] = $title;
    $RETURN = rex_mediapool_saveMedia($FILE, $category_id, $FILEINFOS, null, false);
    if ($return_bool) {
        return $RETURN['ok'] == 1;
    } else {
        return $RETURN;
    }
}
コード例 #6
0
function rex_medienpool_saveMedia($FILE, $rex_file_category, $FILEINFOS, $userlogin = null, $doSubindexing = true)
{
    return rex_mediapool_saveMedia($FILE, $rex_file_category, $FILEINFOS, $userlogin, $doSubindexing);
}