예제 #1
0
    public function uploadFileScript($doc_id = null, $selector = "#judl-files")
    {
        $params = JUDownloadHelper::getParams(null, $doc_id);
        $max_upload_file_size = (int) $params->get("max_upload_file_size", 10) * 1024 * 1024;
        $post_max_size = JUDownloadHelper::getPostMaxSize();
        if ($max_upload_file_size < $post_max_size) {
            $runtimes = 'html5,flash,silverlight,html4';
        } else {
            $runtimes = 'html5,silverlight,html4';
        }
        $chunk_size = JUDownloadHelper::getPostMaxSize() - 4000;
        $max_upload_files = 1;
        $legal_upload_extensions = $params->get("legal_upload_extensions", "bmp,csv,doc,gif,ico,jpg,jpeg,odg,odp,ods,odt,pdf,png,ppt,swf,txt,xcf,xls,zip,rar");
        $legal_upload_extensions = str_replace("\n", ",", trim($legal_upload_extensions));
        $check_mime_uploaded_file = (int) $params->get("check_mime_uploaded_file", 0);
        $legal_mime_types = $check_mime_uploaded_file ? $params->get("legal_mime_types", 'image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/zip,application/zip') : "";
        if ($legal_mime_types) {
            $legal_mime_types = str_replace("\n", ",", trim($legal_mime_types));
        }
        $requiredFile = $params->get("document_require_file", 1);
        $time = time();
        $secret = JFactory::getConfig()->get('secret');
        $code = md5($time . $secret);
        $document = JFactory::getDocument();
        $app = JFactory::getApplication();
        $script = '
			jQuery(document).ready(function ($) {
				var options = {
					doc_id                   : ' . (int) $doc_id . ',
					juri_root                : "' . JUri::root() . '",
					juri_base                : "' . JUri::base() . '",
					runtimes                 : "' . $runtimes . '",
					chunk_size               : "' . $chunk_size . '",
					max_upload_file_size     : ' . $max_upload_file_size . ',
					max_upload_files         : ' . $max_upload_files . ',
					extensions               : "' . $legal_upload_extensions . '",
					mime_types               : "' . $legal_mime_types . '",
					is_required              : ' . (int) $requiredFile . ',
					time                     : ' . $time . ',
					code                     : "' . $code . '",
					is_site                  : ' . (int) $app->isSite() . '
				};
				$("' . $selector . '").files(options);
			});';
        $document->addScriptDeclaration($script);
    }