/** * Extends rex_extension::registerPoint() with FirePHP logging. */ public static function registerPoint(rex_extension_point $extensionPoint) { $coreTimer = rex::getProperty('timer'); $absDur = $coreTimer->getFormattedDelta(); // start timer for this extensionPoint $timer = new rex_timer(); $res = parent::registerPoint($extensionPoint); $epDur = $timer->getFormattedDelta(); $memory = rex_formatter::bytes(memory_get_usage(true), [3]); self::$log[] = ['type' => 'EP', 'ep' => $extensionPoint->getName(), 'started' => $absDur, 'duration' => $epDur, 'memory' => $memory, 'subject' => $extensionPoint->getSubject(), 'params' => $extensionPoint->getParams(), 'read_only' => $extensionPoint->isReadonly(), 'result' => $res, 'timer' => $epDur]; return $res; }
public function testBytes() { $value = 1000; $this->assertEquals('1 000,00 B', rex_formatter::bytes($value)); $this->assertEquals('976,56 KiB', rex_formatter::bytes($value * 1000)); $this->assertEquals('953,67 MiB', rex_formatter::bytes($value * 1000 * 1000)); $this->assertEquals('931,32 GiB', rex_formatter::bytes($value * 1000 * 1000 * 1000)); $this->assertEquals('909,49 TiB', rex_formatter::bytes($value * 1000 * 1000 * 1000 * 1000)); $this->assertEquals('888,18 PiB', rex_formatter::bytes($value * 1000 * 1000 * 1000 * 1000 * 1000)); $format = [5]; // number of signs behind comma $this->assertEquals('953,67432 MiB', rex_formatter::bytes($value * 1000 * 1000, $format)); }
/** * @return string */ public function getFormattedSize() { return rex_formatter::bytes($this->getSize()); }
$file_ext = substr(strrchr($file_name, '.'), 1); $icon_class = ' rex-mime-default'; if (rex_media::isDocType($file_ext)) { $icon_class = ' rex-mime-' . $file_ext; } $thumbnail = '<i class="rex-mime' . $icon_class . '" title="' . $alt . '" data-extension="' . $file_ext . '"></i><span class="sr-only">' . $file_name . '</span>'; if (rex_media::isImageType(rex_file::extension($file_name)) && $thumbs) { $thumbnail = '<img class="thumbnail" src="' . rex_url::media($file_name) . '" alt="' . $alt . '" title="' . $alt . '" />'; if ($media_manager) { $thumbnail = '<img class="thumbnail" src="' . rex_url::backendController(['rex_media_type' => 'rex_mediapool_preview', 'rex_media_file' => $encoded_file_name]) . '" alt="' . $alt . '" title="' . $alt . '" />'; } } } // ----- get file size $size = $file_size; $file_size = rex_formatter::bytes($size); if ($file_title == '') { $file_title = '[' . rex_i18n::msg('pool_file_notitle') . ']'; } $file_title .= ' [' . $file_id . ']'; // ----- opener $opener_link = ''; if ($opener_input_field == 'TINYIMG') { if (rex_media::isImageType(rex_file::extension($file_name))) { $opener_link .= '<a class="btn btn-select" href="javascript:insertImage(\'$file_name\',\'' . $files->getValue('title') . '\')">' . rex_i18n::msg('pool_image_get') . '</a>'; } } elseif ($opener_input_field == 'TINY') { $opener_link .= '<a class="btn btn-select" href="javascript:insertLink(\'' . $file_name . '\');"">' . rex_i18n::msg('pool_link_get') . '</a>'; } elseif ($opener_input_field != '') { $opener_link = '<a class="btn btn-xs btn-select" href="javascript:selectMedia(\'' . $file_name . '\', \'' . addslashes(htmlspecialchars($files->getValue('title'))) . '\');">' . rex_i18n::msg('pool_file_get') . '</a>'; if (substr($opener_input_field, 0, 14) == 'REX_MEDIALIST_') {
/** * Ausgabe des Medienpool Formulars. */ function rex_mediapool_Mediaform($form_title, $button_title, $rex_file_category, $file_chooser, $close_form) { global $ftitle, $warning, $info; $s = ''; $cats_sel = new rex_media_category_select(); $cats_sel->setStyle('class="form-control"'); $cats_sel->setSize(1); $cats_sel->setName('rex_file_category'); $cats_sel->setId('rex-mediapool-category'); $cats_sel->addOption(rex_i18n::msg('pool_kats_no'), '0'); $cats_sel->setAttribute('onchange', 'this.form.submit()'); $cats_sel->setSelected($rex_file_category); if (isset($warning)) { if (is_array($warning)) { if (count($warning) > 0) { $s .= rex_view::error(implode('<br />', $warning)); } } elseif ($warning != '') { $s .= rex_view::error($warning); } $warning = ''; } if (isset($info)) { if (is_array($info)) { if (count($info) > 0) { $s .= rex_view::success(implode('<br />', $info)); } } elseif ($info != '') { $s .= rex_view::success($info); } $info = ''; } if (!isset($ftitle)) { $ftitle = ''; } $arg_fields = ''; foreach (rex_request('args', 'array') as $arg_name => $arg_value) { $arg_fields .= '<input type="hidden" name="args[' . $arg_name . ']" value="' . $arg_value . '" />' . "\n"; } $opener_input_field = rex_request('opener_input_field', 'string'); if ($opener_input_field != '') { $arg_fields .= '<input type="hidden" name="opener_input_field" value="' . htmlspecialchars($opener_input_field) . '" />' . "\n"; } $add_submit = ''; if ($close_form && $opener_input_field != '') { $add_submit = '<button class="btn btn-save" type="submit" name="saveandexit" value="' . rex_i18n::msg('pool_file_upload_get') . '"' . rex::getAccesskey(rex_i18n::msg('pool_file_upload_get'), 'save') . '>' . rex_i18n::msg('pool_file_upload_get') . '</button>'; } $panel = ''; $formElements = []; $e = []; $e['label'] = '<label for="rex-mediapool-title">' . rex_i18n::msg('pool_file_title') . '</label>'; $e['field'] = '<input class="form-control" type="text" id="rex-mediapool-title" name="ftitle" value="' . htmlspecialchars($ftitle) . '" />'; $formElements[] = $e; $e = []; $e['label'] = '<label for="rex-mediapool-category">' . rex_i18n::msg('pool_file_category') . '</label>'; $e['field'] = $cats_sel->get(); $formElements[] = $e; $fragment = new rex_fragment(); $fragment->setVar('elements', $formElements, false); $panel .= $fragment->parse('core/form/form.php'); $panel .= rex_extension::registerPoint(new rex_extension_point('MEDIA_FORM_ADD', '')); if ($file_chooser) { $e = []; $e['label'] = '<label for="rex-mediapool-choose-file">' . rex_i18n::msg('pool_file_file') . '</label>'; $e['field'] = '<input id="rex-mediapool-choose-file" type="file" name="file_new" />'; $e['note'] = '<h3>' . rex_i18n::msg('phpini_settings') . '</h3> <dl class="dl-horizontal"> ' . (rex_ini_get('file_uploads') == 0 ? '<dt><span class="text-warning">' . rex_i18n::msg('pool_upload') . '</span></dt><dd><span class="text-warning">' . rex_i18n::msg('pool_upload_disabled') . '</span></dd>' : '') . ' <dt>' . rex_i18n::msg('pool_max_uploadsize') . ':</dt><dd>' . rex_formatter::bytes(rex_ini_get('upload_max_filesize')) . '</dd> <dt>' . rex_i18n::msg('pool_max_uploadtime') . ':</dt><dd>' . rex_ini_get('max_input_time') . 's</dd> </dl>'; $fragment = new rex_fragment(); $fragment->setVar('elements', [$e], false); $panel .= $fragment->parse('core/form/form.php'); } $formElements = []; $e = []; $e['field'] = '<button class="btn btn-save" type="submit" name="save" value="' . $button_title . '"' . rex::getAccesskey($button_title, 'save') . '>' . $button_title . '</button>'; $formElements[] = $e; $e = []; $e['field'] = $add_submit; $formElements[] = $e; $fragment = new rex_fragment(); $fragment->setVar('elements', $formElements, false); $buttons = $fragment->parse('core/form/submit.php'); $fragment = new rex_fragment(); $fragment->setVar('title', $form_title, false); $fragment->setVar('body', $panel, false); $fragment->setVar('buttons', $buttons, false); $content = $fragment->parse('core/page/section.php'); $s .= ' <form action="' . rex_url::currentBackendPage() . '" method="post" enctype="multipart/form-data"> <fieldset> <input type="hidden" name="media_method" value="add_file" /> ' . $arg_fields . ' ' . $content . ' </fieldset> '; if ($close_form) { $s .= '</form>' . "\n"; } return $s; }
/** * Formates the filesize of the given file into a userfriendly form. * * @param string $file Path to the file * @param array $format * * @return string Formatted filesize */ public static function formattedSize($file, $format = []) { return rex_formatter::bytes(filesize($file), $format); }