function submitUploadForm() { global $errors, $menu; $isWysiwyg = @$_REQUEST['wysiwygForm']; // if ($isWysiwyg) { disableInDemoMode('', 'default/wysiwygUploads.php', false); } else { disableInDemoMode('', 'default/uploadForm.php', false); } // remove uploads without record numbers that are older than 1 day removeExpiredUploads(); ### process uploads $errors = ''; $newUploadNums = array(); foreach (array_values($_FILES) as $uploadInfo) { $errors .= saveUpload($GLOBALS['tableName'], $_REQUEST['fieldName'], @$_REQUEST['num'], @$_REQUEST['preSaveTempId'], $uploadInfo, $newUploadNums); } ### Error checking if (!$newUploadNums && !$errors) { $errors = t("Please select a file to upload.") . "\n"; } ### display errors - errors will automatically be displayed when page is refreshed if ($errors) { return; } ### On Successful Save $isDetailFields = getUploadInfoFields($_REQUEST['fieldName']); if ($isWysiwyg) { // $errors = "File Uploaded"; } elseif ($isDetailFields) { // redirect to modify upload details page $newUploadNumsAsCSV = join(',', $newUploadNums); $modifyUrl = "?menu={$menu}" . "&action=uploadModify" . "&fieldName=" . @$_REQUEST['fieldName'] . "&num=" . @$_REQUEST['num'] . "&preSaveTempId=" . @$_REQUEST['preSaveTempId'] . "&uploadNums={$newUploadNumsAsCSV}"; print "<script type='text/javascript'>self.parent.reloadIframe('" . @$_REQUEST['fieldName'] . "_iframe')</script>"; // reload uploadlist print "<script type='text/javascript'>window.location='{$modifyUrl}'</script>"; // go to modify page exit; } else { // reload parent iframe (with upload list) print "<script type='text/javascript'>self.parent.reloadIframe('" . @$_REQUEST['fieldName'] . "_iframe')</script>"; // reload uploadlist print "<script type='text/javascript'>self.parent.tb_remove();</script>\n"; // close thickbox exit; } }
function _getFlashUploaderHTML() { global $SETTINGS; if (@$SETTINGS['advanced']['disableFlashUploader']) { return; } // $fileExtCSV = implode(',', preg_split("/\\s*\\,\\s*/", strtolower($this->allowedExtensions))); $isMac = preg_match('/macintosh|mac os x/i', @$_SERVER['HTTP_USER_AGENT']); $key = $isMac ? '<Command>' : '<Ctrl>'; $tip = htmlencode(t("Tip: hold {$key} to select multiple files")); // $html = ''; $html .= "<div id='{$this->name}_uploadTips' style='display: none; text-align: center; font-size: xx-small; margin-top: 2px;'>"; $html .= " {$tip}<br/>{$description}<br/>"; $html .= "</div>"; $html .= "<div class='uploadifyQueue' id='{$this->name}_uploadQueue'></div>"; $html .= "<script type='text/javascript'>// <![CDATA[\n"; $html .= "\$(document).ready(function() { \n"; $html .= " \$('#{$this->name}_uploadButton').uploadify(generateUploadifyOptions({ \n"; $html .= " 'script' : " . json_encode(basename(@$_SERVER['SCRIPT_NAME'])) . ",\n"; $html .= " 'modifyAfterSave' : " . count(getUploadInfoFields($this->name)) . ",\n"; $html .= " 'menu' : " . json_encode($menu) . ",\n"; $html .= " 'fieldName' : " . json_encode($this->name) . ",\n"; $html .= " 'num' : " . json_encode(@$_REQUEST['num'] ? $_REQUEST['num'] : '') . ",\n"; $html .= " 'preSaveTempId' : " . json_encode($preSaveTempId) . ",\n"; $html .= " 'buttonText' : " . json_encode(t('Upload File(s)')) . ",\n"; $html .= " 'fileExtCSV' : " . json_encode($fileExtCSV) . ",\n"; $html .= " 'maxUploadSizeKB' : " . json_encode($this->checkMaxUploadSize ? $this->maxUploadSizeKB : 0) . ",\n"; $html .= " 'loginDataEncoded' : " . json_encode(@$_COOKIE[loginCookie_name(true)]) . ",\n"; $html .= " 'queueID' : " . json_encode($this->name . "_uploadQueue") . ",\n"; $html .= " }));\n"; $html .= "});\n"; $html .= "// ]]></script>\n"; return $html; }
echo $uploadRecord['num']; ?> " /> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td height="23"><?php et('Filename:'); ?> </td> <td><?php echo htmlencode(pathinfo($uploadRecord['filePath'], PATHINFO_BASENAME)); ?> </td> </tr> <?php foreach (getUploadInfoFields($_REQUEST['fieldName']) as $infoFieldname => $label) { ?> <tr> <td style="vertical-align: middle" valign="middle"><?php echo htmlencode($label); ?> </td> <td> <?php $fieldName = $_REQUEST['fieldName']; // eg: uploads, photos, etc $formFieldName = "{$uploadRecord['num']}_{$infoFieldname}"; // eg: 1234_info2 (upload record number, underscore, info field name) $fieldHTML = "<input class='text-input' type='text' name='{$formFieldName}' value='" . htmlencode($uploadRecord[$infoFieldname]) . "' size='55' maxlength='255' />"; $fieldHTML = applyFilters('uploadModify_infoFieldHTML', $fieldHTML, $tableName, $fieldName, $infoFieldname, $formFieldName, $uploadRecord); echo $fieldHTML;
function _showUpload($fieldSchema, $record) { global $preSaveTempId, $SETTINGS, $menu; $prefixText = @$fieldSchema['fieldPrefix']; $description = @$fieldSchema['description']; if ($prefixText) { $prefixText .= "<br/>"; } // create uploadList url $uploadList = "?" . "menu=" . urlencode($menu) . "&action=uploadList" . "&fieldName=" . urlencode($fieldSchema['name']) . "&num=" . urlencode(@$_REQUEST['num']) . "&preSaveTempId=" . urlencode($preSaveTempId); // create uploadLink url $uploadLink = "?menu=" . urlencode($menu) . "&action=uploadForm" . "&fieldName=" . urlencode($fieldSchema['name']) . "&num=" . urlencode(@$_REQUEST['num']) . "&preSaveTempId=" . urlencode($preSaveTempId) . "&TB_iframe=true&height=350&width=700&modal=true"; // error checking $errors = ''; list($uploadDir, $uploadUrl) = getUploadDirAndUrl($fieldSchema); if (!file_exists($uploadDir)) { mkdir_recursive($uploadDir, 0755); } // create upload dir (if not possible, dir not exists error will show below) if (!file_exists($uploadDir)) { $errors .= "Upload directory '" . htmlencode($uploadDir) . "' doesn't exist!.<br/>\n"; } elseif (!is_writable($uploadDir)) { $errors .= "Upload directory '" . htmlencode($uploadDir) . "' isn't writable!.<br/>\n"; } // display errors if ($errors) { print <<<__HTML__ <tr> <td valign="top"><br/>{$fieldSchema['label']}<br/></td> <td><div id='alert'><span>{$errors}</span></div></td> </tr> __HTML__; return; } // display field ?> <tr> <td style="vertical-align: top"><?php echo $fieldSchema['label']; ?> </td> <td> <?php echo $prefixText; ?> <iframe id="<?php echo $fieldSchema['name']; ?> _iframe" src="<?php echo $uploadList; ?> " height="100" width="100%" frameborder="0" class="uploadIframe"></iframe><br/> <?php $displayDefaultLink = applyFilters('edit_show_upload_link', true, $fieldSchema, $record); ?> <?php if ($displayDefaultLink) { ?> <div style="position: relative; height: 24px;"> <div style="position: absolute; top: 6px; width: 100%; text-align: center;"> <?php if (inDemoMode()) { ?> <a href="javascript:alert('<?php echo jsEncode(t('This feature is disabled in demo mode.')); ?> ')"><b><?php echo t('Add or Upload File(s)'); ?> </b></a> <?php } else { ?> <a href="<?php echo $uploadLink; ?> " class="thickbox"><b><?php echo t('Add or Upload File(s)'); ?> </b></a> <?php } ?> </div> <div style="position: absolute; z-index: 1; width: 100%; text-align: center;"> <div id="<?php echo $fieldSchema['name']; ?> _uploadButton"></div> </div> </div> <?php $useFlashUploader = !@$SETTINGS['advanced']['disableFlashUploader']; ?> <?php if ($useFlashUploader && !inDemoMode()) { ?> <?php $fileExtCSV = implode(',', preg_split("/\\s*\\,\\s*/", strtolower($fieldSchema['allowedExtensions']))); ?> <div id="<?php echo $fieldSchema['name']; ?> _uploadTips" style="display: none; text-align: center; font-size: xx-small; margin-top: 2px;"> <?php $isMac = preg_match('/macintosh|mac os x/i', @$_SERVER['HTTP_USER_AGENT']); $key = $isMac ? '<Command>' : '<Ctrl>'; if (@$fieldSchema['maxUploads'] != 1) { echo htmlencode(t("Tip: hold {$key} to select multiple files")); } ?> <br/> <?php echo $description; ?> </div> <div class="uploadifyQueue" id="<?php echo $fieldSchema['name']; ?> _uploadQueue"></div> <script type="text/javascript">// <![CDATA[ $(document).ready(function() { $('#<?php echo $fieldSchema['name']; ?> _uploadButton').uploadify(generateUploadifyOptions({ 'script' : <?php echo json_encode(basename(@$_SERVER['SCRIPT_NAME'])); ?> , 'modifyAfterSave' : <?php echo count(getUploadInfoFields($fieldSchema['name'])); ?> , 'menu' : <?php echo json_encode($menu); ?> , 'fieldName' : <?php echo json_encode($fieldSchema['name']); ?> , 'num' : <?php echo json_encode(@$_REQUEST['num'] ? $_REQUEST['num'] : ''); ?> , 'preSaveTempId' : <?php echo json_encode($preSaveTempId); ?> , 'buttonText' : <?php echo json_encode(t('Upload File(s)')); ?> , 'fileExtCSV' : <?php echo json_encode($fileExtCSV); ?> , 'maxUploadSizeKB' : <?php echo json_encode($fieldSchema['checkMaxUploadSize'] ? $fieldSchema['maxUploadSizeKB'] : 0); ?> , 'loginDataEncoded' : <?php echo json_encode(@$_COOKIE[loginCookie_name(true)]); ?> , 'queueID' : <?php echo json_encode($fieldSchema['name'] . "_uploadQueue"); ?> })); }); // ]]></script> <?php } ?> <?php } ?> </td> </tr> <?php }