public function testByteParsing() { $tests = array('1' => 1, '1k' => 1000, '1K' => 1000, '1kB' => 1000, '1Kb' => 1000, '1KB' => 1000, '1MB' => 1000000, '1GB' => 1000000000, '1.5M' => 1500000, '1 000' => 1000, '1,234.56 KB' => 1234560); foreach ($tests as $input => $expect) { $this->assertEqual($expect, phabricator_parse_bytes($input), 'phabricator_parse_bytes(' . $input . ')'); } $this->tryTestCases(array('string' => 'string'), array(false), 'phabricator_parse_bytes'); }
private static function validateFileSize($size) { $limit = PhabricatorEnv::getEnvConfig('storage.upload-size-limit'); if (!$limit) { return; } $limit = phabricator_parse_bytes($limit); if ($size > $limit) { throw new PhabricatorFileUploadException(-1000); } }
public static function renderUploadLimit() { $limit = PhabricatorEnv::getEnvConfig('storage.upload-size-limit'); $limit = phabricator_parse_bytes($limit); if ($limit) { $formatted = phabricator_format_bytes($limit); return 'Maximum file size: ' . phutil_escape_html($formatted); } $doc_href = PhabricatorEnv::getDocLink('article/Configuring_File_Upload_Limits.html'); $doc_link = phutil_render_tag('a', array('href' => $doc_href, 'target' => '_blank'), 'Configuring File Upload Limits'); return 'Upload limit is not configured, see ' . $doc_link . '.'; }