本文整理汇总了PHP中thebuggenie\core\framework\Settings::getUploadsRestrictionMode方法的典型用法代码示例。如果您正苦于以下问题:PHP Settings::getUploadsRestrictionMode方法的具体用法?PHP Settings::getUploadsRestrictionMode怎么用?PHP Settings::getUploadsRestrictionMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类thebuggenie\core\framework\Settings
的用法示例。
在下文中一共展示了Settings::getUploadsRestrictionMode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handleUpload
/**
* Handles an uploaded file, stores it to the correct folder, adds an entry
* to the database and returns a \thebuggenie\core\entities\File object
*
* @param string $key The request parameter the file was sent as
*
* @return \thebuggenie\core\entities\File The File object
*/
public function handleUpload($key)
{
$apc_exists = self::CanGetUploadStatus();
if ($apc_exists && !array_key_exists($this->getParameter('APC_UPLOAD_PROGRESS'), $_SESSION['__upload_status'])) {
$_SESSION['__upload_status'][$this->getParameter('APC_UPLOAD_PROGRESS')] = array('id' => $this->getParameter('APC_UPLOAD_PROGRESS'), 'finished' => false, 'percent' => 0, 'total' => 0, 'complete' => 0);
}
try {
if ($this->getUploadedFile($key) !== null) {
$thefile = $this->getUploadedFile($key);
if (Settings::isUploadsEnabled()) {
Logging::log('Uploads enabled');
if ($thefile['error'] == UPLOAD_ERR_OK) {
Logging::log('No upload errors');
if (filesize($thefile['tmp_name']) > Settings::getUploadsEffectiveMaxSize(true)) {
throw new \Exception(Context::getI18n()->__('You cannot upload files bigger than %max_size MB', array('%max_size' => Settings::getUploadsEffectiveMaxSize())));
}
Logging::log('Upload filesize ok');
$extension = mb_substr(basename($thefile['name']), mb_strrpos(basename($thefile['name']), '.'));
if ($extension == '') {
Logging::log('OOps, could not determine upload filetype', 'main', Logging::LEVEL_WARNING_RISK);
//throw new \Exception(Context::getI18n()->__('Could not determine filetype'));
} else {
Logging::log('Checking uploaded file extension');
$extension = mb_substr($extension, 1);
$upload_extensions = Settings::getUploadsExtensionsList();
if (Settings::getUploadsRestrictionMode() == 'blacklist') {
Logging::log('... using blacklist');
foreach ($upload_extensions as $an_ext) {
if (mb_strtolower(trim($extension)) == mb_strtolower(trim($an_ext))) {
Logging::log('Upload extension not ok');
throw new \Exception(Context::getI18n()->__('This filetype is not allowed'));
}
}
Logging::log('Upload extension ok');
} else {
Logging::log('... using whitelist');
$is_ok = false;
foreach ($upload_extensions as $an_ext) {
if (mb_strtolower(trim($extension)) == mb_strtolower(trim($an_ext))) {
Logging::log('Upload extension ok');
$is_ok = true;
break;
}
}
if (!$is_ok) {
Logging::log('Upload extension not ok');
throw new \Exception(Context::getI18n()->__('This filetype is not allowed'));
}
}
/*if (in_array(mb_strtolower(trim($extension)), array('php', 'asp')))
{
Logging::log('Upload extension is php or asp');
throw new \Exception(Context::getI18n()->__('This filetype is not allowed'));
}*/
}
if (is_uploaded_file($thefile['tmp_name'])) {
Logging::log('Uploaded file is uploaded');
$new_filename = Context::getUser()->getID() . '_' . NOW . '_' . basename($thefile['name']);
if (Settings::getUploadStorage() == 'files') {
$files_dir = Settings::getUploadsLocalpath();
$filename = $files_dir . $new_filename;
} else {
$filename = $thefile['tmp_name'];
}
Logging::log('Moving uploaded file to ' . $filename);
if (Settings::getUploadStorage() == 'files' && !move_uploaded_file($thefile['tmp_name'], $filename)) {
Logging::log('Moving uploaded file failed!');
throw new \Exception(Context::getI18n()->__('An error occured when saving the file'));
} else {
Logging::log('Upload complete and ok, storing upload status and returning filename ' . $new_filename);
$content_type = File::getMimeType($filename);
$file = new File();
$file->setRealFilename($new_filename);
$file->setOriginalFilename(basename($thefile['name']));
$file->setContentType($content_type);
$file->setDescription($this->getParameter($key . '_description'));
$file->setUploadedBy(Context::getUser());
if (Settings::getUploadStorage() == 'database') {
$file->setContent(file_get_contents($filename));
}
$file->save();
if ($apc_exists) {
$_SESSION['__upload_status'][$this->getParameter('APC_UPLOAD_PROGRESS')] = array('id' => $this->getParameter('APC_UPLOAD_PROGRESS'), 'finished' => true, 'percent' => 100, 'total' => 0, 'complete' => 0, 'file_id' => $file->getID());
}
return $file;
}
} else {
Logging::log('Uploaded file was not uploaded correctly');
throw new \Exception(Context::getI18n()->__('The file was not uploaded correctly'));
}
} else {
Logging::log('Upload error: ' . $thefile['error']);
//.........这里部分代码省略.........
示例2: __
<option value="blacklist"<?php
if (\thebuggenie\core\framework\Settings::getUploadsRestrictionMode() == 'blacklist') {
?>
selected<?php
}
?>
><?php
echo __('Use a blacklist (allow everything except the following extensions)');
?>
</option>
</select>
</td>
</tr>
<tr>
<td><label id="label_upload_extensions_list" for="upload_extensions_list"><?php
if (\thebuggenie\core\framework\Settings::getUploadsRestrictionMode() == 'whitelist') {
echo __('Allowed extensions');
} else {
echo __('Denied extensions');
}
?>
</label></td>
<td>
<input type="text" name="upload_extensions_list" id="upload_extensions_list" style="width: 250px;" value="<?php
echo implode(',', \thebuggenie\core\framework\Settings::getUploadsExtensionsList());
?>
"<?php
if (!\thebuggenie\core\framework\Settings::isUploadsEnabled()) {
?>
disabled<?php
}