diff --git a/admin/tool/filetypes/renderer.php b/admin/tool/filetypes/renderer.php
index f283af177f0..f920a1a54a6 100644
--- a/admin/tool/filetypes/renderer.php
+++ b/admin/tool/filetypes/renderer.php
@@ -82,7 +82,9 @@ class tool_filetypes_renderer extends plugin_renderer_base {
// First cell has icon and extension.
$icon = $this->pix_icon('f/' . $filetype['icon'], '');
- $row->cells[] = new html_table_cell($icon . ' ' . html_writer::span(s($extension)));
+ $iconcell = new html_table_cell($icon . ' ' . html_writer::span(s($extension)));
+ $iconcell->attributes['class'] = 'icon-size-5';
+ $row->cells[] = $iconcell;
// Reset URL and button if needed.
$reverturl = new \moodle_url('/admin/tool/filetypes/revert.php',
diff --git a/admin/tool/filetypes/tests/tool_filetypes_test.php b/admin/tool/filetypes/tests/tool_filetypes_test.php
index 6d536835d4e..1e22a01d4f9 100644
--- a/admin/tool/filetypes/tests/tool_filetypes_test.php
+++ b/admin/tool/filetypes/tests/tool_filetypes_test.php
@@ -14,16 +14,6 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-/**
- * Unit tests for the custom file types.
- *
- * @package tool_filetypes
- * @copyright 2014 The Open University
- * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-defined('MOODLE_INTERNAL') || die();
-
use tool_filetypes\utils;
/**
@@ -32,10 +22,13 @@ use tool_filetypes\utils;
* @package tool_filetypes
* @copyright 2014 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @coversDefaultClass \tool_filetypes\utils
*/
class tool_filetypes_test extends advanced_testcase {
/**
* Tests is_extension_invalid() function.
+ *
+ * @covers ::is_extension_invalid
*/
public function test_is_extension_invalid() {
// The pdf file extension already exists in default moodle minetypes.
@@ -56,6 +49,8 @@ class tool_filetypes_test extends advanced_testcase {
/**
* Tests is_defaulticon_allowed() function.
+ *
+ * @covers ::is_defaulticon_allowed
*/
public function test_is_defaulticon_allowed() {
// You ARE allowed to set a default icon for a MIME type that hasn't
@@ -73,6 +68,8 @@ class tool_filetypes_test extends advanced_testcase {
/**
* Tests get_icons_from_path() function.
+ *
+ * @covers ::get_icons_from_path
*/
public function test_get_icons_from_path() {
// Get icons from the fixtures folder.
@@ -83,4 +80,14 @@ class tool_filetypes_test extends advanced_testcase {
// returned and only one of it.
$this->assertEquals(array('frog' => 'frog', 'zombie' => 'zombie'), $icons);
}
+
+ /**
+ * Test get_file_icons() function to confirm no file icons are removed/added by mistake.
+ *
+ * @covers ::get_file_icons
+ */
+ public function test_get_file_icons() {
+ $icons = utils::get_file_icons();
+ $this->assertCount(30, $icons);
+ }
}
diff --git a/course/renderer.php b/course/renderer.php
index 27c6f992f05..f86e24d1c9f 100644
--- a/course/renderer.php
+++ b/course/renderer.php
@@ -979,7 +979,7 @@ class core_course_renderer extends plugin_renderer_base {
html_writer::empty_tag('img', ['src' => $url, 'alt' => '']),
['class' => 'courseimage']);
} else {
- $image = $this->output->pix_icon(file_file_icon($file, 24), $file->get_filename(), 'moodle');
+ $image = $this->output->pix_icon(file_file_icon($file), $file->get_filename(), 'moodle');
$filename = html_writer::tag('span', $image, ['class' => 'fp-icon']).
html_writer::tag('span', $file->get_filename(), ['class' => 'fp-filename']);
$contentfiles .= html_writer::tag('span',
diff --git a/files/classes/external/stored_file_exporter.php b/files/classes/external/stored_file_exporter.php
index 4a664d10516..c491170e971 100644
--- a/files/classes/external/stored_file_exporter.php
+++ b/files/classes/external/stored_file_exporter.php
@@ -147,7 +147,7 @@ class stored_file_exporter extends \core\external\exporter {
$filenameshort .= substr($filename, -4);
}
- $icon = $this->file->is_directory() ? file_folder_icon(128) : file_file_icon($this->file, 128);
+ $icon = $this->file->is_directory() ? file_folder_icon() : file_file_icon($this->file);
$url = moodle_url::make_pluginfile_url(
$this->file->get_contextid(),
diff --git a/files/renderer.php b/files/renderer.php
index 0795e9574c9..de35b24bc78 100644
--- a/files/renderer.php
+++ b/files/renderer.php
@@ -70,10 +70,10 @@ class core_files_renderer extends plugin_renderer_base {
if ($file['filesize']) {
$filesize = display_size($file['filesize']);
}
- $fileicon = file_file_icon($file, 24);
+ $fileicon = file_file_icon($file);
$filetype = get_mimetype_description($file);
} else {
- $fileicon = file_folder_icon(24);
+ $fileicon = file_folder_icon();
}
$table->data[] = array(
html_writer::link($file['url'], $this->output->pix_icon($fileicon, get_string('icon')) . ' ' . $file['filename']),
diff --git a/lib/classes/filetypes.php b/lib/classes/filetypes.php
index f4d09c6bd15..2a41e23b0b0 100644
--- a/lib/classes/filetypes.php
+++ b/lib/classes/filetypes.php
@@ -47,12 +47,12 @@ abstract class core_filetypes {
protected static function get_default_types() {
return array(
'xxx' => array('type' => 'document/unknown', 'icon' => 'unknown'),
- '3gp' => array('type' => 'video/quicktime', 'icon' => 'quicktime', 'groups' => array('video'), 'string' => 'video'),
+ '3gp' => array('type' => 'video/quicktime', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
'7z' => array('type' => 'application/x-7z-compressed', 'icon' => 'archive',
'groups' => array('archive'), 'string' => 'archive'),
'aac' => array('type' => 'audio/aac', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
'string' => 'audio'),
- 'accdb' => array('type' => 'application/msaccess', 'icon' => 'base'),
+ 'accdb' => array('type' => 'application/msaccess', 'icon' => 'database'),
'ai' => array('type' => 'application/postscript', 'icon' => 'eps', 'groups' => array('image'), 'string' => 'image'),
'aif' => array('type' => 'audio/x-aiff', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
'aiff' => array('type' => 'audio/x-aiff', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
@@ -61,16 +61,16 @@ abstract class core_filetypes {
'asc' => array('type' => 'text/plain', 'icon' => 'sourcecode'),
'asm' => array('type' => 'text/plain', 'icon' => 'sourcecode'),
'au' => array('type' => 'audio/au', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
- 'avi' => array('type' => 'video/x-ms-wm', 'icon' => 'avi',
+ 'avi' => array('type' => 'video/x-ms-wm', 'icon' => 'video',
'groups' => array('video', 'web_video'), 'string' => 'video'),
- 'bmp' => array('type' => 'image/bmp', 'icon' => 'bmp', 'groups' => array('image'), 'string' => 'image'),
+ 'bmp' => array('type' => 'image/bmp', 'icon' => 'image', 'groups' => array('image'), 'string' => 'image'),
'c' => array('type' => 'text/plain', 'icon' => 'sourcecode'),
'cct' => array('type' => 'shockwave/director', 'icon' => 'flash'),
'cpp' => array('type' => 'text/plain', 'icon' => 'sourcecode'),
'cs' => array('type' => 'application/x-csh', 'icon' => 'sourcecode'),
'css' => array('type' => 'text/css', 'icon' => 'text', 'groups' => array('web_file')),
'csv' => array('type' => 'text/csv', 'icon' => 'spreadsheet', 'groups' => array('spreadsheet')),
- 'dv' => array('type' => 'video/x-dv', 'icon' => 'quicktime', 'groups' => array('video'), 'string' => 'video'),
+ 'dv' => array('type' => 'video/x-dv', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
'dmg' => array('type' => 'application/octet-stream', 'icon' => 'unknown'),
'doc' => array('type' => 'application/msword', 'icon' => 'document', 'groups' => array('document')),
@@ -85,7 +85,7 @@ abstract class core_filetypes {
'dotm' => array('type' => 'application/vnd.ms-word.template.macroEnabled.12', 'icon' => 'document'),
'dcr' => array('type' => 'application/x-director', 'icon' => 'flash'),
- 'dif' => array('type' => 'video/x-dv', 'icon' => 'quicktime', 'groups' => array('video'), 'string' => 'video'),
+ 'dif' => array('type' => 'video/x-dv', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
'dir' => array('type' => 'application/x-director', 'icon' => 'flash'),
'dxr' => array('type' => 'application/x-director', 'icon' => 'flash'),
'eps' => array('type' => 'application/postscript', 'icon' => 'eps'),
@@ -96,7 +96,7 @@ abstract class core_filetypes {
'flv' => array('type' => 'video/x-flv', 'icon' => 'flash',
'groups' => array('video', 'web_video'), 'string' => 'video'),
'f4v' => array('type' => 'video/mp4', 'icon' => 'flash', 'groups' => array('video', 'web_video'), 'string' => 'video'),
- 'fmp4' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+ 'fmp4' => array('type' => 'video/mp4', 'icon' => 'video', 'groups' => array('html_video', 'video', 'web_video'),
'string' => 'video'),
'gallery' => array('type' => 'application/x-smarttech-notebook', 'icon' => 'archive'),
'galleryitem' => array('type' => 'application/x-smarttech-notebook', 'icon' => 'archive'),
@@ -121,9 +121,9 @@ abstract class core_filetypes {
'hqx' => array('type' => 'application/mac-binhex40', 'icon' => 'archive',
'groups' => array('archive'), 'string' => 'archive'),
'htc' => array('type' => 'text/x-component', 'icon' => 'markup'),
- 'html' => array('type' => 'text/html', 'icon' => 'html', 'groups' => array('web_file')),
- 'xhtml' => array('type' => 'application/xhtml+xml', 'icon' => 'html', 'groups' => array('web_file')),
- 'htm' => array('type' => 'text/html', 'icon' => 'html', 'groups' => array('web_file')),
+ 'html' => array('type' => 'text/html', 'icon' => 'markup', 'groups' => array('web_file')),
+ 'xhtml' => array('type' => 'application/xhtml+xml', 'icon' => 'markup', 'groups' => array('web_file')),
+ 'htm' => array('type' => 'text/html', 'icon' => 'markup', 'groups' => array('web_file')),
'ico' => array('type' => 'image/vnd.microsoft.icon', 'icon' => 'image',
'groups' => array('image'), 'string' => 'image'),
'ics' => array('type' => 'text/calendar', 'icon' => 'text'),
@@ -137,11 +137,11 @@ abstract class core_filetypes {
'jmt' => array('type' => 'text/xml', 'icon' => 'markup'),
'jmx' => array('type' => 'text/xml', 'icon' => 'markup'),
'jnlp' => array('type' => 'application/x-java-jnlp-file', 'icon' => 'markup'),
- 'jpe' => array('type' => 'image/jpeg', 'icon' => 'jpeg', 'groups' => array('image', 'web_image', 'optimised_image'),
+ 'jpe' => array('type' => 'image/jpeg', 'icon' => 'image', 'groups' => array('image', 'web_image', 'optimised_image'),
'string' => 'image'),
- 'jpeg' => array('type' => 'image/jpeg', 'icon' => 'jpeg', 'groups' => array('image', 'web_image', 'optimised_image'),
+ 'jpeg' => array('type' => 'image/jpeg', 'icon' => 'image', 'groups' => array('image', 'web_image', 'optimised_image'),
'string' => 'image'),
- 'jpg' => array('type' => 'image/jpeg', 'icon' => 'jpeg', 'groups' => array('image', 'web_image', 'optimised_image'),
+ 'jpg' => array('type' => 'image/jpeg', 'icon' => 'image', 'groups' => array('image', 'web_image', 'optimised_image'),
'string' => 'image'),
'jqz' => array('type' => 'text/xml', 'icon' => 'markup'),
'js' => array('type' => 'application/x-javascript', 'icon' => 'text', 'groups' => array('web_file')),
@@ -149,30 +149,30 @@ abstract class core_filetypes {
'latex' => array('type' => 'application/x-latex', 'icon' => 'text'),
'm' => array('type' => 'text/plain', 'icon' => 'sourcecode'),
'mbz' => array('type' => 'application/vnd.moodle.backup', 'icon' => 'moodle'),
- 'mdb' => array('type' => 'application/x-msaccess', 'icon' => 'base'),
+ 'mdb' => array('type' => 'application/x-msaccess', 'icon' => 'database'),
'mht' => array('type' => 'message/rfc822', 'icon' => 'archive'),
'mhtml' => array('type' => 'message/rfc822', 'icon' => 'archive'),
- 'mov' => array('type' => 'video/quicktime', 'icon' => 'quicktime',
+ 'mov' => array('type' => 'video/quicktime', 'icon' => 'video',
'groups' => array('video', 'web_video', 'html_video'), 'string' => 'video'),
- 'movie' => array('type' => 'video/x-sgi-movie', 'icon' => 'quicktime', 'groups' => array('video'), 'string' => 'video'),
+ 'movie' => array('type' => 'video/x-sgi-movie', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
'mw' => array('type' => 'application/maple', 'icon' => 'math'),
'mws' => array('type' => 'application/maple', 'icon' => 'math'),
- 'm3u' => array('type' => 'audio/x-mpegurl', 'icon' => 'mp3', 'groups' => array('audio'), 'string' => 'audio'),
- 'm3u8' => array('type' => 'application/x-mpegURL', 'icon' => 'mpeg', 'groups' => array('media_source')),
- 'mp3' => array('type' => 'audio/mp3', 'icon' => 'mp3', 'groups' => array('audio', 'html_audio', 'web_audio'),
+ 'm3u' => array('type' => 'audio/x-mpegurl', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
+ 'm3u8' => array('type' => 'application/x-mpegURL', 'icon' => 'video', 'groups' => array('media_source')),
+ 'mp3' => array('type' => 'audio/mp3', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
'string' => 'audio'),
- 'mp4' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+ 'mp4' => array('type' => 'video/mp4', 'icon' => 'video', 'groups' => array('html_video', 'video', 'web_video'),
'string' => 'video'),
- 'm4v' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+ 'm4v' => array('type' => 'video/mp4', 'icon' => 'video', 'groups' => array('html_video', 'video', 'web_video'),
'string' => 'video'),
- 'm4a' => array('type' => 'audio/mp4', 'icon' => 'mp3', 'groups' => array('audio', 'html_audio', 'web_audio'),
+ 'm4a' => array('type' => 'audio/mp4', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
'string' => 'audio'),
- 'mpeg' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'),
+ 'mpeg' => array('type' => 'video/mpeg', 'icon' => 'video', 'groups' => array('video', 'web_video'),
'string' => 'video'),
- 'mpd' => array('type' => 'application/dash+xml', 'icon' => 'mpeg', 'groups' => array('media_source')),
- 'mpe' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'),
+ 'mpd' => array('type' => 'application/dash+xml', 'icon' => 'video', 'groups' => array('media_source')),
+ 'mpe' => array('type' => 'video/mpeg', 'icon' => 'video', 'groups' => array('video', 'web_video'),
'string' => 'video'),
- 'mpg' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'),
+ 'mpg' => array('type' => 'video/mpeg', 'icon' => 'video', 'groups' => array('video', 'web_video'),
'string' => 'video'),
'mpr' => array('type' => 'application/vnd.moodle.profiling', 'icon' => 'moodle'),
@@ -196,7 +196,7 @@ abstract class core_filetypes {
'icon' => 'calc', 'groups' => array('spreadsheet')),
'odc' => array('type' => 'application/vnd.oasis.opendocument.chart', 'icon' => 'chart'),
'odf' => array('type' => 'application/vnd.oasis.opendocument.formula', 'icon' => 'math'),
- 'odb' => array('type' => 'application/vnd.oasis.opendocument.database', 'icon' => 'base'),
+ 'odb' => array('type' => 'application/vnd.oasis.opendocument.database', 'icon' => 'database'),
'odi' => array('type' => 'application/vnd.oasis.opendocument.image', 'icon' => 'draw'),
'oga' => array('type' => 'audio/ogg', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
'string' => 'audio'),
@@ -210,7 +210,7 @@ abstract class core_filetypes {
'php' => array('type' => 'text/plain', 'icon' => 'sourcecode'),
'pic' => array('type' => 'image/pict', 'icon' => 'image', 'groups' => array('image'), 'string' => 'image'),
'pict' => array('type' => 'image/pict', 'icon' => 'image', 'groups' => array('image'), 'string' => 'image'),
- 'png' => array('type' => 'image/png', 'icon' => 'png', 'groups' => array('image', 'web_image', 'optimised_image'),
+ 'png' => array('type' => 'image/png', 'icon' => 'image', 'groups' => array('image', 'web_image', 'optimised_image'),
'string' => 'image'),
'pps' => array('type' => 'application/vnd.ms-powerpoint', 'icon' => 'powerpoint', 'groups' => array('presentation')),
'ppt' => array('type' => 'application/vnd.ms-powerpoint', 'icon' => 'powerpoint', 'groups' => array('presentation')),
@@ -231,7 +231,7 @@ abstract class core_filetypes {
'ps' => array('type' => 'application/postscript', 'icon' => 'pdf'),
'pub' => array('type' => 'application/x-mspublisher', 'icon' => 'publisher', 'groups' => array('presentation')),
- 'qt' => array('type' => 'video/quicktime', 'icon' => 'quicktime',
+ 'qt' => array('type' => 'video/quicktime', 'icon' => 'video',
'groups' => array('video', 'web_video'), 'string' => 'video'),
'ra' => array('type' => 'audio/x-realaudio-plugin', 'icon' => 'audio',
'groups' => array('audio', 'web_audio'), 'string' => 'audio'),
@@ -276,22 +276,22 @@ abstract class core_filetypes {
'sxm' => array('type' => 'application/vnd.sun.xml.math', 'icon' => 'math'),
'tar' => array('type' => 'application/x-tar', 'icon' => 'archive', 'groups' => array('archive'), 'string' => 'archive'),
- 'tif' => array('type' => 'image/tiff', 'icon' => 'tiff', 'groups' => array('image'), 'string' => 'image'),
- 'tiff' => array('type' => 'image/tiff', 'icon' => 'tiff', 'groups' => array('image'), 'string' => 'image'),
+ 'tif' => array('type' => 'image/tiff', 'icon' => 'image', 'groups' => array('image'), 'string' => 'image'),
+ 'tiff' => array('type' => 'image/tiff', 'icon' => 'image', 'groups' => array('image'), 'string' => 'image'),
'tex' => array('type' => 'application/x-tex', 'icon' => 'text'),
'texi' => array('type' => 'application/x-texinfo', 'icon' => 'text'),
'texinfo' => array('type' => 'application/x-texinfo', 'icon' => 'text'),
- 'ts' => array('type' => 'video/MP2T', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'),
+ 'ts' => array('type' => 'video/MP2T', 'icon' => 'video', 'groups' => array('video', 'web_video'),
'string' => 'video'),
'tsv' => array('type' => 'text/tab-separated-values', 'icon' => 'text'),
'txt' => array('type' => 'text/plain', 'icon' => 'text', 'defaulticon' => true),
'vtt' => array('type' => 'text/vtt', 'icon' => 'text', 'groups' => array('html_track')),
- 'wav' => array('type' => 'audio/wav', 'icon' => 'wav', 'groups' => array('audio', 'html_audio', 'web_audio'),
+ 'wav' => array('type' => 'audio/wav', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
'string' => 'audio'),
'webm' => array('type' => 'video/webm', 'icon' => 'video', 'groups' => array('html_video', 'video', 'web_video'),
'string' => 'video'),
- 'wmv' => array('type' => 'video/x-ms-wmv', 'icon' => 'wmv', 'groups' => array('video'), 'string' => 'video'),
- 'asf' => array('type' => 'video/x-ms-asf', 'icon' => 'wmv', 'groups' => array('video'), 'string' => 'video'),
+ 'wmv' => array('type' => 'video/x-ms-wmv', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
+ 'asf' => array('type' => 'video/x-ms-asf', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
'wma' => array('type' => 'audio/x-ms-wma', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
'xbk' => array('type' => 'application/x-smarttech-notebook', 'icon' => 'archive'),
diff --git a/lib/classes/oauth2/discovery/imsbadgeconnect.php b/lib/classes/oauth2/discovery/imsbadgeconnect.php
index 0c8489b9ec9..27788408bc7 100644
--- a/lib/classes/oauth2/discovery/imsbadgeconnect.php
+++ b/lib/classes/oauth2/discovery/imsbadgeconnect.php
@@ -134,7 +134,7 @@ class imsbadgeconnect extends base_definition {
$request = [
'client_name' => $SITE->fullname,
'client_uri' => $hosturl,
- 'logo_uri' => $hosturl . 'pix/f/moodle-256.png',
+ 'logo_uri' => $hosturl . 'pix/moodlelogo.png',
'tos_uri' => $hosturl,
'policy_uri' => $hosturl,
'software_id' => 'moodle',
diff --git a/lib/classes/oauth2/service/moodlenet.php b/lib/classes/oauth2/service/moodlenet.php
index 24921a36b3e..4ceee2de547 100644
--- a/lib/classes/oauth2/service/moodlenet.php
+++ b/lib/classes/oauth2/service/moodlenet.php
@@ -135,7 +135,7 @@ class moodlenet implements issuer_interface {
$request = [
'client_name' => $SITE->fullname,
'client_uri' => $hosturl,
- 'logo_uri' => $hosturl . '/pix/f/moodle-256.png',
+ 'logo_uri' => $hosturl . '/pix/moodlelogo.png',
'tos_uri' => $hosturl,
'policy_uri' => $hosturl,
'software_id' => 'moodle',
diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php
index b09d8c85aa2..ffc4baecee5 100644
--- a/lib/db/upgrade.php
+++ b/lib/db/upgrade.php
@@ -3383,5 +3383,93 @@ privatefiles,moodle|/user/files.php';
upgrade_main_savepoint(true, 2023081800.01);
}
+ if ($oldversion < 2023082200.01) {
+ // Some MIME icons have been removed and replaced with existing icons. They need to be upgraded for custom MIME types.
+ $replacedicons = [
+ 'avi' => 'video',
+ 'base' => 'database',
+ 'bmp' => 'image',
+ 'html' => 'markup',
+ 'jpeg' => 'image',
+ 'mov' => 'video',
+ 'mp3' => 'audio',
+ 'mpeg' => 'video',
+ 'png' => 'image',
+ 'quicktime' => 'video',
+ 'tiff' => 'image',
+ 'wav' => 'audio',
+ 'wmv' => 'video',
+ ];
+
+ $custom = [];
+ if (!empty($CFG->customfiletypes)) {
+ if (array_key_exists('customfiletypes', $CFG->config_php_settings)) {
+ // It's set in config.php, so the MIME icons can't be upgraded automatically.
+ echo("\nYou need to manually check customfiletypes in config.php because some MIME icons have been removed!\n");
+ } else {
+ // It's a JSON string in the config table.
+ $custom = json_decode($CFG->customfiletypes);
+ }
+ }
+
+ $changed = false;
+ foreach ($custom as $customentry) {
+ if (!empty($customentry->icon) && array_key_exists($customentry->icon, $replacedicons)) {
+ $customentry->icon = $replacedicons[$customentry->icon];
+ $changed = true;
+ }
+ }
+
+ if ($changed) {
+ // Save the new customfiletypes.
+ set_config('customfiletypes', json_encode($custom));
+ }
+
+ // Main savepoint reached.
+ upgrade_main_savepoint(true, 2023082200.01);
+ }
+
+ if ($oldversion < 2023082200.02) {
+ // Some MIME icons have been removed. They need to be replaced to 'unknown' for custom MIME types.
+ $removedicons = array_flip([
+ 'clip-353',
+ 'edit',
+ 'env',
+ 'explore',
+ 'folder-open',
+ 'help',
+ 'move',
+ 'parent',
+ ]);
+
+ $custom = [];
+ if (!empty($CFG->customfiletypes)) {
+ if (array_key_exists('customfiletypes', $CFG->config_php_settings)) {
+ // It's set in config.php, so the MIME icons can't be upgraded automatically.
+ echo("\nYou need to manually check customfiletypes in config.php because some MIME icons have been removed!\n");
+ } else {
+ // It's a JSON string in the config table.
+ $custom = json_decode($CFG->customfiletypes);
+ }
+ }
+
+ $changed = false;
+ foreach ($custom as $customentry) {
+ if (!empty($customentry->icon) && array_key_exists($customentry->icon, $removedicons)) {
+ // The icon has been removed, so set it to unknown.
+ $customentry->icon = 'unknown';
+ $changed = true;
+ }
+ }
+
+ if ($changed) {
+ // Save the new customfiletypes.
+ set_config('customfiletypes', json_encode($custom));
+ }
+
+ // Main savepoint reached.
+ upgrade_main_savepoint(true, 2023082200.02);
+ }
+
return true;
}
diff --git a/lib/filelib.php b/lib/filelib.php
index 7c50999b30e..c112f9ae343 100644
--- a/lib/filelib.php
+++ b/lib/filelib.php
@@ -798,11 +798,11 @@ function file_get_drafarea_files($draftitemid, $filepath = '/') {
if ($file->is_directory()) {
$item->filesize = 0;
- $item->icon = $OUTPUT->image_url(file_folder_icon(24))->out(false);
+ $item->icon = $OUTPUT->image_url(file_folder_icon())->out(false);
$item->type = 'folder';
$foldername = explode('/', trim($item->filepath, '/'));
$item->fullname = trim(array_pop($foldername), '/');
- $item->thumbnail = $OUTPUT->image_url(file_folder_icon(90))->out(false);
+ $item->thumbnail = $OUTPUT->image_url(file_folder_icon())->out(false);
} else {
// do NOT use file browser here!
$item->mimetype = get_mimetype_description($file);
@@ -813,8 +813,8 @@ function file_get_drafarea_files($draftitemid, $filepath = '/') {
}
$itemurl = moodle_url::make_draftfile_url($draftitemid, $item->filepath, $item->filename);
$item->url = $itemurl->out();
- $item->icon = $OUTPUT->image_url(file_file_icon($file, 24))->out(false);
- $item->thumbnail = $OUTPUT->image_url(file_file_icon($file, 90))->out(false);
+ $item->icon = $OUTPUT->image_url(file_file_icon($file))->out(false);
+ $item->thumbnail = $OUTPUT->image_url(file_file_icon($file))->out(false);
// The call to $file->get_imageinfo() fails with an exception if the file can't be read on the file system.
// We still want to add such files to the list, so the owner can view and delete them if needed. So, we only call
@@ -1811,7 +1811,7 @@ function mimeinfo($element, $filename) {
* the other way around.
*
* @category files
- * @param string $element Desired information ('extension', 'icon', 'icon-24', etc.)
+ * @param string $element Desired information ('extension', 'icon', etc.)
* @param string $mimetype MIME type we're looking up
* @return string Requested piece of information from array
*/
@@ -1860,10 +1860,14 @@ function mimeinfo_from_type($element, $mimetype) {
*
* @param stored_file|file_info|stdClass|array $file (in case of object attributes $file->filename
* and $file->mimetype are expected)
- * @param int $size The size of the icon. Defaults to 16 can also be 24, 32, 64, 128, 256
+ * @param null $unused This parameter has been deprecated since 4.3 and should not be used anymore.
* @return string
*/
-function file_file_icon($file, $size = null) {
+function file_file_icon($file, $unused = null) {
+ if ($unused !== null) {
+ debugging('Deprecated argument passed to ' . __FUNCTION__, DEBUG_DEVELOPER);
+ }
+
if (!is_object($file)) {
$file = (object)$file;
}
@@ -1888,14 +1892,14 @@ function file_file_icon($file, $size = null) {
$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
if ($extension && !empty($mimetypes[$extension])) {
// if file name has known extension, return icon for this extension
- return file_extension_icon($filename, $size);
+ return file_extension_icon($filename);
}
}
- return file_mimetype_icon($mimetype, $size);
+ return file_mimetype_icon($mimetype);
}
/**
- * Return the relative icon path for a folder image
+ * Return the relative icon path for a folder image.
*
* Usage:
*
@@ -1904,28 +1908,20 @@ function file_file_icon($file, $size = null) {
*
* or
*
- * echo $OUTPUT->pix_icon(file_folder_icon(32), '');
+ * echo $OUTPUT->pix_icon(file_folder_icon(), '');
*
*
- * @param int $iconsize The size of the icon. Defaults to 16 can also be 24, 32, 48, 64, 72, 80, 96, 128, 256
+ * @param null $unused This parameter has been deprecated since 4.3 and should not be used anymore.
* @return string
*/
-function file_folder_icon($iconsize = null) {
+function file_folder_icon($unused = null) {
global $CFG;
- static $iconpostfixes = array(256=>'-256', 128=>'-128', 96=>'-96', 80=>'-80', 72=>'-72', 64=>'-64', 48=>'-48', 32=>'-32', 24=>'-24', 16=>'');
- static $cached = array();
- $iconsize = max(array(16, (int)$iconsize));
- if (!array_key_exists($iconsize, $cached)) {
- foreach ($iconpostfixes as $size => $postfix) {
- $fullname = $CFG->dirroot.'/pix/f/folder'.$postfix;
- if ($iconsize >= $size &&
- (file_exists($fullname.'.svg') || file_exists($fullname.'.png') || file_exists($fullname.'.gif'))) {
- $cached[$iconsize] = 'f/folder'.$postfix;
- break;
- }
- }
+
+ if ($unused !== null) {
+ debugging('Deprecated argument passed to ' . __FUNCTION__, DEBUG_DEVELOPER);
}
- return $cached[$iconsize];
+
+ return 'f/folder';
}
/**
@@ -1944,11 +1940,11 @@ function file_folder_icon($iconsize = null) {
* @todo MDL-31074 When an $OUTPUT->icon method is available this function should be altered
* to conform with that.
* @param string $mimetype The mimetype to fetch an icon for
- * @param int $size The size of the icon. Defaults to 16 can also be 24, 32, 64, 128, 256
+ * @param null $unused This parameter has been deprecated since 4.3 and should not be used anymore.
* @return string The relative path to the icon
*/
-function file_mimetype_icon($mimetype, $size = NULL) {
- return 'f/'.mimeinfo_from_type('icon'.$size, $mimetype);
+function file_mimetype_icon($mimetype, $unused = null) {
+ return 'f/'.mimeinfo_from_type('icon', $mimetype);
}
/**
@@ -1968,11 +1964,14 @@ function file_mimetype_icon($mimetype, $size = NULL) {
* @todo MDL-31074 Implement $size
* @category files
* @param string $filename The filename to get the icon for
- * @param int $size The size of the icon. Defaults to 16 can also be 24, 32, 64, 128, 256
+ * @param null $unused This parameter has been deprecated since 4.3 and should not be used anymore.
* @return string
*/
-function file_extension_icon($filename, $size = NULL) {
- return 'f/'.mimeinfo('icon'.$size, $filename);
+function file_extension_icon($filename, $unused = null) {
+ if ($unused !== null) {
+ debugging('Deprecated argument passed to ' . __FUNCTION__, DEBUG_DEVELOPER);
+ }
+ return 'f/'.mimeinfo('icon', $filename);
}
/**
@@ -2675,14 +2674,14 @@ function send_file($path, $filename, $lifetime = null , $filter=0, $pathisstring
* Note: it's up to the consumer to set it properly i.e. when serving a "versioned" URL.
*
* @category files
- * @param stored_file $stored_file local file object
+ * @param stored_file $storedfile local file object
* @param int $lifetime Number of seconds before the file should expire from caches (null means $CFG->filelifetime)
* @param int $filter 0 (default)=no filtering, 1=all files, 2=html files only
* @param bool $forcedownload If true (default false), forces download of file rather than view in browser/plugin
* @param array $options additional options affecting the file serving
* @return null script execution stopped unless $options['dontdie'] is true
*/
-function send_stored_file($stored_file, $lifetime=null, $filter=0, $forcedownload=false, array $options=array()) {
+function send_stored_file($storedfile, $lifetime=null, $filter=0, $forcedownload=false, array $options=array()) {
global $CFG, $COURSE;
static $recursion = 0;
@@ -2706,22 +2705,15 @@ function send_stored_file($stored_file, $lifetime=null, $filter=0, $forcedownloa
if (!empty($options['preview'])) {
// replace the file with its preview
$fs = get_file_storage();
- $preview_file = $fs->get_file_preview($stored_file, $options['preview']);
- if (!$preview_file) {
- // unable to create a preview of the file, send its default mime icon instead
- if ($options['preview'] === 'tinyicon') {
- $size = 24;
- } else if ($options['preview'] === 'thumb') {
- $size = 90;
- } else {
- $size = 256;
- }
- $fileicon = file_file_icon($stored_file, $size);
- send_file($CFG->dirroot.'/pix/'.$fileicon.'.png', basename($fileicon).'.png');
+ $previewfile = $fs->get_file_preview($storedfile, $options['preview']);
+ if (!$previewfile) {
+ // Unable to create a preview of the file, send its default mime icon instead.
+ $fileicon = file_file_icon($storedfile);
+ send_file($CFG->dirroot.'/pix/'.$fileicon.'.svg', basename($fileicon).'.svg');
} else {
// preview images have fixed cache lifetime and they ignore forced download
// (they are generated by GD and therefore they are considered reasonably safe).
- $stored_file = $preview_file;
+ $storedfile = $previewfile;
$lifetime = DAYSECS;
$filter = 0;
$forcedownload = false;
@@ -2729,7 +2721,7 @@ function send_stored_file($stored_file, $lifetime=null, $filter=0, $forcedownloa
}
// handle external resource
- if ($stored_file && $stored_file->is_external_file() && !isset($options['sendcachedexternalfile'])) {
+ if ($storedfile && $storedfile->is_external_file() && !isset($options['sendcachedexternalfile'])) {
// Have we been here before?
$recursion++;
@@ -2737,22 +2729,22 @@ function send_stored_file($stored_file, $lifetime=null, $filter=0, $forcedownloa
throw new coding_exception('Recursive file serving detected');
}
- $stored_file->send_file($lifetime, $filter, $forcedownload, $options);
+ $storedfile->send_file($lifetime, $filter, $forcedownload, $options);
die;
}
- if (!$stored_file or $stored_file->is_directory()) {
- // nothing to serve
+ if (!$storedfile || $storedfile->is_directory()) {
+ // Nothing to serve.
if ($dontdie) {
return;
}
die;
}
- $filename = is_null($filename) ? $stored_file->get_filename() : $filename;
+ $filename = is_null($filename) ? $storedfile->get_filename() : $filename;
// Use given MIME type if specified.
- $mimetype = $stored_file->get_mimetype();
+ $mimetype = $storedfile->get_mimetype();
// Allow cross-origin requests only for Web Services.
// This allow to receive requests done by Web Workers or webapps in different domains.
@@ -2760,7 +2752,7 @@ function send_stored_file($stored_file, $lifetime=null, $filter=0, $forcedownloa
header('Access-Control-Allow-Origin: *');
}
- send_file($stored_file, $filename, $lifetime, $filter, false, $forcedownload, $mimetype, $dontdie, $options);
+ send_file($storedfile, $filename, $lifetime, $filter, false, $forcedownload, $mimetype, $dontdie, $options);
}
/**
diff --git a/lib/googleapi.php b/lib/googleapi.php
index 9d03ccf6a21..b6b04725830 100644
--- a/lib/googleapi.php
+++ b/lib/googleapi.php
@@ -131,7 +131,7 @@ class google_docs {
'url' => "{$gdoc->link[0]->attributes()->href}",
'source' => $source,
'date' => strtotime($gdoc->updated),
- 'thumbnail' => (string) $OUTPUT->image_url(file_extension_icon($title, 32))
+ 'thumbnail' => (string) $OUTPUT->image_url(file_extension_icon($title))
);
}
core_date::set_default_server_timezone();
diff --git a/lib/upgrade.txt b/lib/upgrade.txt
index d1c97007233..5c9457d84eb 100644
--- a/lib/upgrade.txt
+++ b/lib/upgrade.txt
@@ -87,6 +87,38 @@ information provided here is intended especially for developers.
to ensure in some test that the block drawer is closed. This helps with random failures due to the block drawer
being forced open in all behat tests.
* The core_useragent::get_device_type_list() function has been deprecated. Use core_useragent::devicetypes instead as a replacement.
+* The parameter $size of the following functions has been deprecated and is not used any more:
+ - file_extension_icon
+ - file_file_icon
+ - file_folder_icon
+ - file_mimetype_icon
+ - mimeinfo_from_type
+ - url_guess_icon
+* The xxxxxxx-yyy.png MIME icons placed in pix/f have been removed and replaced with new SVG files.
+ In order to reduce the number of icons for the MIME types, a few MIME icons have been removed and
+ replaced with their generic from the existing ones:
+ - avi -> video
+ - base -> database
+ - bmp -> image
+ - html -> markup
+ - jpeg -> image
+ - mov -> video
+ - mp3 -> audio
+ - mpeg -> video
+ - png -> image
+ - quicktime -> video
+ - tiff -> image
+ - wav -> audio
+ - wmv -> video
+ Apart from that, the following MIME icons have been completely removed:
+ - clip-353 --> It was added in MDL-75362 by mistake.
+ - edit
+ - env
+ - explore
+ - folder-open
+ - help
+ - move
+ - parent
=== 4.2 ===
diff --git a/mod/bigbluebuttonbn/classes/local/helpers/files.php b/mod/bigbluebuttonbn/classes/local/helpers/files.php
index d223f2c64dd..dddce8d1b52 100644
--- a/mod/bigbluebuttonbn/classes/local/helpers/files.php
+++ b/mod/bigbluebuttonbn/classes/local/helpers/files.php
@@ -205,7 +205,7 @@ class files {
);
return [
'icondesc' => get_mimetype_description($file),
- 'iconname' => file_file_icon($file, 24),
+ 'iconname' => file_file_icon($file),
'name' => $file->get_filename(),
'url' => $url->out(false),
];
diff --git a/mod/book/tool/importhtml/locallib.php b/mod/book/tool/importhtml/locallib.php
index 5af6f4acadb..3f6714258f7 100644
--- a/mod/book/tool/importhtml/locallib.php
+++ b/mod/book/tool/importhtml/locallib.php
@@ -282,7 +282,7 @@ function toolbook_importhtml_get_chapter_files($package, $type) {
} else {
$mime = mimeinfo('icon', $file->pathname);
- if ($mime !== 'html') {
+ if ($mime !== 'markup') {
continue;
}
$level = substr_count($file->pathname, '/');
diff --git a/mod/folder/lib.php b/mod/folder/lib.php
index 2534d0393c1..6e618485609 100644
--- a/mod/folder/lib.php
+++ b/mod/folder/lib.php
@@ -625,7 +625,7 @@ function folder_get_recent_mod_activity(&$activities, &$index, $timestart, $cour
$image = $url->out(false, array('preview' => 'tinyicon', 'oid' => $file->get_timemodified()));
$image = html_writer::empty_tag('img', array('src' => $image));
} else {
- $image = $OUTPUT->pix_icon(file_file_icon($file, 24), $file->get_filename(), 'moodle');
+ $image = $OUTPUT->pix_icon(file_file_icon($file), $file->get_filename(), 'moodle');
}
$tmpactivity->content = (object) [
diff --git a/mod/folder/renderer.php b/mod/folder/renderer.php
index d9a2bc5fd52..e6153bf8169 100644
--- a/mod/folder/renderer.php
+++ b/mod/folder/renderer.php
@@ -121,7 +121,7 @@ class mod_folder_renderer extends plugin_renderer_base {
}
$result = '
';
foreach ($dir['subdirs'] as $subdir) {
- $image = $this->output->pix_icon(file_folder_icon(24), $subdir['dirname'], 'moodle');
+ $image = $this->output->pix_icon(file_folder_icon(), $subdir['dirname'], 'moodle');
$filename = html_writer::tag('span', $image, array('class' => 'fp-icon')).
html_writer::tag('span', s($subdir['dirname']), array('class' => 'fp-filename'));
$filename = html_writer::tag('div', $filename, array('class' => 'fp-filename-icon'));
@@ -136,7 +136,7 @@ class mod_folder_renderer extends plugin_renderer_base {
$image = $url->out(false, array('preview' => 'tinyicon', 'oid' => $file->get_timemodified()));
$image = html_writer::empty_tag('img', array('src' => $image));
} else {
- $image = $this->output->pix_icon(file_file_icon($file, 24), $filenamedisplay, 'moodle');
+ $image = $this->output->pix_icon(file_file_icon($file), $filenamedisplay, 'moodle');
}
$filename = html_writer::tag('span', $image, array('class' => 'fp-icon')).
html_writer::tag('span', $filenamedisplay, array('class' => 'fp-filename'));
diff --git a/mod/forum/tests/externallib_test.php b/mod/forum/tests/externallib_test.php
index b7de590b95e..856c7f5bca1 100644
--- a/mod/forum/tests/externallib_test.php
+++ b/mod/forum/tests/externallib_test.php
@@ -59,9 +59,9 @@ class externallib_test extends externallib_advanced_testcase {
/**
* Get the expected attachment.
*
- * @param stored_file $file
+ * @param \stored_file $file
* @param array $values
- * @param moodle_url|null $url
+ * @param \moodle_url|null $url
* @return array
*/
protected function get_expected_attachment(\stored_file $file, array $values = [], ?\moodle_url $url = null): array {
@@ -94,7 +94,7 @@ class externallib_test extends externallib_advanced_testcase {
'license' => $file->get_license(),
'filenameshort' => $file->get_filename(),
'filesizeformatted' => display_size((int) $file->get_filesize()),
- 'icon' => $file->is_directory() ? file_folder_icon(128) : file_file_icon($file, 128),
+ 'icon' => $file->is_directory() ? file_folder_icon() : file_file_icon($file),
'timecreatedformatted' => userdate($file->get_timecreated()),
'timemodifiedformatted' => userdate($file->get_timemodified()),
'url' => $url->out(),
diff --git a/mod/url/lib.php b/mod/url/lib.php
index 256c3eb516d..d072f03fc58 100644
--- a/mod/url/lib.php
+++ b/mod/url/lib.php
@@ -220,8 +220,8 @@ function url_get_coursemodule_info($coursemodule) {
$info = new cached_cm_info();
$info->name = $url->name;
- //note: there should be a way to differentiate links from normal resources
- $info->icon = url_guess_icon($url->externalurl, 24);
+ // Note: there should be a way to differentiate links from normal resources.
+ $info->icon = url_guess_icon($url->externalurl);
$display = url_get_final_display_type($url);
@@ -245,8 +245,8 @@ function url_get_coursemodule_info($coursemodule) {
}
$info->customdata['display'] = $display;
- // The icon will be filtered if it will be the default module icon.
- $info->customdata['filtericon'] = empty($info->icon);
+ // The icon will be filtered from now on because the custom icons have been updated.
+ $info->customdata['filtericon'] = true;
return $info;
}
diff --git a/mod/url/locallib.php b/mod/url/locallib.php
index 02ac7568eba..87c6cbefa2c 100644
--- a/mod/url/locallib.php
+++ b/mod/url/locallib.php
@@ -528,13 +528,17 @@ function url_get_encrypted_parameter($url, $config) {
/**
* Optimised mimetype detection from general URL
* @param $fullurl
- * @param int $size of the icon.
+ * @param null $unused This parameter has been deprecated since 4.3 and should not be used anymore.
* @return string|null mimetype or null when the filetype is not relevant.
*/
-function url_guess_icon($fullurl, $size = null) {
+function url_guess_icon($fullurl, $unused = null) {
global $CFG;
require_once("$CFG->libdir/filelib.php");
+ if ($unused !== null) {
+ debugging('Deprecated argument passed to ' . __FUNCTION__, DEBUG_DEVELOPER);
+ }
+
if (substr_count($fullurl, '/') < 3 or substr($fullurl, -1) === '/') {
// Most probably default directory - index.php, index.html, etc. Return null because
// we want to use the default module icon instead of the HTML file icon.
@@ -551,10 +555,10 @@ function url_guess_icon($fullurl, $size = null) {
return null;
}
- $icon = file_extension_icon($fullurl, $size);
- $htmlicon = file_extension_icon('.htm', $size);
- $unknownicon = file_extension_icon('', $size);
- $phpicon = file_extension_icon('.php', $size); // Exception for php files.
+ $icon = file_extension_icon($fullurl);
+ $htmlicon = file_extension_icon('.htm');
+ $unknownicon = file_extension_icon('');
+ $phpicon = file_extension_icon('.php'); // Exception for php files.
// We do not want to return those icon types, the module icon is more appropriate.
if ($icon === $unknownicon || $icon === $htmlicon || $icon === $phpicon) {
diff --git a/pix/f/FileTypesIcons-LICENSE.txt b/pix/f/FileTypesIcons-LICENSE.txt
deleted file mode 100644
index 9adcbae444b..00000000000
--- a/pix/f/FileTypesIcons-LICENSE.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-
- FileTypesIcons Copyright 2012 Renato Veras
-
- These icons are free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
diff --git a/pix/f/Oxygen-LICENSE.txt b/pix/f/Oxygen-LICENSE.txt
deleted file mode 100644
index a62ec8ebbe3..00000000000
--- a/pix/f/Oxygen-LICENSE.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-
- FileTypesIcons Copyright 2012 Oxygen Team
-
- These icons are free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
diff --git a/pix/f/archive-128.png b/pix/f/archive-128.png
deleted file mode 100644
index 4fc6a4ac6b9..00000000000
Binary files a/pix/f/archive-128.png and /dev/null differ
diff --git a/pix/f/archive-24.png b/pix/f/archive-24.png
deleted file mode 100644
index 20aab03e1d5..00000000000
Binary files a/pix/f/archive-24.png and /dev/null differ
diff --git a/pix/f/archive-256.png b/pix/f/archive-256.png
deleted file mode 100644
index ae0622bf14b..00000000000
Binary files a/pix/f/archive-256.png and /dev/null differ
diff --git a/pix/f/archive-32.png b/pix/f/archive-32.png
deleted file mode 100644
index fe0d3754408..00000000000
Binary files a/pix/f/archive-32.png and /dev/null differ
diff --git a/pix/f/archive-48.png b/pix/f/archive-48.png
deleted file mode 100644
index 5c07699d350..00000000000
Binary files a/pix/f/archive-48.png and /dev/null differ
diff --git a/pix/f/archive-64.png b/pix/f/archive-64.png
deleted file mode 100644
index ba7111a024e..00000000000
Binary files a/pix/f/archive-64.png and /dev/null differ
diff --git a/pix/f/archive-72.png b/pix/f/archive-72.png
deleted file mode 100644
index 0d78940b58a..00000000000
Binary files a/pix/f/archive-72.png and /dev/null differ
diff --git a/pix/f/archive-80.png b/pix/f/archive-80.png
deleted file mode 100644
index 240ec6fda7b..00000000000
Binary files a/pix/f/archive-80.png and /dev/null differ
diff --git a/pix/f/archive-96.png b/pix/f/archive-96.png
deleted file mode 100644
index 1d590fc2bf2..00000000000
Binary files a/pix/f/archive-96.png and /dev/null differ
diff --git a/pix/f/archive.png b/pix/f/archive.png
deleted file mode 100644
index 4cb5a9595cb..00000000000
Binary files a/pix/f/archive.png and /dev/null differ
diff --git a/pix/f/archive.svg b/pix/f/archive.svg
new file mode 100644
index 00000000000..e7383681972
--- /dev/null
+++ b/pix/f/archive.svg
@@ -0,0 +1,3 @@
+
diff --git a/pix/f/audio-128.png b/pix/f/audio-128.png
deleted file mode 100644
index d38b4a43df8..00000000000
Binary files a/pix/f/audio-128.png and /dev/null differ
diff --git a/pix/f/audio-24.png b/pix/f/audio-24.png
deleted file mode 100644
index 7d8a7824e71..00000000000
Binary files a/pix/f/audio-24.png and /dev/null differ
diff --git a/pix/f/audio-256.png b/pix/f/audio-256.png
deleted file mode 100644
index 155ce7b18d0..00000000000
Binary files a/pix/f/audio-256.png and /dev/null differ
diff --git a/pix/f/audio-32.png b/pix/f/audio-32.png
deleted file mode 100644
index 75d6022fe25..00000000000
Binary files a/pix/f/audio-32.png and /dev/null differ
diff --git a/pix/f/audio-48.png b/pix/f/audio-48.png
deleted file mode 100644
index 6f746c34b66..00000000000
Binary files a/pix/f/audio-48.png and /dev/null differ
diff --git a/pix/f/audio-64.png b/pix/f/audio-64.png
deleted file mode 100644
index e98c78dd7ab..00000000000
Binary files a/pix/f/audio-64.png and /dev/null differ
diff --git a/pix/f/audio-72.png b/pix/f/audio-72.png
deleted file mode 100644
index ecbc107e9cb..00000000000
Binary files a/pix/f/audio-72.png and /dev/null differ
diff --git a/pix/f/audio-80.png b/pix/f/audio-80.png
deleted file mode 100644
index 248509c29bc..00000000000
Binary files a/pix/f/audio-80.png and /dev/null differ
diff --git a/pix/f/audio-96.png b/pix/f/audio-96.png
deleted file mode 100644
index 17697ab9031..00000000000
Binary files a/pix/f/audio-96.png and /dev/null differ
diff --git a/pix/f/audio.png b/pix/f/audio.png
deleted file mode 100644
index 4aee3742833..00000000000
Binary files a/pix/f/audio.png and /dev/null differ
diff --git a/pix/f/audio.svg b/pix/f/audio.svg
new file mode 100644
index 00000000000..66671485239
--- /dev/null
+++ b/pix/f/audio.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/avi-128.png b/pix/f/avi-128.png
deleted file mode 100644
index 8bd960aca8b..00000000000
Binary files a/pix/f/avi-128.png and /dev/null differ
diff --git a/pix/f/avi-24.png b/pix/f/avi-24.png
deleted file mode 100644
index 700f9ce62c2..00000000000
Binary files a/pix/f/avi-24.png and /dev/null differ
diff --git a/pix/f/avi-256.png b/pix/f/avi-256.png
deleted file mode 100644
index cb190814b24..00000000000
Binary files a/pix/f/avi-256.png and /dev/null differ
diff --git a/pix/f/avi-32.png b/pix/f/avi-32.png
deleted file mode 100644
index 889cfc23350..00000000000
Binary files a/pix/f/avi-32.png and /dev/null differ
diff --git a/pix/f/avi-48.png b/pix/f/avi-48.png
deleted file mode 100644
index 8846c7aac96..00000000000
Binary files a/pix/f/avi-48.png and /dev/null differ
diff --git a/pix/f/avi-64.png b/pix/f/avi-64.png
deleted file mode 100644
index ec1a942cd13..00000000000
Binary files a/pix/f/avi-64.png and /dev/null differ
diff --git a/pix/f/avi-72.png b/pix/f/avi-72.png
deleted file mode 100644
index 0cbe174572f..00000000000
Binary files a/pix/f/avi-72.png and /dev/null differ
diff --git a/pix/f/avi-80.png b/pix/f/avi-80.png
deleted file mode 100644
index 08dc25457b3..00000000000
Binary files a/pix/f/avi-80.png and /dev/null differ
diff --git a/pix/f/avi-96.png b/pix/f/avi-96.png
deleted file mode 100644
index b29d6c88f81..00000000000
Binary files a/pix/f/avi-96.png and /dev/null differ
diff --git a/pix/f/avi.png b/pix/f/avi.png
deleted file mode 100644
index 371defbfd2f..00000000000
Binary files a/pix/f/avi.png and /dev/null differ
diff --git a/pix/f/base-128.png b/pix/f/base-128.png
deleted file mode 100644
index e8f39622abf..00000000000
Binary files a/pix/f/base-128.png and /dev/null differ
diff --git a/pix/f/base-24.png b/pix/f/base-24.png
deleted file mode 100644
index c75e01f12e2..00000000000
Binary files a/pix/f/base-24.png and /dev/null differ
diff --git a/pix/f/base-32.png b/pix/f/base-32.png
deleted file mode 100644
index 032ebeff7c9..00000000000
Binary files a/pix/f/base-32.png and /dev/null differ
diff --git a/pix/f/base-48.png b/pix/f/base-48.png
deleted file mode 100644
index 632b395a9bb..00000000000
Binary files a/pix/f/base-48.png and /dev/null differ
diff --git a/pix/f/base-64.png b/pix/f/base-64.png
deleted file mode 100644
index cf698f52540..00000000000
Binary files a/pix/f/base-64.png and /dev/null differ
diff --git a/pix/f/base-72.png b/pix/f/base-72.png
deleted file mode 100644
index 00df7a22fe8..00000000000
Binary files a/pix/f/base-72.png and /dev/null differ
diff --git a/pix/f/base-80.png b/pix/f/base-80.png
deleted file mode 100644
index b81304c491d..00000000000
Binary files a/pix/f/base-80.png and /dev/null differ
diff --git a/pix/f/base-96.png b/pix/f/base-96.png
deleted file mode 100644
index b7c9d137c53..00000000000
Binary files a/pix/f/base-96.png and /dev/null differ
diff --git a/pix/f/base.png b/pix/f/base.png
deleted file mode 100644
index 9f31ba6658b..00000000000
Binary files a/pix/f/base.png and /dev/null differ
diff --git a/pix/f/bmp-128.png b/pix/f/bmp-128.png
deleted file mode 100644
index 026d0beac43..00000000000
Binary files a/pix/f/bmp-128.png and /dev/null differ
diff --git a/pix/f/bmp-24.png b/pix/f/bmp-24.png
deleted file mode 100644
index 6b6dc8f37de..00000000000
Binary files a/pix/f/bmp-24.png and /dev/null differ
diff --git a/pix/f/bmp-256.png b/pix/f/bmp-256.png
deleted file mode 100644
index 53d523210d5..00000000000
Binary files a/pix/f/bmp-256.png and /dev/null differ
diff --git a/pix/f/bmp-32.png b/pix/f/bmp-32.png
deleted file mode 100644
index a4db4e881c5..00000000000
Binary files a/pix/f/bmp-32.png and /dev/null differ
diff --git a/pix/f/bmp-48.png b/pix/f/bmp-48.png
deleted file mode 100644
index dceed4cc6f8..00000000000
Binary files a/pix/f/bmp-48.png and /dev/null differ
diff --git a/pix/f/bmp-64.png b/pix/f/bmp-64.png
deleted file mode 100644
index 562e7bbab34..00000000000
Binary files a/pix/f/bmp-64.png and /dev/null differ
diff --git a/pix/f/bmp-72.png b/pix/f/bmp-72.png
deleted file mode 100644
index 3a4505b014a..00000000000
Binary files a/pix/f/bmp-72.png and /dev/null differ
diff --git a/pix/f/bmp-80.png b/pix/f/bmp-80.png
deleted file mode 100644
index e111952b9c3..00000000000
Binary files a/pix/f/bmp-80.png and /dev/null differ
diff --git a/pix/f/bmp-96.png b/pix/f/bmp-96.png
deleted file mode 100644
index 76444df7c0c..00000000000
Binary files a/pix/f/bmp-96.png and /dev/null differ
diff --git a/pix/f/bmp.png b/pix/f/bmp.png
deleted file mode 100644
index c082abd9a45..00000000000
Binary files a/pix/f/bmp.png and /dev/null differ
diff --git a/pix/f/calc-128.png b/pix/f/calc-128.png
deleted file mode 100644
index 5a48776d899..00000000000
Binary files a/pix/f/calc-128.png and /dev/null differ
diff --git a/pix/f/calc-24.png b/pix/f/calc-24.png
deleted file mode 100644
index ec76dceac5a..00000000000
Binary files a/pix/f/calc-24.png and /dev/null differ
diff --git a/pix/f/calc-32.png b/pix/f/calc-32.png
deleted file mode 100644
index f30a860afc8..00000000000
Binary files a/pix/f/calc-32.png and /dev/null differ
diff --git a/pix/f/calc-48.png b/pix/f/calc-48.png
deleted file mode 100644
index 30e80ab0b70..00000000000
Binary files a/pix/f/calc-48.png and /dev/null differ
diff --git a/pix/f/calc-64.png b/pix/f/calc-64.png
deleted file mode 100644
index b813dd2cbfa..00000000000
Binary files a/pix/f/calc-64.png and /dev/null differ
diff --git a/pix/f/calc-72.png b/pix/f/calc-72.png
deleted file mode 100644
index 5ed5266d78b..00000000000
Binary files a/pix/f/calc-72.png and /dev/null differ
diff --git a/pix/f/calc-80.png b/pix/f/calc-80.png
deleted file mode 100644
index 16cc7dfc00e..00000000000
Binary files a/pix/f/calc-80.png and /dev/null differ
diff --git a/pix/f/calc-96.png b/pix/f/calc-96.png
deleted file mode 100644
index cfe6dcd875b..00000000000
Binary files a/pix/f/calc-96.png and /dev/null differ
diff --git a/pix/f/calc.png b/pix/f/calc.png
deleted file mode 100644
index 179d1eccf5a..00000000000
Binary files a/pix/f/calc.png and /dev/null differ
diff --git a/pix/f/calc.svg b/pix/f/calc.svg
new file mode 100644
index 00000000000..8d9456ad93c
--- /dev/null
+++ b/pix/f/calc.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/chart-128.png b/pix/f/chart-128.png
deleted file mode 100644
index ed44a3a5281..00000000000
Binary files a/pix/f/chart-128.png and /dev/null differ
diff --git a/pix/f/chart-24.png b/pix/f/chart-24.png
deleted file mode 100644
index 8e04b2bc876..00000000000
Binary files a/pix/f/chart-24.png and /dev/null differ
diff --git a/pix/f/chart-32.png b/pix/f/chart-32.png
deleted file mode 100644
index 1f579659fb9..00000000000
Binary files a/pix/f/chart-32.png and /dev/null differ
diff --git a/pix/f/chart-48.png b/pix/f/chart-48.png
deleted file mode 100644
index 38aa79e3fa2..00000000000
Binary files a/pix/f/chart-48.png and /dev/null differ
diff --git a/pix/f/chart-64.png b/pix/f/chart-64.png
deleted file mode 100644
index 4b8f85bd679..00000000000
Binary files a/pix/f/chart-64.png and /dev/null differ
diff --git a/pix/f/chart-72.png b/pix/f/chart-72.png
deleted file mode 100644
index 1b8d32935f5..00000000000
Binary files a/pix/f/chart-72.png and /dev/null differ
diff --git a/pix/f/chart-80.png b/pix/f/chart-80.png
deleted file mode 100644
index 662aa8be385..00000000000
Binary files a/pix/f/chart-80.png and /dev/null differ
diff --git a/pix/f/chart-96.png b/pix/f/chart-96.png
deleted file mode 100644
index af1ce08ebaf..00000000000
Binary files a/pix/f/chart-96.png and /dev/null differ
diff --git a/pix/f/chart.png b/pix/f/chart.png
deleted file mode 100644
index 8c544e999fd..00000000000
Binary files a/pix/f/chart.png and /dev/null differ
diff --git a/pix/f/chart.svg b/pix/f/chart.svg
new file mode 100644
index 00000000000..0300c089b3b
--- /dev/null
+++ b/pix/f/chart.svg
@@ -0,0 +1,3 @@
+
diff --git a/pix/f/clip-353 1.png b/pix/f/clip-353 1.png
deleted file mode 100644
index 3bcaff57f0b..00000000000
Binary files a/pix/f/clip-353 1.png and /dev/null differ
diff --git a/pix/f/database-128.png b/pix/f/database-128.png
deleted file mode 100644
index f56a47ba69a..00000000000
Binary files a/pix/f/database-128.png and /dev/null differ
diff --git a/pix/f/database-24.png b/pix/f/database-24.png
deleted file mode 100644
index 5e9fd837eca..00000000000
Binary files a/pix/f/database-24.png and /dev/null differ
diff --git a/pix/f/database-256.png b/pix/f/database-256.png
deleted file mode 100644
index 81b78b0390d..00000000000
Binary files a/pix/f/database-256.png and /dev/null differ
diff --git a/pix/f/database-32.png b/pix/f/database-32.png
deleted file mode 100644
index 8e37249d397..00000000000
Binary files a/pix/f/database-32.png and /dev/null differ
diff --git a/pix/f/database-48.png b/pix/f/database-48.png
deleted file mode 100644
index 4fefdb61087..00000000000
Binary files a/pix/f/database-48.png and /dev/null differ
diff --git a/pix/f/database-64.png b/pix/f/database-64.png
deleted file mode 100644
index 33d5043c19b..00000000000
Binary files a/pix/f/database-64.png and /dev/null differ
diff --git a/pix/f/database-72.png b/pix/f/database-72.png
deleted file mode 100644
index 19b6487ce68..00000000000
Binary files a/pix/f/database-72.png and /dev/null differ
diff --git a/pix/f/database-80.png b/pix/f/database-80.png
deleted file mode 100644
index fc9b11c06bc..00000000000
Binary files a/pix/f/database-80.png and /dev/null differ
diff --git a/pix/f/database-96.png b/pix/f/database-96.png
deleted file mode 100644
index 1f8d5b26f02..00000000000
Binary files a/pix/f/database-96.png and /dev/null differ
diff --git a/pix/f/database.png b/pix/f/database.png
deleted file mode 100644
index d946a9f3f9b..00000000000
Binary files a/pix/f/database.png and /dev/null differ
diff --git a/pix/f/database.svg b/pix/f/database.svg
new file mode 100644
index 00000000000..5a90b9864b2
--- /dev/null
+++ b/pix/f/database.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/dmg-32.png b/pix/f/dmg-32.png
deleted file mode 100644
index 89817b9961e..00000000000
Binary files a/pix/f/dmg-32.png and /dev/null differ
diff --git a/pix/f/dmg.gif b/pix/f/dmg.gif
deleted file mode 100644
index 926ce059a59..00000000000
Binary files a/pix/f/dmg.gif and /dev/null differ
diff --git a/pix/f/document-128.png b/pix/f/document-128.png
deleted file mode 100644
index 4e07b918f32..00000000000
Binary files a/pix/f/document-128.png and /dev/null differ
diff --git a/pix/f/document-24.png b/pix/f/document-24.png
deleted file mode 100644
index 6a4bb8ba55a..00000000000
Binary files a/pix/f/document-24.png and /dev/null differ
diff --git a/pix/f/document-256.png b/pix/f/document-256.png
deleted file mode 100644
index ff23d722393..00000000000
Binary files a/pix/f/document-256.png and /dev/null differ
diff --git a/pix/f/document-32.png b/pix/f/document-32.png
deleted file mode 100644
index 857a2d6948c..00000000000
Binary files a/pix/f/document-32.png and /dev/null differ
diff --git a/pix/f/document-48.png b/pix/f/document-48.png
deleted file mode 100644
index afc8727f392..00000000000
Binary files a/pix/f/document-48.png and /dev/null differ
diff --git a/pix/f/document-64.png b/pix/f/document-64.png
deleted file mode 100644
index 0888ebbbd8c..00000000000
Binary files a/pix/f/document-64.png and /dev/null differ
diff --git a/pix/f/document-72.png b/pix/f/document-72.png
deleted file mode 100644
index c179a980cf4..00000000000
Binary files a/pix/f/document-72.png and /dev/null differ
diff --git a/pix/f/document-80.png b/pix/f/document-80.png
deleted file mode 100644
index ea94ec70afb..00000000000
Binary files a/pix/f/document-80.png and /dev/null differ
diff --git a/pix/f/document-96.png b/pix/f/document-96.png
deleted file mode 100644
index dc985311144..00000000000
Binary files a/pix/f/document-96.png and /dev/null differ
diff --git a/pix/f/document.png b/pix/f/document.png
deleted file mode 100644
index d6bf4d6d9c0..00000000000
Binary files a/pix/f/document.png and /dev/null differ
diff --git a/pix/f/document.svg b/pix/f/document.svg
new file mode 100644
index 00000000000..3564091f98b
--- /dev/null
+++ b/pix/f/document.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/draw-128.png b/pix/f/draw-128.png
deleted file mode 100644
index 2ccd61c9a51..00000000000
Binary files a/pix/f/draw-128.png and /dev/null differ
diff --git a/pix/f/draw-24.png b/pix/f/draw-24.png
deleted file mode 100644
index f9f2da1eac4..00000000000
Binary files a/pix/f/draw-24.png and /dev/null differ
diff --git a/pix/f/draw-32.png b/pix/f/draw-32.png
deleted file mode 100644
index e6f32a75cdc..00000000000
Binary files a/pix/f/draw-32.png and /dev/null differ
diff --git a/pix/f/draw-48.png b/pix/f/draw-48.png
deleted file mode 100644
index c3f346bbf32..00000000000
Binary files a/pix/f/draw-48.png and /dev/null differ
diff --git a/pix/f/draw-64.png b/pix/f/draw-64.png
deleted file mode 100644
index 1b827c7c63d..00000000000
Binary files a/pix/f/draw-64.png and /dev/null differ
diff --git a/pix/f/draw-72.png b/pix/f/draw-72.png
deleted file mode 100644
index efd2068db70..00000000000
Binary files a/pix/f/draw-72.png and /dev/null differ
diff --git a/pix/f/draw-80.png b/pix/f/draw-80.png
deleted file mode 100644
index af7851cad5b..00000000000
Binary files a/pix/f/draw-80.png and /dev/null differ
diff --git a/pix/f/draw-96.png b/pix/f/draw-96.png
deleted file mode 100644
index e5749f8b145..00000000000
Binary files a/pix/f/draw-96.png and /dev/null differ
diff --git a/pix/f/draw.png b/pix/f/draw.png
deleted file mode 100644
index 019f77f3851..00000000000
Binary files a/pix/f/draw.png and /dev/null differ
diff --git a/pix/f/draw.svg b/pix/f/draw.svg
new file mode 100644
index 00000000000..24b300dafc4
--- /dev/null
+++ b/pix/f/draw.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/edit-32.png b/pix/f/edit-32.png
deleted file mode 100644
index 79bb52599ce..00000000000
Binary files a/pix/f/edit-32.png and /dev/null differ
diff --git a/pix/f/edit.gif b/pix/f/edit.gif
deleted file mode 100644
index 893a6e0dd54..00000000000
Binary files a/pix/f/edit.gif and /dev/null differ
diff --git a/pix/f/env.gif b/pix/f/env.gif
deleted file mode 100644
index 27ff7cdb6d2..00000000000
Binary files a/pix/f/env.gif and /dev/null differ
diff --git a/pix/f/eps-128.png b/pix/f/eps-128.png
deleted file mode 100644
index 78610808421..00000000000
Binary files a/pix/f/eps-128.png and /dev/null differ
diff --git a/pix/f/eps-24.png b/pix/f/eps-24.png
deleted file mode 100644
index 99b23525c77..00000000000
Binary files a/pix/f/eps-24.png and /dev/null differ
diff --git a/pix/f/eps-256.png b/pix/f/eps-256.png
deleted file mode 100644
index e7866e14b35..00000000000
Binary files a/pix/f/eps-256.png and /dev/null differ
diff --git a/pix/f/eps-32.png b/pix/f/eps-32.png
deleted file mode 100644
index a214cf5163d..00000000000
Binary files a/pix/f/eps-32.png and /dev/null differ
diff --git a/pix/f/eps-48.png b/pix/f/eps-48.png
deleted file mode 100644
index 05948275239..00000000000
Binary files a/pix/f/eps-48.png and /dev/null differ
diff --git a/pix/f/eps-64.png b/pix/f/eps-64.png
deleted file mode 100644
index c4249244142..00000000000
Binary files a/pix/f/eps-64.png and /dev/null differ
diff --git a/pix/f/eps-72.png b/pix/f/eps-72.png
deleted file mode 100644
index b07392d2486..00000000000
Binary files a/pix/f/eps-72.png and /dev/null differ
diff --git a/pix/f/eps-80.png b/pix/f/eps-80.png
deleted file mode 100644
index 33323f748a8..00000000000
Binary files a/pix/f/eps-80.png and /dev/null differ
diff --git a/pix/f/eps-96.png b/pix/f/eps-96.png
deleted file mode 100644
index fc2b3c8214e..00000000000
Binary files a/pix/f/eps-96.png and /dev/null differ
diff --git a/pix/f/eps.png b/pix/f/eps.png
deleted file mode 100644
index befcf18c75e..00000000000
Binary files a/pix/f/eps.png and /dev/null differ
diff --git a/pix/f/eps.svg b/pix/f/eps.svg
new file mode 100644
index 00000000000..64fee86cbdc
--- /dev/null
+++ b/pix/f/eps.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/epub-128.png b/pix/f/epub-128.png
deleted file mode 100644
index 16f6cbe8e41..00000000000
Binary files a/pix/f/epub-128.png and /dev/null differ
diff --git a/pix/f/epub-24.png b/pix/f/epub-24.png
deleted file mode 100644
index 9a59fdc029a..00000000000
Binary files a/pix/f/epub-24.png and /dev/null differ
diff --git a/pix/f/epub-256.png b/pix/f/epub-256.png
deleted file mode 100644
index b474c1ff6e8..00000000000
Binary files a/pix/f/epub-256.png and /dev/null differ
diff --git a/pix/f/epub-32.png b/pix/f/epub-32.png
deleted file mode 100644
index 0ab36f40569..00000000000
Binary files a/pix/f/epub-32.png and /dev/null differ
diff --git a/pix/f/epub-48.png b/pix/f/epub-48.png
deleted file mode 100644
index 950389b46b2..00000000000
Binary files a/pix/f/epub-48.png and /dev/null differ
diff --git a/pix/f/epub-64.png b/pix/f/epub-64.png
deleted file mode 100644
index 298d5dcd9bd..00000000000
Binary files a/pix/f/epub-64.png and /dev/null differ
diff --git a/pix/f/epub-72.png b/pix/f/epub-72.png
deleted file mode 100644
index 7269ed64652..00000000000
Binary files a/pix/f/epub-72.png and /dev/null differ
diff --git a/pix/f/epub-80.png b/pix/f/epub-80.png
deleted file mode 100644
index dd1284de174..00000000000
Binary files a/pix/f/epub-80.png and /dev/null differ
diff --git a/pix/f/epub-96.png b/pix/f/epub-96.png
deleted file mode 100644
index 271555e5ffc..00000000000
Binary files a/pix/f/epub-96.png and /dev/null differ
diff --git a/pix/f/epub.png b/pix/f/epub.png
deleted file mode 100644
index 2a239860479..00000000000
Binary files a/pix/f/epub.png and /dev/null differ
diff --git a/pix/f/epub.svg b/pix/f/epub.svg
new file mode 100644
index 00000000000..33a2bd0518b
--- /dev/null
+++ b/pix/f/epub.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/explore-32.png b/pix/f/explore-32.png
deleted file mode 100644
index 49c69c821cb..00000000000
Binary files a/pix/f/explore-32.png and /dev/null differ
diff --git a/pix/f/explore.gif b/pix/f/explore.gif
deleted file mode 100644
index b00dbb921ee..00000000000
Binary files a/pix/f/explore.gif and /dev/null differ
diff --git a/pix/f/flash-128.png b/pix/f/flash-128.png
deleted file mode 100644
index 6304d322b99..00000000000
Binary files a/pix/f/flash-128.png and /dev/null differ
diff --git a/pix/f/flash-24.png b/pix/f/flash-24.png
deleted file mode 100644
index 11c5570513b..00000000000
Binary files a/pix/f/flash-24.png and /dev/null differ
diff --git a/pix/f/flash-256.png b/pix/f/flash-256.png
deleted file mode 100644
index dcbcc49469d..00000000000
Binary files a/pix/f/flash-256.png and /dev/null differ
diff --git a/pix/f/flash-32.png b/pix/f/flash-32.png
deleted file mode 100644
index b8dc1d44b93..00000000000
Binary files a/pix/f/flash-32.png and /dev/null differ
diff --git a/pix/f/flash-48.png b/pix/f/flash-48.png
deleted file mode 100644
index c91e61dabef..00000000000
Binary files a/pix/f/flash-48.png and /dev/null differ
diff --git a/pix/f/flash-64.png b/pix/f/flash-64.png
deleted file mode 100644
index 01d28e03e15..00000000000
Binary files a/pix/f/flash-64.png and /dev/null differ
diff --git a/pix/f/flash-72.png b/pix/f/flash-72.png
deleted file mode 100644
index 6a3f44f6120..00000000000
Binary files a/pix/f/flash-72.png and /dev/null differ
diff --git a/pix/f/flash-80.png b/pix/f/flash-80.png
deleted file mode 100644
index 539f2080bca..00000000000
Binary files a/pix/f/flash-80.png and /dev/null differ
diff --git a/pix/f/flash-96.png b/pix/f/flash-96.png
deleted file mode 100644
index b41a20ec2b8..00000000000
Binary files a/pix/f/flash-96.png and /dev/null differ
diff --git a/pix/f/flash.png b/pix/f/flash.png
deleted file mode 100644
index 166ab929927..00000000000
Binary files a/pix/f/flash.png and /dev/null differ
diff --git a/pix/f/flash.svg b/pix/f/flash.svg
new file mode 100644
index 00000000000..18986cf8e53
--- /dev/null
+++ b/pix/f/flash.svg
@@ -0,0 +1,5 @@
+
diff --git a/pix/f/folder-128.png b/pix/f/folder-128.png
deleted file mode 100644
index 1ba5abf13f6..00000000000
Binary files a/pix/f/folder-128.png and /dev/null differ
diff --git a/pix/f/folder-24.png b/pix/f/folder-24.png
deleted file mode 100644
index 8479747ef38..00000000000
Binary files a/pix/f/folder-24.png and /dev/null differ
diff --git a/pix/f/folder-32.png b/pix/f/folder-32.png
deleted file mode 100644
index c2e2fe94c40..00000000000
Binary files a/pix/f/folder-32.png and /dev/null differ
diff --git a/pix/f/folder-48.png b/pix/f/folder-48.png
deleted file mode 100644
index 74796d1f2c7..00000000000
Binary files a/pix/f/folder-48.png and /dev/null differ
diff --git a/pix/f/folder-64.png b/pix/f/folder-64.png
deleted file mode 100644
index 2508ab25219..00000000000
Binary files a/pix/f/folder-64.png and /dev/null differ
diff --git a/pix/f/folder-open-128.png b/pix/f/folder-open-128.png
deleted file mode 100644
index 92efe7a6f54..00000000000
Binary files a/pix/f/folder-open-128.png and /dev/null differ
diff --git a/pix/f/folder-open-24.png b/pix/f/folder-open-24.png
deleted file mode 100644
index bcca6f434e2..00000000000
Binary files a/pix/f/folder-open-24.png and /dev/null differ
diff --git a/pix/f/folder-open-32.png b/pix/f/folder-open-32.png
deleted file mode 100644
index d0fb6980db1..00000000000
Binary files a/pix/f/folder-open-32.png and /dev/null differ
diff --git a/pix/f/folder-open-48.png b/pix/f/folder-open-48.png
deleted file mode 100644
index 3153f2a35e9..00000000000
Binary files a/pix/f/folder-open-48.png and /dev/null differ
diff --git a/pix/f/folder-open-64.png b/pix/f/folder-open-64.png
deleted file mode 100644
index 27f7271bd09..00000000000
Binary files a/pix/f/folder-open-64.png and /dev/null differ
diff --git a/pix/f/folder-open.png b/pix/f/folder-open.png
deleted file mode 100644
index d7ce94b300d..00000000000
Binary files a/pix/f/folder-open.png and /dev/null differ
diff --git a/pix/f/folder.png b/pix/f/folder.png
deleted file mode 100644
index 53987ccf85c..00000000000
Binary files a/pix/f/folder.png and /dev/null differ
diff --git a/pix/f/folder.svg b/pix/f/folder.svg
new file mode 100644
index 00000000000..0b17d74c381
--- /dev/null
+++ b/pix/f/folder.svg
@@ -0,0 +1,3 @@
+
diff --git a/pix/f/gif-128.png b/pix/f/gif-128.png
deleted file mode 100644
index e6a9066baad..00000000000
Binary files a/pix/f/gif-128.png and /dev/null differ
diff --git a/pix/f/gif-24.png b/pix/f/gif-24.png
deleted file mode 100644
index 303cfd9efdc..00000000000
Binary files a/pix/f/gif-24.png and /dev/null differ
diff --git a/pix/f/gif-256.png b/pix/f/gif-256.png
deleted file mode 100644
index a51bef340fc..00000000000
Binary files a/pix/f/gif-256.png and /dev/null differ
diff --git a/pix/f/gif-32.png b/pix/f/gif-32.png
deleted file mode 100644
index 179bed3b850..00000000000
Binary files a/pix/f/gif-32.png and /dev/null differ
diff --git a/pix/f/gif-48.png b/pix/f/gif-48.png
deleted file mode 100644
index e73b0925751..00000000000
Binary files a/pix/f/gif-48.png and /dev/null differ
diff --git a/pix/f/gif-64.png b/pix/f/gif-64.png
deleted file mode 100644
index 2373292b7a5..00000000000
Binary files a/pix/f/gif-64.png and /dev/null differ
diff --git a/pix/f/gif-72.png b/pix/f/gif-72.png
deleted file mode 100644
index ea68b2c4557..00000000000
Binary files a/pix/f/gif-72.png and /dev/null differ
diff --git a/pix/f/gif-80.png b/pix/f/gif-80.png
deleted file mode 100644
index 52c9aacbdd9..00000000000
Binary files a/pix/f/gif-80.png and /dev/null differ
diff --git a/pix/f/gif-96.png b/pix/f/gif-96.png
deleted file mode 100644
index d89bd8c940d..00000000000
Binary files a/pix/f/gif-96.png and /dev/null differ
diff --git a/pix/f/gif.png b/pix/f/gif.png
deleted file mode 100644
index c082abd9a45..00000000000
Binary files a/pix/f/gif.png and /dev/null differ
diff --git a/pix/f/gif.svg b/pix/f/gif.svg
new file mode 100644
index 00000000000..2a64cf7772e
--- /dev/null
+++ b/pix/f/gif.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/h5p-180.png b/pix/f/h5p-180.png
deleted file mode 100644
index 8e2e824aa40..00000000000
Binary files a/pix/f/h5p-180.png and /dev/null differ
diff --git a/pix/f/h5p-24.png b/pix/f/h5p-24.png
deleted file mode 100644
index b3554abbf02..00000000000
Binary files a/pix/f/h5p-24.png and /dev/null differ
diff --git a/pix/f/h5p-256.png b/pix/f/h5p-256.png
deleted file mode 100644
index 5beca83ad08..00000000000
Binary files a/pix/f/h5p-256.png and /dev/null differ
diff --git a/pix/f/h5p-48.png b/pix/f/h5p-48.png
deleted file mode 100644
index 227b8dd7048..00000000000
Binary files a/pix/f/h5p-48.png and /dev/null differ
diff --git a/pix/f/h5p-64.png b/pix/f/h5p-64.png
deleted file mode 100644
index cdd1c9b1bc6..00000000000
Binary files a/pix/f/h5p-64.png and /dev/null differ
diff --git a/pix/f/h5p-72.png b/pix/f/h5p-72.png
deleted file mode 100644
index a6e4b564d09..00000000000
Binary files a/pix/f/h5p-72.png and /dev/null differ
diff --git a/pix/f/h5p-80.png b/pix/f/h5p-80.png
deleted file mode 100644
index dba1aeba982..00000000000
Binary files a/pix/f/h5p-80.png and /dev/null differ
diff --git a/pix/f/h5p-96.png b/pix/f/h5p-96.png
deleted file mode 100644
index 9b7c2f2f3a9..00000000000
Binary files a/pix/f/h5p-96.png and /dev/null differ
diff --git a/pix/f/h5p.png b/pix/f/h5p.png
deleted file mode 100644
index 1747be35e18..00000000000
Binary files a/pix/f/h5p.png and /dev/null differ
diff --git a/pix/f/h5p.svg b/pix/f/h5p.svg
new file mode 100644
index 00000000000..e48f3d860b0
--- /dev/null
+++ b/pix/f/h5p.svg
@@ -0,0 +1,5 @@
+
diff --git a/pix/f/help-32.png b/pix/f/help-32.png
deleted file mode 100644
index 727dcf8e8d5..00000000000
Binary files a/pix/f/help-32.png and /dev/null differ
diff --git a/pix/f/help.gif b/pix/f/help.gif
deleted file mode 100644
index cebcf1eb53e..00000000000
Binary files a/pix/f/help.gif and /dev/null differ
diff --git a/pix/f/html-128.png b/pix/f/html-128.png
deleted file mode 100644
index 5457436beae..00000000000
Binary files a/pix/f/html-128.png and /dev/null differ
diff --git a/pix/f/html-24.png b/pix/f/html-24.png
deleted file mode 100644
index 5d36c22271d..00000000000
Binary files a/pix/f/html-24.png and /dev/null differ
diff --git a/pix/f/html-256.png b/pix/f/html-256.png
deleted file mode 100644
index 76650f05f43..00000000000
Binary files a/pix/f/html-256.png and /dev/null differ
diff --git a/pix/f/html-32.png b/pix/f/html-32.png
deleted file mode 100644
index 965c0f1f2a9..00000000000
Binary files a/pix/f/html-32.png and /dev/null differ
diff --git a/pix/f/html-48.png b/pix/f/html-48.png
deleted file mode 100644
index e3b54d01e1d..00000000000
Binary files a/pix/f/html-48.png and /dev/null differ
diff --git a/pix/f/html-64.png b/pix/f/html-64.png
deleted file mode 100644
index 7f703bb834a..00000000000
Binary files a/pix/f/html-64.png and /dev/null differ
diff --git a/pix/f/html-72.png b/pix/f/html-72.png
deleted file mode 100644
index 3af53d21fbd..00000000000
Binary files a/pix/f/html-72.png and /dev/null differ
diff --git a/pix/f/html-80.png b/pix/f/html-80.png
deleted file mode 100644
index fc14698004a..00000000000
Binary files a/pix/f/html-80.png and /dev/null differ
diff --git a/pix/f/html-96.png b/pix/f/html-96.png
deleted file mode 100644
index 694995a9b4c..00000000000
Binary files a/pix/f/html-96.png and /dev/null differ
diff --git a/pix/f/html.gif b/pix/f/html.gif
deleted file mode 100644
index 745ef3462c7..00000000000
Binary files a/pix/f/html.gif and /dev/null differ
diff --git a/pix/f/image-128.png b/pix/f/image-128.png
deleted file mode 100644
index 57c4452df51..00000000000
Binary files a/pix/f/image-128.png and /dev/null differ
diff --git a/pix/f/image-24.png b/pix/f/image-24.png
deleted file mode 100644
index 52d7060dc9b..00000000000
Binary files a/pix/f/image-24.png and /dev/null differ
diff --git a/pix/f/image-256.png b/pix/f/image-256.png
deleted file mode 100644
index 89ef9c11064..00000000000
Binary files a/pix/f/image-256.png and /dev/null differ
diff --git a/pix/f/image-32.png b/pix/f/image-32.png
deleted file mode 100644
index 76ca96f4b08..00000000000
Binary files a/pix/f/image-32.png and /dev/null differ
diff --git a/pix/f/image-48.png b/pix/f/image-48.png
deleted file mode 100644
index 9d9f9ed79b7..00000000000
Binary files a/pix/f/image-48.png and /dev/null differ
diff --git a/pix/f/image-64.png b/pix/f/image-64.png
deleted file mode 100644
index 2d8f9e4fadb..00000000000
Binary files a/pix/f/image-64.png and /dev/null differ
diff --git a/pix/f/image-72.png b/pix/f/image-72.png
deleted file mode 100644
index 58cb1319714..00000000000
Binary files a/pix/f/image-72.png and /dev/null differ
diff --git a/pix/f/image-80.png b/pix/f/image-80.png
deleted file mode 100644
index 79e3da81e2b..00000000000
Binary files a/pix/f/image-80.png and /dev/null differ
diff --git a/pix/f/image-96.png b/pix/f/image-96.png
deleted file mode 100644
index 286e639f92b..00000000000
Binary files a/pix/f/image-96.png and /dev/null differ
diff --git a/pix/f/image.png b/pix/f/image.png
deleted file mode 100644
index c082abd9a45..00000000000
Binary files a/pix/f/image.png and /dev/null differ
diff --git a/pix/f/image.svg b/pix/f/image.svg
new file mode 100644
index 00000000000..a0cf46af1db
--- /dev/null
+++ b/pix/f/image.svg
@@ -0,0 +1,5 @@
+
diff --git a/pix/f/impress-128.png b/pix/f/impress-128.png
deleted file mode 100644
index a194fe6eb55..00000000000
Binary files a/pix/f/impress-128.png and /dev/null differ
diff --git a/pix/f/impress-24.png b/pix/f/impress-24.png
deleted file mode 100644
index 8b9723919d9..00000000000
Binary files a/pix/f/impress-24.png and /dev/null differ
diff --git a/pix/f/impress-32.png b/pix/f/impress-32.png
deleted file mode 100644
index 8b1672199db..00000000000
Binary files a/pix/f/impress-32.png and /dev/null differ
diff --git a/pix/f/impress-48.png b/pix/f/impress-48.png
deleted file mode 100644
index a01d8fabd90..00000000000
Binary files a/pix/f/impress-48.png and /dev/null differ
diff --git a/pix/f/impress-64.png b/pix/f/impress-64.png
deleted file mode 100644
index c279c62ef37..00000000000
Binary files a/pix/f/impress-64.png and /dev/null differ
diff --git a/pix/f/impress-72.png b/pix/f/impress-72.png
deleted file mode 100644
index 0ed11f9bce6..00000000000
Binary files a/pix/f/impress-72.png and /dev/null differ
diff --git a/pix/f/impress-80.png b/pix/f/impress-80.png
deleted file mode 100644
index b7411a4072f..00000000000
Binary files a/pix/f/impress-80.png and /dev/null differ
diff --git a/pix/f/impress-96.png b/pix/f/impress-96.png
deleted file mode 100644
index 33d0f168c8f..00000000000
Binary files a/pix/f/impress-96.png and /dev/null differ
diff --git a/pix/f/impress.png b/pix/f/impress.png
deleted file mode 100644
index 4a934a776bb..00000000000
Binary files a/pix/f/impress.png and /dev/null differ
diff --git a/pix/f/impress.svg b/pix/f/impress.svg
new file mode 100644
index 00000000000..54ab3d736dc
--- /dev/null
+++ b/pix/f/impress.svg
@@ -0,0 +1,7 @@
+
diff --git a/pix/f/isf-128.png b/pix/f/isf-128.png
deleted file mode 100644
index 7de24ae5b94..00000000000
Binary files a/pix/f/isf-128.png and /dev/null differ
diff --git a/pix/f/isf-24.png b/pix/f/isf-24.png
deleted file mode 100644
index 30466983fe9..00000000000
Binary files a/pix/f/isf-24.png and /dev/null differ
diff --git a/pix/f/isf-256.png b/pix/f/isf-256.png
deleted file mode 100644
index 7cae4ec9355..00000000000
Binary files a/pix/f/isf-256.png and /dev/null differ
diff --git a/pix/f/isf-32.png b/pix/f/isf-32.png
deleted file mode 100644
index edac9a7add2..00000000000
Binary files a/pix/f/isf-32.png and /dev/null differ
diff --git a/pix/f/isf-48.png b/pix/f/isf-48.png
deleted file mode 100644
index 3975c678f42..00000000000
Binary files a/pix/f/isf-48.png and /dev/null differ
diff --git a/pix/f/isf-64.png b/pix/f/isf-64.png
deleted file mode 100644
index ad5a1886787..00000000000
Binary files a/pix/f/isf-64.png and /dev/null differ
diff --git a/pix/f/isf-72.png b/pix/f/isf-72.png
deleted file mode 100644
index 12b57f40cb9..00000000000
Binary files a/pix/f/isf-72.png and /dev/null differ
diff --git a/pix/f/isf-80.png b/pix/f/isf-80.png
deleted file mode 100644
index 6d2ce69e786..00000000000
Binary files a/pix/f/isf-80.png and /dev/null differ
diff --git a/pix/f/isf-96.png b/pix/f/isf-96.png
deleted file mode 100644
index 0a23c009069..00000000000
Binary files a/pix/f/isf-96.png and /dev/null differ
diff --git a/pix/f/isf.png b/pix/f/isf.png
deleted file mode 100644
index decce0aae9b..00000000000
Binary files a/pix/f/isf.png and /dev/null differ
diff --git a/pix/f/isf.svg b/pix/f/isf.svg
new file mode 100644
index 00000000000..c8890b7c085
--- /dev/null
+++ b/pix/f/isf.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/jpeg-128.png b/pix/f/jpeg-128.png
deleted file mode 100644
index 8c4c6732331..00000000000
Binary files a/pix/f/jpeg-128.png and /dev/null differ
diff --git a/pix/f/jpeg-24.png b/pix/f/jpeg-24.png
deleted file mode 100644
index 03e2302aa72..00000000000
Binary files a/pix/f/jpeg-24.png and /dev/null differ
diff --git a/pix/f/jpeg-256.png b/pix/f/jpeg-256.png
deleted file mode 100644
index 1647b15aa9c..00000000000
Binary files a/pix/f/jpeg-256.png and /dev/null differ
diff --git a/pix/f/jpeg-32.png b/pix/f/jpeg-32.png
deleted file mode 100644
index f3a3917f6ee..00000000000
Binary files a/pix/f/jpeg-32.png and /dev/null differ
diff --git a/pix/f/jpeg-48.png b/pix/f/jpeg-48.png
deleted file mode 100644
index 152bdab285f..00000000000
Binary files a/pix/f/jpeg-48.png and /dev/null differ
diff --git a/pix/f/jpeg-64.png b/pix/f/jpeg-64.png
deleted file mode 100644
index b4fc0c998aa..00000000000
Binary files a/pix/f/jpeg-64.png and /dev/null differ
diff --git a/pix/f/jpeg-72.png b/pix/f/jpeg-72.png
deleted file mode 100644
index c355c4c14a5..00000000000
Binary files a/pix/f/jpeg-72.png and /dev/null differ
diff --git a/pix/f/jpeg-80.png b/pix/f/jpeg-80.png
deleted file mode 100644
index f23d535ffb7..00000000000
Binary files a/pix/f/jpeg-80.png and /dev/null differ
diff --git a/pix/f/jpeg-96.png b/pix/f/jpeg-96.png
deleted file mode 100644
index d2361ee9fbd..00000000000
Binary files a/pix/f/jpeg-96.png and /dev/null differ
diff --git a/pix/f/jpeg.png b/pix/f/jpeg.png
deleted file mode 100644
index c082abd9a45..00000000000
Binary files a/pix/f/jpeg.png and /dev/null differ
diff --git a/pix/f/markup-128.png b/pix/f/markup-128.png
deleted file mode 100644
index 9c7f84fd1e9..00000000000
Binary files a/pix/f/markup-128.png and /dev/null differ
diff --git a/pix/f/markup-24.png b/pix/f/markup-24.png
deleted file mode 100644
index 350b1d5ef23..00000000000
Binary files a/pix/f/markup-24.png and /dev/null differ
diff --git a/pix/f/markup-256.png b/pix/f/markup-256.png
deleted file mode 100644
index 697975d0bb3..00000000000
Binary files a/pix/f/markup-256.png and /dev/null differ
diff --git a/pix/f/markup-32.png b/pix/f/markup-32.png
deleted file mode 100644
index 228dc213cd0..00000000000
Binary files a/pix/f/markup-32.png and /dev/null differ
diff --git a/pix/f/markup-48.png b/pix/f/markup-48.png
deleted file mode 100644
index da0061e0276..00000000000
Binary files a/pix/f/markup-48.png and /dev/null differ
diff --git a/pix/f/markup-64.png b/pix/f/markup-64.png
deleted file mode 100644
index b890727137a..00000000000
Binary files a/pix/f/markup-64.png and /dev/null differ
diff --git a/pix/f/markup-72.png b/pix/f/markup-72.png
deleted file mode 100644
index 123ea7ed19b..00000000000
Binary files a/pix/f/markup-72.png and /dev/null differ
diff --git a/pix/f/markup-80.png b/pix/f/markup-80.png
deleted file mode 100644
index d9528941b1f..00000000000
Binary files a/pix/f/markup-80.png and /dev/null differ
diff --git a/pix/f/markup-96.png b/pix/f/markup-96.png
deleted file mode 100644
index 58233d0e818..00000000000
Binary files a/pix/f/markup-96.png and /dev/null differ
diff --git a/pix/f/markup.png b/pix/f/markup.png
deleted file mode 100644
index 27997e99b30..00000000000
Binary files a/pix/f/markup.png and /dev/null differ
diff --git a/pix/f/markup.svg b/pix/f/markup.svg
new file mode 100644
index 00000000000..c9c7af55505
--- /dev/null
+++ b/pix/f/markup.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/math-128.png b/pix/f/math-128.png
deleted file mode 100644
index cc996db5af7..00000000000
Binary files a/pix/f/math-128.png and /dev/null differ
diff --git a/pix/f/math-24.png b/pix/f/math-24.png
deleted file mode 100644
index 70509ac82f6..00000000000
Binary files a/pix/f/math-24.png and /dev/null differ
diff --git a/pix/f/math-32.png b/pix/f/math-32.png
deleted file mode 100644
index 391f6c9bd0b..00000000000
Binary files a/pix/f/math-32.png and /dev/null differ
diff --git a/pix/f/math-48.png b/pix/f/math-48.png
deleted file mode 100644
index 9ae7e5d0294..00000000000
Binary files a/pix/f/math-48.png and /dev/null differ
diff --git a/pix/f/math-64.png b/pix/f/math-64.png
deleted file mode 100644
index d98beea61e6..00000000000
Binary files a/pix/f/math-64.png and /dev/null differ
diff --git a/pix/f/math-72.png b/pix/f/math-72.png
deleted file mode 100644
index d7cce2ce093..00000000000
Binary files a/pix/f/math-72.png and /dev/null differ
diff --git a/pix/f/math-80.png b/pix/f/math-80.png
deleted file mode 100644
index b50e62bf03f..00000000000
Binary files a/pix/f/math-80.png and /dev/null differ
diff --git a/pix/f/math-96.png b/pix/f/math-96.png
deleted file mode 100644
index 8637742148d..00000000000
Binary files a/pix/f/math-96.png and /dev/null differ
diff --git a/pix/f/math.png b/pix/f/math.png
deleted file mode 100644
index 67484ee06d3..00000000000
Binary files a/pix/f/math.png and /dev/null differ
diff --git a/pix/f/math.svg b/pix/f/math.svg
new file mode 100644
index 00000000000..1a095930181
--- /dev/null
+++ b/pix/f/math.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/moodle-128.png b/pix/f/moodle-128.png
deleted file mode 100644
index fb0ed6476f9..00000000000
Binary files a/pix/f/moodle-128.png and /dev/null differ
diff --git a/pix/f/moodle-24.png b/pix/f/moodle-24.png
deleted file mode 100644
index e9822356773..00000000000
Binary files a/pix/f/moodle-24.png and /dev/null differ
diff --git a/pix/f/moodle-256.png b/pix/f/moodle-256.png
deleted file mode 100644
index 8d17bd42f88..00000000000
Binary files a/pix/f/moodle-256.png and /dev/null differ
diff --git a/pix/f/moodle-32.png b/pix/f/moodle-32.png
deleted file mode 100644
index 23d7c321009..00000000000
Binary files a/pix/f/moodle-32.png and /dev/null differ
diff --git a/pix/f/moodle-48.png b/pix/f/moodle-48.png
deleted file mode 100644
index 3e74dc59a16..00000000000
Binary files a/pix/f/moodle-48.png and /dev/null differ
diff --git a/pix/f/moodle-64.png b/pix/f/moodle-64.png
deleted file mode 100644
index 44ad3a37d35..00000000000
Binary files a/pix/f/moodle-64.png and /dev/null differ
diff --git a/pix/f/moodle-72.png b/pix/f/moodle-72.png
deleted file mode 100644
index 2d20ecb5543..00000000000
Binary files a/pix/f/moodle-72.png and /dev/null differ
diff --git a/pix/f/moodle-80.png b/pix/f/moodle-80.png
deleted file mode 100644
index 7007250a206..00000000000
Binary files a/pix/f/moodle-80.png and /dev/null differ
diff --git a/pix/f/moodle-96.png b/pix/f/moodle-96.png
deleted file mode 100644
index 5e679451c19..00000000000
Binary files a/pix/f/moodle-96.png and /dev/null differ
diff --git a/pix/f/moodle.png b/pix/f/moodle.png
deleted file mode 100644
index 7c203259ee9..00000000000
Binary files a/pix/f/moodle.png and /dev/null differ
diff --git a/pix/f/moodle.svg b/pix/f/moodle.svg
new file mode 100644
index 00000000000..b6d7827ff4a
--- /dev/null
+++ b/pix/f/moodle.svg
@@ -0,0 +1,4 @@
+
diff --git a/pix/f/mov.png b/pix/f/mov.png
deleted file mode 100644
index 193da660447..00000000000
Binary files a/pix/f/mov.png and /dev/null differ
diff --git a/pix/f/move.gif b/pix/f/move.gif
deleted file mode 100644
index 64ad652d4ea..00000000000
Binary files a/pix/f/move.gif and /dev/null differ
diff --git a/pix/f/mp3-128.png b/pix/f/mp3-128.png
deleted file mode 100644
index aeccb141997..00000000000
Binary files a/pix/f/mp3-128.png and /dev/null differ
diff --git a/pix/f/mp3-24.png b/pix/f/mp3-24.png
deleted file mode 100644
index 83ce89b9c1b..00000000000
Binary files a/pix/f/mp3-24.png and /dev/null differ
diff --git a/pix/f/mp3-256.png b/pix/f/mp3-256.png
deleted file mode 100644
index 8664a8e578f..00000000000
Binary files a/pix/f/mp3-256.png and /dev/null differ
diff --git a/pix/f/mp3-32.png b/pix/f/mp3-32.png
deleted file mode 100644
index 00bb137e5bd..00000000000
Binary files a/pix/f/mp3-32.png and /dev/null differ
diff --git a/pix/f/mp3-48.png b/pix/f/mp3-48.png
deleted file mode 100644
index 852577beabd..00000000000
Binary files a/pix/f/mp3-48.png and /dev/null differ
diff --git a/pix/f/mp3-64.png b/pix/f/mp3-64.png
deleted file mode 100644
index 13b8da0b8d9..00000000000
Binary files a/pix/f/mp3-64.png and /dev/null differ
diff --git a/pix/f/mp3-72.png b/pix/f/mp3-72.png
deleted file mode 100644
index 1359fdb4b28..00000000000
Binary files a/pix/f/mp3-72.png and /dev/null differ
diff --git a/pix/f/mp3-80.png b/pix/f/mp3-80.png
deleted file mode 100644
index 12d2a99655c..00000000000
Binary files a/pix/f/mp3-80.png and /dev/null differ
diff --git a/pix/f/mp3-96.png b/pix/f/mp3-96.png
deleted file mode 100644
index 51f04e69a58..00000000000
Binary files a/pix/f/mp3-96.png and /dev/null differ
diff --git a/pix/f/mp3.png b/pix/f/mp3.png
deleted file mode 100644
index eba0953aea4..00000000000
Binary files a/pix/f/mp3.png and /dev/null differ
diff --git a/pix/f/mpeg-128.png b/pix/f/mpeg-128.png
deleted file mode 100644
index 98325e19a2f..00000000000
Binary files a/pix/f/mpeg-128.png and /dev/null differ
diff --git a/pix/f/mpeg-24.png b/pix/f/mpeg-24.png
deleted file mode 100644
index 6047ef21998..00000000000
Binary files a/pix/f/mpeg-24.png and /dev/null differ
diff --git a/pix/f/mpeg-256.png b/pix/f/mpeg-256.png
deleted file mode 100644
index a8eccb2148a..00000000000
Binary files a/pix/f/mpeg-256.png and /dev/null differ
diff --git a/pix/f/mpeg-32.png b/pix/f/mpeg-32.png
deleted file mode 100644
index 76523f6a8af..00000000000
Binary files a/pix/f/mpeg-32.png and /dev/null differ
diff --git a/pix/f/mpeg-48.png b/pix/f/mpeg-48.png
deleted file mode 100644
index f2fba7021d1..00000000000
Binary files a/pix/f/mpeg-48.png and /dev/null differ
diff --git a/pix/f/mpeg-64.png b/pix/f/mpeg-64.png
deleted file mode 100644
index 05d77fa7bd6..00000000000
Binary files a/pix/f/mpeg-64.png and /dev/null differ
diff --git a/pix/f/mpeg-72.png b/pix/f/mpeg-72.png
deleted file mode 100644
index 0e77df72041..00000000000
Binary files a/pix/f/mpeg-72.png and /dev/null differ
diff --git a/pix/f/mpeg-80.png b/pix/f/mpeg-80.png
deleted file mode 100644
index a7bc99d679c..00000000000
Binary files a/pix/f/mpeg-80.png and /dev/null differ
diff --git a/pix/f/mpeg-96.png b/pix/f/mpeg-96.png
deleted file mode 100644
index 067672a2791..00000000000
Binary files a/pix/f/mpeg-96.png and /dev/null differ
diff --git a/pix/f/mpeg.png b/pix/f/mpeg.png
deleted file mode 100644
index 5a607b6acf9..00000000000
Binary files a/pix/f/mpeg.png and /dev/null differ
diff --git a/pix/f/oth-128.png b/pix/f/oth-128.png
deleted file mode 100644
index a860a33cccc..00000000000
Binary files a/pix/f/oth-128.png and /dev/null differ
diff --git a/pix/f/oth-24.png b/pix/f/oth-24.png
deleted file mode 100644
index 97fa3eeebaa..00000000000
Binary files a/pix/f/oth-24.png and /dev/null differ
diff --git a/pix/f/oth-32.png b/pix/f/oth-32.png
deleted file mode 100644
index 59bb26653a3..00000000000
Binary files a/pix/f/oth-32.png and /dev/null differ
diff --git a/pix/f/oth-48.png b/pix/f/oth-48.png
deleted file mode 100644
index 08a26fab3f7..00000000000
Binary files a/pix/f/oth-48.png and /dev/null differ
diff --git a/pix/f/oth-64.png b/pix/f/oth-64.png
deleted file mode 100644
index 8ffa8b46613..00000000000
Binary files a/pix/f/oth-64.png and /dev/null differ
diff --git a/pix/f/oth-72.png b/pix/f/oth-72.png
deleted file mode 100644
index 0f373118494..00000000000
Binary files a/pix/f/oth-72.png and /dev/null differ
diff --git a/pix/f/oth-80.png b/pix/f/oth-80.png
deleted file mode 100644
index 5b47a889e56..00000000000
Binary files a/pix/f/oth-80.png and /dev/null differ
diff --git a/pix/f/oth-96.png b/pix/f/oth-96.png
deleted file mode 100644
index bf645f619a1..00000000000
Binary files a/pix/f/oth-96.png and /dev/null differ
diff --git a/pix/f/oth.png b/pix/f/oth.png
deleted file mode 100644
index 8fc42ec9904..00000000000
Binary files a/pix/f/oth.png and /dev/null differ
diff --git a/pix/f/oth.svg b/pix/f/oth.svg
new file mode 100644
index 00000000000..479b53b470a
--- /dev/null
+++ b/pix/f/oth.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/parent-32.png b/pix/f/parent-32.png
deleted file mode 100644
index 6c4e4112d8f..00000000000
Binary files a/pix/f/parent-32.png and /dev/null differ
diff --git a/pix/f/parent.gif b/pix/f/parent.gif
deleted file mode 100644
index 788916a942e..00000000000
Binary files a/pix/f/parent.gif and /dev/null differ
diff --git a/pix/f/pdf-128.png b/pix/f/pdf-128.png
deleted file mode 100644
index 9cbda74cb90..00000000000
Binary files a/pix/f/pdf-128.png and /dev/null differ
diff --git a/pix/f/pdf-24.png b/pix/f/pdf-24.png
deleted file mode 100644
index cb98c99a869..00000000000
Binary files a/pix/f/pdf-24.png and /dev/null differ
diff --git a/pix/f/pdf-256.png b/pix/f/pdf-256.png
deleted file mode 100644
index 3b6d751ef96..00000000000
Binary files a/pix/f/pdf-256.png and /dev/null differ
diff --git a/pix/f/pdf-32.png b/pix/f/pdf-32.png
deleted file mode 100644
index 4baff80cff9..00000000000
Binary files a/pix/f/pdf-32.png and /dev/null differ
diff --git a/pix/f/pdf-48.png b/pix/f/pdf-48.png
deleted file mode 100644
index 84780237191..00000000000
Binary files a/pix/f/pdf-48.png and /dev/null differ
diff --git a/pix/f/pdf-64.png b/pix/f/pdf-64.png
deleted file mode 100644
index b7cdae7e955..00000000000
Binary files a/pix/f/pdf-64.png and /dev/null differ
diff --git a/pix/f/pdf-72.png b/pix/f/pdf-72.png
deleted file mode 100644
index 82f75f26736..00000000000
Binary files a/pix/f/pdf-72.png and /dev/null differ
diff --git a/pix/f/pdf-80.png b/pix/f/pdf-80.png
deleted file mode 100644
index dcd483aef96..00000000000
Binary files a/pix/f/pdf-80.png and /dev/null differ
diff --git a/pix/f/pdf-96.png b/pix/f/pdf-96.png
deleted file mode 100644
index 82ea713b389..00000000000
Binary files a/pix/f/pdf-96.png and /dev/null differ
diff --git a/pix/f/pdf.png b/pix/f/pdf.png
deleted file mode 100644
index c001d1a7f63..00000000000
Binary files a/pix/f/pdf.png and /dev/null differ
diff --git a/pix/f/pdf.svg b/pix/f/pdf.svg
new file mode 100644
index 00000000000..e8e89d0a2f6
--- /dev/null
+++ b/pix/f/pdf.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/png-128.png b/pix/f/png-128.png
deleted file mode 100644
index 0bef828b051..00000000000
Binary files a/pix/f/png-128.png and /dev/null differ
diff --git a/pix/f/png-24.png b/pix/f/png-24.png
deleted file mode 100644
index 33b4acac4a2..00000000000
Binary files a/pix/f/png-24.png and /dev/null differ
diff --git a/pix/f/png-256.png b/pix/f/png-256.png
deleted file mode 100644
index 5571f5b4ded..00000000000
Binary files a/pix/f/png-256.png and /dev/null differ
diff --git a/pix/f/png-32.png b/pix/f/png-32.png
deleted file mode 100644
index 11643e0d0e8..00000000000
Binary files a/pix/f/png-32.png and /dev/null differ
diff --git a/pix/f/png-48.png b/pix/f/png-48.png
deleted file mode 100644
index 65c69484191..00000000000
Binary files a/pix/f/png-48.png and /dev/null differ
diff --git a/pix/f/png-64.png b/pix/f/png-64.png
deleted file mode 100644
index 3ecf3e5df73..00000000000
Binary files a/pix/f/png-64.png and /dev/null differ
diff --git a/pix/f/png-72.png b/pix/f/png-72.png
deleted file mode 100644
index 5f306a0251e..00000000000
Binary files a/pix/f/png-72.png and /dev/null differ
diff --git a/pix/f/png-80.png b/pix/f/png-80.png
deleted file mode 100644
index e559495d41e..00000000000
Binary files a/pix/f/png-80.png and /dev/null differ
diff --git a/pix/f/png-96.png b/pix/f/png-96.png
deleted file mode 100644
index 81e2d7c35ed..00000000000
Binary files a/pix/f/png-96.png and /dev/null differ
diff --git a/pix/f/png.png b/pix/f/png.png
deleted file mode 100644
index c082abd9a45..00000000000
Binary files a/pix/f/png.png and /dev/null differ
diff --git a/pix/f/powerpoint-128.png b/pix/f/powerpoint-128.png
deleted file mode 100644
index b19a2a37297..00000000000
Binary files a/pix/f/powerpoint-128.png and /dev/null differ
diff --git a/pix/f/powerpoint-24.png b/pix/f/powerpoint-24.png
deleted file mode 100644
index d8a83078063..00000000000
Binary files a/pix/f/powerpoint-24.png and /dev/null differ
diff --git a/pix/f/powerpoint-256.png b/pix/f/powerpoint-256.png
deleted file mode 100644
index b3e45ab17ae..00000000000
Binary files a/pix/f/powerpoint-256.png and /dev/null differ
diff --git a/pix/f/powerpoint-32.png b/pix/f/powerpoint-32.png
deleted file mode 100644
index 9fccb4d3676..00000000000
Binary files a/pix/f/powerpoint-32.png and /dev/null differ
diff --git a/pix/f/powerpoint-48.png b/pix/f/powerpoint-48.png
deleted file mode 100644
index fa65c87549a..00000000000
Binary files a/pix/f/powerpoint-48.png and /dev/null differ
diff --git a/pix/f/powerpoint-64.png b/pix/f/powerpoint-64.png
deleted file mode 100644
index 4d44c7d2b29..00000000000
Binary files a/pix/f/powerpoint-64.png and /dev/null differ
diff --git a/pix/f/powerpoint-72.png b/pix/f/powerpoint-72.png
deleted file mode 100644
index 66dd0636819..00000000000
Binary files a/pix/f/powerpoint-72.png and /dev/null differ
diff --git a/pix/f/powerpoint-80.png b/pix/f/powerpoint-80.png
deleted file mode 100644
index 1dc07e28fdb..00000000000
Binary files a/pix/f/powerpoint-80.png and /dev/null differ
diff --git a/pix/f/powerpoint-96.png b/pix/f/powerpoint-96.png
deleted file mode 100644
index 3e32d4ba55e..00000000000
Binary files a/pix/f/powerpoint-96.png and /dev/null differ
diff --git a/pix/f/powerpoint.png b/pix/f/powerpoint.png
deleted file mode 100644
index d0ba3f3a224..00000000000
Binary files a/pix/f/powerpoint.png and /dev/null differ
diff --git a/pix/f/powerpoint.svg b/pix/f/powerpoint.svg
new file mode 100644
index 00000000000..ceafd1fb066
--- /dev/null
+++ b/pix/f/powerpoint.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/psd-128.png b/pix/f/psd-128.png
deleted file mode 100644
index e35a944c19f..00000000000
Binary files a/pix/f/psd-128.png and /dev/null differ
diff --git a/pix/f/psd-24.png b/pix/f/psd-24.png
deleted file mode 100644
index 3433fbc8470..00000000000
Binary files a/pix/f/psd-24.png and /dev/null differ
diff --git a/pix/f/psd-256.png b/pix/f/psd-256.png
deleted file mode 100644
index 9e6a0df747c..00000000000
Binary files a/pix/f/psd-256.png and /dev/null differ
diff --git a/pix/f/psd-32.png b/pix/f/psd-32.png
deleted file mode 100644
index 79c95c4fa60..00000000000
Binary files a/pix/f/psd-32.png and /dev/null differ
diff --git a/pix/f/psd-48.png b/pix/f/psd-48.png
deleted file mode 100644
index 270eff95fcf..00000000000
Binary files a/pix/f/psd-48.png and /dev/null differ
diff --git a/pix/f/psd-64.png b/pix/f/psd-64.png
deleted file mode 100644
index 0b800dffae3..00000000000
Binary files a/pix/f/psd-64.png and /dev/null differ
diff --git a/pix/f/psd-72.png b/pix/f/psd-72.png
deleted file mode 100644
index 107706e9f9a..00000000000
Binary files a/pix/f/psd-72.png and /dev/null differ
diff --git a/pix/f/psd-80.png b/pix/f/psd-80.png
deleted file mode 100644
index 5553e06e2cf..00000000000
Binary files a/pix/f/psd-80.png and /dev/null differ
diff --git a/pix/f/psd-96.png b/pix/f/psd-96.png
deleted file mode 100644
index 28b0c225437..00000000000
Binary files a/pix/f/psd-96.png and /dev/null differ
diff --git a/pix/f/psd.png b/pix/f/psd.png
deleted file mode 100644
index 12c736770f6..00000000000
Binary files a/pix/f/psd.png and /dev/null differ
diff --git a/pix/f/psd.svg b/pix/f/psd.svg
new file mode 100644
index 00000000000..5b58aba3f3a
--- /dev/null
+++ b/pix/f/psd.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/publisher-128.png b/pix/f/publisher-128.png
deleted file mode 100644
index 63655067953..00000000000
Binary files a/pix/f/publisher-128.png and /dev/null differ
diff --git a/pix/f/publisher-24.png b/pix/f/publisher-24.png
deleted file mode 100644
index 8a51d4701b9..00000000000
Binary files a/pix/f/publisher-24.png and /dev/null differ
diff --git a/pix/f/publisher-256.png b/pix/f/publisher-256.png
deleted file mode 100644
index 6c2c4546840..00000000000
Binary files a/pix/f/publisher-256.png and /dev/null differ
diff --git a/pix/f/publisher-32.png b/pix/f/publisher-32.png
deleted file mode 100644
index 0b332f9ed4c..00000000000
Binary files a/pix/f/publisher-32.png and /dev/null differ
diff --git a/pix/f/publisher-48.png b/pix/f/publisher-48.png
deleted file mode 100644
index 8bc3ad07aa9..00000000000
Binary files a/pix/f/publisher-48.png and /dev/null differ
diff --git a/pix/f/publisher-64.png b/pix/f/publisher-64.png
deleted file mode 100644
index 9633ef3dd0c..00000000000
Binary files a/pix/f/publisher-64.png and /dev/null differ
diff --git a/pix/f/publisher-72.png b/pix/f/publisher-72.png
deleted file mode 100644
index 64c63752fa5..00000000000
Binary files a/pix/f/publisher-72.png and /dev/null differ
diff --git a/pix/f/publisher-80.png b/pix/f/publisher-80.png
deleted file mode 100644
index 997a3bfb0a5..00000000000
Binary files a/pix/f/publisher-80.png and /dev/null differ
diff --git a/pix/f/publisher-96.png b/pix/f/publisher-96.png
deleted file mode 100644
index 178eb8ef851..00000000000
Binary files a/pix/f/publisher-96.png and /dev/null differ
diff --git a/pix/f/publisher.png b/pix/f/publisher.png
deleted file mode 100644
index 2113d3ec72c..00000000000
Binary files a/pix/f/publisher.png and /dev/null differ
diff --git a/pix/f/publisher.svg b/pix/f/publisher.svg
new file mode 100644
index 00000000000..a1b2cc4be2c
--- /dev/null
+++ b/pix/f/publisher.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/quicktime-128.png b/pix/f/quicktime-128.png
deleted file mode 100644
index d679a161113..00000000000
Binary files a/pix/f/quicktime-128.png and /dev/null differ
diff --git a/pix/f/quicktime-24.png b/pix/f/quicktime-24.png
deleted file mode 100644
index 4a56a967678..00000000000
Binary files a/pix/f/quicktime-24.png and /dev/null differ
diff --git a/pix/f/quicktime-256.png b/pix/f/quicktime-256.png
deleted file mode 100644
index b0c50565686..00000000000
Binary files a/pix/f/quicktime-256.png and /dev/null differ
diff --git a/pix/f/quicktime-32.png b/pix/f/quicktime-32.png
deleted file mode 100644
index 7396cb69431..00000000000
Binary files a/pix/f/quicktime-32.png and /dev/null differ
diff --git a/pix/f/quicktime-48.png b/pix/f/quicktime-48.png
deleted file mode 100644
index 62e6ec0cb6f..00000000000
Binary files a/pix/f/quicktime-48.png and /dev/null differ
diff --git a/pix/f/quicktime-64.png b/pix/f/quicktime-64.png
deleted file mode 100644
index 90f2fbc0d1b..00000000000
Binary files a/pix/f/quicktime-64.png and /dev/null differ
diff --git a/pix/f/quicktime-72.png b/pix/f/quicktime-72.png
deleted file mode 100644
index 30815c0bc4c..00000000000
Binary files a/pix/f/quicktime-72.png and /dev/null differ
diff --git a/pix/f/quicktime-80.png b/pix/f/quicktime-80.png
deleted file mode 100644
index 8905e5be7b1..00000000000
Binary files a/pix/f/quicktime-80.png and /dev/null differ
diff --git a/pix/f/quicktime-96.png b/pix/f/quicktime-96.png
deleted file mode 100644
index b937ebdaa32..00000000000
Binary files a/pix/f/quicktime-96.png and /dev/null differ
diff --git a/pix/f/quicktime.png b/pix/f/quicktime.png
deleted file mode 100644
index 193da660447..00000000000
Binary files a/pix/f/quicktime.png and /dev/null differ
diff --git a/pix/f/sourcecode-128.png b/pix/f/sourcecode-128.png
deleted file mode 100644
index 909391657fc..00000000000
Binary files a/pix/f/sourcecode-128.png and /dev/null differ
diff --git a/pix/f/sourcecode-24.png b/pix/f/sourcecode-24.png
deleted file mode 100644
index 5c886348020..00000000000
Binary files a/pix/f/sourcecode-24.png and /dev/null differ
diff --git a/pix/f/sourcecode-256.png b/pix/f/sourcecode-256.png
deleted file mode 100644
index 4a3c14add7e..00000000000
Binary files a/pix/f/sourcecode-256.png and /dev/null differ
diff --git a/pix/f/sourcecode-32.png b/pix/f/sourcecode-32.png
deleted file mode 100644
index e787c2233fb..00000000000
Binary files a/pix/f/sourcecode-32.png and /dev/null differ
diff --git a/pix/f/sourcecode-48.png b/pix/f/sourcecode-48.png
deleted file mode 100644
index ac94f3272bf..00000000000
Binary files a/pix/f/sourcecode-48.png and /dev/null differ
diff --git a/pix/f/sourcecode-64.png b/pix/f/sourcecode-64.png
deleted file mode 100644
index ad25537e470..00000000000
Binary files a/pix/f/sourcecode-64.png and /dev/null differ
diff --git a/pix/f/sourcecode-72.png b/pix/f/sourcecode-72.png
deleted file mode 100644
index baf1d974238..00000000000
Binary files a/pix/f/sourcecode-72.png and /dev/null differ
diff --git a/pix/f/sourcecode-80.png b/pix/f/sourcecode-80.png
deleted file mode 100644
index c1a5dc6fc29..00000000000
Binary files a/pix/f/sourcecode-80.png and /dev/null differ
diff --git a/pix/f/sourcecode-96.png b/pix/f/sourcecode-96.png
deleted file mode 100644
index 682275d75d1..00000000000
Binary files a/pix/f/sourcecode-96.png and /dev/null differ
diff --git a/pix/f/sourcecode.png b/pix/f/sourcecode.png
deleted file mode 100644
index 416f4d5a221..00000000000
Binary files a/pix/f/sourcecode.png and /dev/null differ
diff --git a/pix/f/sourcecode.svg b/pix/f/sourcecode.svg
new file mode 100644
index 00000000000..977d6773483
--- /dev/null
+++ b/pix/f/sourcecode.svg
@@ -0,0 +1,5 @@
+
diff --git a/pix/f/spreadsheet-128.png b/pix/f/spreadsheet-128.png
deleted file mode 100644
index eb497ee9e36..00000000000
Binary files a/pix/f/spreadsheet-128.png and /dev/null differ
diff --git a/pix/f/spreadsheet-24.png b/pix/f/spreadsheet-24.png
deleted file mode 100644
index 23d94f272cb..00000000000
Binary files a/pix/f/spreadsheet-24.png and /dev/null differ
diff --git a/pix/f/spreadsheet-256.png b/pix/f/spreadsheet-256.png
deleted file mode 100644
index 540a501842b..00000000000
Binary files a/pix/f/spreadsheet-256.png and /dev/null differ
diff --git a/pix/f/spreadsheet-32.png b/pix/f/spreadsheet-32.png
deleted file mode 100644
index e5467bdfccd..00000000000
Binary files a/pix/f/spreadsheet-32.png and /dev/null differ
diff --git a/pix/f/spreadsheet-48.png b/pix/f/spreadsheet-48.png
deleted file mode 100644
index 4597f0411f8..00000000000
Binary files a/pix/f/spreadsheet-48.png and /dev/null differ
diff --git a/pix/f/spreadsheet-64.png b/pix/f/spreadsheet-64.png
deleted file mode 100644
index 00427c0e780..00000000000
Binary files a/pix/f/spreadsheet-64.png and /dev/null differ
diff --git a/pix/f/spreadsheet-72.png b/pix/f/spreadsheet-72.png
deleted file mode 100644
index 009e8b6149e..00000000000
Binary files a/pix/f/spreadsheet-72.png and /dev/null differ
diff --git a/pix/f/spreadsheet-80.png b/pix/f/spreadsheet-80.png
deleted file mode 100644
index 20a9899d1bd..00000000000
Binary files a/pix/f/spreadsheet-80.png and /dev/null differ
diff --git a/pix/f/spreadsheet-96.png b/pix/f/spreadsheet-96.png
deleted file mode 100644
index 3ea9347b275..00000000000
Binary files a/pix/f/spreadsheet-96.png and /dev/null differ
diff --git a/pix/f/spreadsheet.png b/pix/f/spreadsheet.png
deleted file mode 100644
index 17d76dada88..00000000000
Binary files a/pix/f/spreadsheet.png and /dev/null differ
diff --git a/pix/f/spreadsheet.svg b/pix/f/spreadsheet.svg
new file mode 100644
index 00000000000..518b94fa645
--- /dev/null
+++ b/pix/f/spreadsheet.svg
@@ -0,0 +1,6 @@
+
diff --git a/pix/f/text-128.png b/pix/f/text-128.png
deleted file mode 100644
index f349405a562..00000000000
Binary files a/pix/f/text-128.png and /dev/null differ
diff --git a/pix/f/text-24.png b/pix/f/text-24.png
deleted file mode 100644
index 9eb4b197ebe..00000000000
Binary files a/pix/f/text-24.png and /dev/null differ
diff --git a/pix/f/text-256.png b/pix/f/text-256.png
deleted file mode 100644
index 8706ff9169a..00000000000
Binary files a/pix/f/text-256.png and /dev/null differ
diff --git a/pix/f/text-32.png b/pix/f/text-32.png
deleted file mode 100644
index c4602256855..00000000000
Binary files a/pix/f/text-32.png and /dev/null differ
diff --git a/pix/f/text-48.png b/pix/f/text-48.png
deleted file mode 100644
index 06bc61bad30..00000000000
Binary files a/pix/f/text-48.png and /dev/null differ
diff --git a/pix/f/text-64.png b/pix/f/text-64.png
deleted file mode 100644
index 7b397cea5ab..00000000000
Binary files a/pix/f/text-64.png and /dev/null differ
diff --git a/pix/f/text-72.png b/pix/f/text-72.png
deleted file mode 100644
index 650a94bb23e..00000000000
Binary files a/pix/f/text-72.png and /dev/null differ
diff --git a/pix/f/text-80.png b/pix/f/text-80.png
deleted file mode 100644
index 53ce92dfa83..00000000000
Binary files a/pix/f/text-80.png and /dev/null differ
diff --git a/pix/f/text-96.png b/pix/f/text-96.png
deleted file mode 100644
index 017d37b1d68..00000000000
Binary files a/pix/f/text-96.png and /dev/null differ
diff --git a/pix/f/text.png b/pix/f/text.png
deleted file mode 100644
index efe9b67ce51..00000000000
Binary files a/pix/f/text.png and /dev/null differ
diff --git a/pix/f/text.svg b/pix/f/text.svg
new file mode 100644
index 00000000000..25f6e00aaea
--- /dev/null
+++ b/pix/f/text.svg
@@ -0,0 +1,7 @@
+
diff --git a/pix/f/tiff-128.png b/pix/f/tiff-128.png
deleted file mode 100644
index 3e0de1f4baf..00000000000
Binary files a/pix/f/tiff-128.png and /dev/null differ
diff --git a/pix/f/tiff-24.png b/pix/f/tiff-24.png
deleted file mode 100644
index dd17d28dd20..00000000000
Binary files a/pix/f/tiff-24.png and /dev/null differ
diff --git a/pix/f/tiff-256.png b/pix/f/tiff-256.png
deleted file mode 100644
index a0ccebd39c9..00000000000
Binary files a/pix/f/tiff-256.png and /dev/null differ
diff --git a/pix/f/tiff-32.png b/pix/f/tiff-32.png
deleted file mode 100644
index 0d870e7f3ea..00000000000
Binary files a/pix/f/tiff-32.png and /dev/null differ
diff --git a/pix/f/tiff-48.png b/pix/f/tiff-48.png
deleted file mode 100644
index 69db486fbb5..00000000000
Binary files a/pix/f/tiff-48.png and /dev/null differ
diff --git a/pix/f/tiff-64.png b/pix/f/tiff-64.png
deleted file mode 100644
index c11a85e28b7..00000000000
Binary files a/pix/f/tiff-64.png and /dev/null differ
diff --git a/pix/f/tiff-72.png b/pix/f/tiff-72.png
deleted file mode 100644
index 125b88a27dd..00000000000
Binary files a/pix/f/tiff-72.png and /dev/null differ
diff --git a/pix/f/tiff-80.png b/pix/f/tiff-80.png
deleted file mode 100644
index a09cdefa348..00000000000
Binary files a/pix/f/tiff-80.png and /dev/null differ
diff --git a/pix/f/tiff-96.png b/pix/f/tiff-96.png
deleted file mode 100644
index 8e524ba8342..00000000000
Binary files a/pix/f/tiff-96.png and /dev/null differ
diff --git a/pix/f/tiff.png b/pix/f/tiff.png
deleted file mode 100644
index c23599ed1c8..00000000000
Binary files a/pix/f/tiff.png and /dev/null differ
diff --git a/pix/f/unknown-128.png b/pix/f/unknown-128.png
deleted file mode 100644
index 5457436beae..00000000000
Binary files a/pix/f/unknown-128.png and /dev/null differ
diff --git a/pix/f/unknown-24.png b/pix/f/unknown-24.png
deleted file mode 100644
index 5d36c22271d..00000000000
Binary files a/pix/f/unknown-24.png and /dev/null differ
diff --git a/pix/f/unknown-256.png b/pix/f/unknown-256.png
deleted file mode 100644
index 76650f05f43..00000000000
Binary files a/pix/f/unknown-256.png and /dev/null differ
diff --git a/pix/f/unknown-32.png b/pix/f/unknown-32.png
deleted file mode 100644
index 965c0f1f2a9..00000000000
Binary files a/pix/f/unknown-32.png and /dev/null differ
diff --git a/pix/f/unknown-48.png b/pix/f/unknown-48.png
deleted file mode 100644
index e3b54d01e1d..00000000000
Binary files a/pix/f/unknown-48.png and /dev/null differ
diff --git a/pix/f/unknown-64.png b/pix/f/unknown-64.png
deleted file mode 100644
index 7f703bb834a..00000000000
Binary files a/pix/f/unknown-64.png and /dev/null differ
diff --git a/pix/f/unknown-72.png b/pix/f/unknown-72.png
deleted file mode 100644
index 3af53d21fbd..00000000000
Binary files a/pix/f/unknown-72.png and /dev/null differ
diff --git a/pix/f/unknown-80.png b/pix/f/unknown-80.png
deleted file mode 100644
index fc14698004a..00000000000
Binary files a/pix/f/unknown-80.png and /dev/null differ
diff --git a/pix/f/unknown-96.png b/pix/f/unknown-96.png
deleted file mode 100644
index 694995a9b4c..00000000000
Binary files a/pix/f/unknown-96.png and /dev/null differ
diff --git a/pix/f/unknown.png b/pix/f/unknown.png
deleted file mode 100644
index 178ebbda49a..00000000000
Binary files a/pix/f/unknown.png and /dev/null differ
diff --git a/pix/f/unknown.svg b/pix/f/unknown.svg
new file mode 100644
index 00000000000..f4850d8aea5
--- /dev/null
+++ b/pix/f/unknown.svg
@@ -0,0 +1,5 @@
+
diff --git a/pix/f/video-128.png b/pix/f/video-128.png
deleted file mode 100644
index d7743cfa4f6..00000000000
Binary files a/pix/f/video-128.png and /dev/null differ
diff --git a/pix/f/video-24.png b/pix/f/video-24.png
deleted file mode 100644
index 8ac140c8b24..00000000000
Binary files a/pix/f/video-24.png and /dev/null differ
diff --git a/pix/f/video-256.png b/pix/f/video-256.png
deleted file mode 100644
index dcdc045341a..00000000000
Binary files a/pix/f/video-256.png and /dev/null differ
diff --git a/pix/f/video-32.png b/pix/f/video-32.png
deleted file mode 100644
index 08cfb0745a5..00000000000
Binary files a/pix/f/video-32.png and /dev/null differ
diff --git a/pix/f/video-48.png b/pix/f/video-48.png
deleted file mode 100644
index d44053591de..00000000000
Binary files a/pix/f/video-48.png and /dev/null differ
diff --git a/pix/f/video-64.png b/pix/f/video-64.png
deleted file mode 100644
index 570c4b2b319..00000000000
Binary files a/pix/f/video-64.png and /dev/null differ
diff --git a/pix/f/video-72.png b/pix/f/video-72.png
deleted file mode 100644
index aa0a17b2358..00000000000
Binary files a/pix/f/video-72.png and /dev/null differ
diff --git a/pix/f/video-80.png b/pix/f/video-80.png
deleted file mode 100644
index 2b1244a8d07..00000000000
Binary files a/pix/f/video-80.png and /dev/null differ
diff --git a/pix/f/video-96.png b/pix/f/video-96.png
deleted file mode 100644
index 6b1a7042216..00000000000
Binary files a/pix/f/video-96.png and /dev/null differ
diff --git a/pix/f/video.png b/pix/f/video.png
deleted file mode 100644
index 01f33817ffd..00000000000
Binary files a/pix/f/video.png and /dev/null differ
diff --git a/pix/f/video.svg b/pix/f/video.svg
new file mode 100644
index 00000000000..e7fc65a90ba
--- /dev/null
+++ b/pix/f/video.svg
@@ -0,0 +1,5 @@
+
diff --git a/pix/f/wav-128.png b/pix/f/wav-128.png
deleted file mode 100644
index 6324c38a003..00000000000
Binary files a/pix/f/wav-128.png and /dev/null differ
diff --git a/pix/f/wav-24.png b/pix/f/wav-24.png
deleted file mode 100644
index b12df5d4cf9..00000000000
Binary files a/pix/f/wav-24.png and /dev/null differ
diff --git a/pix/f/wav-256.png b/pix/f/wav-256.png
deleted file mode 100644
index 0f62a25ac27..00000000000
Binary files a/pix/f/wav-256.png and /dev/null differ
diff --git a/pix/f/wav-32.png b/pix/f/wav-32.png
deleted file mode 100644
index b98efc3d29a..00000000000
Binary files a/pix/f/wav-32.png and /dev/null differ
diff --git a/pix/f/wav-48.png b/pix/f/wav-48.png
deleted file mode 100644
index f2f3c874da0..00000000000
Binary files a/pix/f/wav-48.png and /dev/null differ
diff --git a/pix/f/wav-64.png b/pix/f/wav-64.png
deleted file mode 100644
index 819781a9b56..00000000000
Binary files a/pix/f/wav-64.png and /dev/null differ
diff --git a/pix/f/wav-72.png b/pix/f/wav-72.png
deleted file mode 100644
index de49c7e5e6a..00000000000
Binary files a/pix/f/wav-72.png and /dev/null differ
diff --git a/pix/f/wav-80.png b/pix/f/wav-80.png
deleted file mode 100644
index 990f078cb85..00000000000
Binary files a/pix/f/wav-80.png and /dev/null differ
diff --git a/pix/f/wav-96.png b/pix/f/wav-96.png
deleted file mode 100644
index 34d1e14f336..00000000000
Binary files a/pix/f/wav-96.png and /dev/null differ
diff --git a/pix/f/wav.png b/pix/f/wav.png
deleted file mode 100644
index b7d47b7da3e..00000000000
Binary files a/pix/f/wav.png and /dev/null differ
diff --git a/pix/f/wmv-128.png b/pix/f/wmv-128.png
deleted file mode 100644
index d7743cfa4f6..00000000000
Binary files a/pix/f/wmv-128.png and /dev/null differ
diff --git a/pix/f/wmv-24.png b/pix/f/wmv-24.png
deleted file mode 100644
index 8ac140c8b24..00000000000
Binary files a/pix/f/wmv-24.png and /dev/null differ
diff --git a/pix/f/wmv-256.png b/pix/f/wmv-256.png
deleted file mode 100644
index dcdc045341a..00000000000
Binary files a/pix/f/wmv-256.png and /dev/null differ
diff --git a/pix/f/wmv-32.png b/pix/f/wmv-32.png
deleted file mode 100644
index 08cfb0745a5..00000000000
Binary files a/pix/f/wmv-32.png and /dev/null differ
diff --git a/pix/f/wmv-48.png b/pix/f/wmv-48.png
deleted file mode 100644
index d44053591de..00000000000
Binary files a/pix/f/wmv-48.png and /dev/null differ
diff --git a/pix/f/wmv-64.png b/pix/f/wmv-64.png
deleted file mode 100644
index 570c4b2b319..00000000000
Binary files a/pix/f/wmv-64.png and /dev/null differ
diff --git a/pix/f/wmv-72.png b/pix/f/wmv-72.png
deleted file mode 100644
index aa0a17b2358..00000000000
Binary files a/pix/f/wmv-72.png and /dev/null differ
diff --git a/pix/f/wmv-80.png b/pix/f/wmv-80.png
deleted file mode 100644
index 2b1244a8d07..00000000000
Binary files a/pix/f/wmv-80.png and /dev/null differ
diff --git a/pix/f/wmv-96.png b/pix/f/wmv-96.png
deleted file mode 100644
index 6b1a7042216..00000000000
Binary files a/pix/f/wmv-96.png and /dev/null differ
diff --git a/pix/f/wmv.png b/pix/f/wmv.png
deleted file mode 100644
index 01f33817ffd..00000000000
Binary files a/pix/f/wmv.png and /dev/null differ
diff --git a/pix/f/writer-128.png b/pix/f/writer-128.png
deleted file mode 100644
index 0280310dbf1..00000000000
Binary files a/pix/f/writer-128.png and /dev/null differ
diff --git a/pix/f/writer-24.png b/pix/f/writer-24.png
deleted file mode 100644
index eb8e7cf1a84..00000000000
Binary files a/pix/f/writer-24.png and /dev/null differ
diff --git a/pix/f/writer-32.png b/pix/f/writer-32.png
deleted file mode 100644
index 3bd1a15e882..00000000000
Binary files a/pix/f/writer-32.png and /dev/null differ
diff --git a/pix/f/writer-48.png b/pix/f/writer-48.png
deleted file mode 100644
index 55b17f024d6..00000000000
Binary files a/pix/f/writer-48.png and /dev/null differ
diff --git a/pix/f/writer-64.png b/pix/f/writer-64.png
deleted file mode 100644
index 6285b6ffafd..00000000000
Binary files a/pix/f/writer-64.png and /dev/null differ
diff --git a/pix/f/writer-72.png b/pix/f/writer-72.png
deleted file mode 100644
index ed8ed7205f9..00000000000
Binary files a/pix/f/writer-72.png and /dev/null differ
diff --git a/pix/f/writer-80.png b/pix/f/writer-80.png
deleted file mode 100644
index d9bc5b2d4c5..00000000000
Binary files a/pix/f/writer-80.png and /dev/null differ
diff --git a/pix/f/writer-96.png b/pix/f/writer-96.png
deleted file mode 100644
index 8bce76d5bc8..00000000000
Binary files a/pix/f/writer-96.png and /dev/null differ
diff --git a/pix/f/writer.png b/pix/f/writer.png
deleted file mode 100644
index e5d436291fa..00000000000
Binary files a/pix/f/writer.png and /dev/null differ
diff --git a/pix/f/writer.svg b/pix/f/writer.svg
new file mode 100644
index 00000000000..5e873cfac4a
--- /dev/null
+++ b/pix/f/writer.svg
@@ -0,0 +1,7 @@
+
diff --git a/repository/areafiles/lib.php b/repository/areafiles/lib.php
index ac3045aa86f..586f0f87096 100644
--- a/repository/areafiles/lib.php
+++ b/repository/areafiles/lib.php
@@ -89,8 +89,8 @@ class repository_areafiles extends repository {
'children' => array(),
'datemodified' => $file->get_timemodified(),
'datecreated' => $file->get_timecreated(),
- 'icon' => $OUTPUT->image_url(file_folder_icon(24))->out(false),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false)
+ 'icon' => $OUTPUT->image_url(file_folder_icon())->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false)
);
$ret['list'][] = $node;
$ret['path'] = $retpath; // Show path if subfolders exist.
@@ -107,8 +107,8 @@ class repository_areafiles extends repository {
'license' => $file->get_license(),
'isref' => $file->is_external_file(),
'iscontrolledlink' => $file->is_controlled_link(),
- 'icon' => $OUTPUT->image_url(file_file_icon($file, 24))->out(false),
- 'thumbnail' => $OUTPUT->image_url(file_file_icon($file, 90))->out(false)
+ 'icon' => $OUTPUT->image_url(file_file_icon($file))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_file_icon($file))->out(false)
);
if ($file->get_status() == 666) {
$node['originalmissing'] = true;
diff --git a/repository/contentbank/classes/helper.php b/repository/contentbank/classes/helper.php
index 05a3f3a5617..bb0309146d0 100644
--- a/repository/contentbank/classes/helper.php
+++ b/repository/contentbank/classes/helper.php
@@ -68,7 +68,7 @@ class helper {
'datemodified' => '',
'datecreated' => '',
'path' => $path,
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'children' => []
];
}
diff --git a/repository/coursefiles/lib.php b/repository/coursefiles/lib.php
index bd7713bcbfe..74701232ec1 100644
--- a/repository/coursefiles/lib.php
+++ b/repository/coursefiles/lib.php
@@ -109,7 +109,7 @@ class repository_coursefiles extends repository {
'datecreated' => $child->get_timecreated(),
'path' => $encodedpath,
'children'=>array(),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false)
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false)
);
$list[] = $node;
} else {
@@ -123,7 +123,7 @@ class repository_coursefiles extends repository {
'datecreated' => $child->get_timecreated(),
'source'=> $encodedpath,
'isref' => $child->is_external_file(),
- 'thumbnail' => $OUTPUT->image_url(file_file_icon($child, 90))->out(false)
+ 'thumbnail' => $OUTPUT->image_url(file_file_icon($child))->out(false)
);
if ($child->get_status() == 666) {
$node['originalmissing'] = true;
diff --git a/repository/dropbox/lib.php b/repository/dropbox/lib.php
index 249440861dc..469fe3f2dc1 100644
--- a/repository/dropbox/lib.php
+++ b/repository/dropbox/lib.php
@@ -687,7 +687,7 @@ class repository_dropbox extends repository {
// Use the display path here rather than lower.
// Dropbox is case insensitive but this leads to more accurate breadcrumbs.
'path' => file_correct_filepath($entrydata->path_display),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(64))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'thumbnail_height' => 64,
'thumbnail_width' => 64,
'children' => array(),
@@ -699,7 +699,7 @@ class repository_dropbox extends repository {
'source' => $entrydata->path_lower,
'size' => $entrydata->size,
'date' => strtotime($entrydata->client_modified),
- 'thumbnail' => $OUTPUT->image_url(file_extension_icon($entrydata->path_lower, 64))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_extension_icon($entrydata->path_lower))->out(false),
'realthumbnail' => $this->get_thumbnail_url($entrydata),
'thumbnail_height' => 64,
'thumbnail_width' => 64,
diff --git a/repository/dropbox/thumbnail.php b/repository/dropbox/thumbnail.php
index db1bd7bb6a2..e4ab510774a 100644
--- a/repository/dropbox/thumbnail.php
+++ b/repository/dropbox/thumbnail.php
@@ -44,5 +44,5 @@ if ($thumbnailavailable) {
}
// Send default icon for the file type.
-$fileicon = file_extension_icon($source, 64);
-send_file($CFG->dirroot . '/pix/' . $fileicon . '.png', basename($fileicon) . '.png');
+$fileicon = file_extension_icon($source);
+send_file($CFG->dirroot . '/pix/' . $fileicon . '.png', basename($fileicon) . '.svg');
diff --git a/repository/filesystem/lib.php b/repository/filesystem/lib.php
index 53770530b9e..3fd59164f22 100644
--- a/repository/filesystem/lib.php
+++ b/repository/filesystem/lib.php
@@ -311,14 +311,14 @@ class repository_filesystem extends repository {
if ($isdir) {
$node['children'] = array();
- $node['thumbnail'] = $OUTPUT->image_url(file_folder_icon(90))->out(false);
+ $node['thumbnail'] = $OUTPUT->image_url(file_folder_icon())->out(false);
$node['path'] = $this->build_node_path('browse', $relpath, $name, $rootnodepath);
} else {
$node['source'] = $relpath;
$node['size'] = filesize($abspath);
- $node['thumbnail'] = $OUTPUT->image_url(file_extension_icon($name, 90))->out(false);
- $node['icon'] = $OUTPUT->image_url(file_extension_icon($name, 24))->out(false);
+ $node['thumbnail'] = $OUTPUT->image_url(file_extension_icon($name))->out(false);
+ $node['icon'] = $OUTPUT->image_url(file_extension_icon($name))->out(false);
$node['path'] = $relpath;
if (file_extension_in_typegroup($name, 'image') && ($imageinfo = @getimagesize($abspath))) {
@@ -848,7 +848,7 @@ function repository_filesystem_pluginfile($course, $cm, $context, $filearea, $ar
if (!($file = $repo->get_thumbnail($filepath, $filearea))) {
// Generation failed, redirect to default icon for file extension.
// Do not use redirect() here because is not compatible with webservice/pluginfile.php.
- header('Location: ' . $OUTPUT->image_url(file_extension_icon($file, 90)));
+ header('Location: ' . $OUTPUT->image_url(file_extension_icon($file)));
}
// The thumbnails should not be changing much, but maybe the default lifetime is too long.
$lifetime = $CFG->filelifetime;
diff --git a/repository/flickr_public/lib.php b/repository/flickr_public/lib.php
index 12148837c9c..fe7f9dd1f92 100644
--- a/repository/flickr_public/lib.php
+++ b/repository/flickr_public/lib.php
@@ -407,7 +407,7 @@ class repository_flickr_public extends repository {
if (!@getimagesize($thumbnailsource)) {
// Use the file extension icon as a thumbnail if the original thumbnail does not exist to avoid
// displaying broken thumbnails in the repository.
- $thumbnailsource = $OUTPUT->image_url(file_extension_icon($p['title'], 90))->out(false);
+ $thumbnailsource = $OUTPUT->image_url(file_extension_icon($p['title']))->out(false);
}
// Perform a HEAD request to the image to obtain it's Content-Length.
diff --git a/repository/googledocs/classes/local/node/folder_node.php b/repository/googledocs/classes/local/node/folder_node.php
index 720f090c5eb..c60ca4682e9 100644
--- a/repository/googledocs/classes/local/node/folder_node.php
+++ b/repository/googledocs/classes/local/node/folder_node.php
@@ -67,7 +67,7 @@ class folder_node implements node {
'title' => $this->title,
'path' => helper::build_node_path($this->id, $this->title, $this->path),
'date' => $this->modified,
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(64))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'thumbnail_height' => 64,
'thumbnail_width' => 64,
'children' => [],
diff --git a/repository/googledocs/lib.php b/repository/googledocs/lib.php
index da5f612424c..143ce82ccf2 100644
--- a/repository/googledocs/lib.php
+++ b/repository/googledocs/lib.php
@@ -389,7 +389,7 @@ class repository_googledocs extends repository {
'title' => $gfile->name,
'path' => $this->build_node_path($gfile->id, $gfile->name, $path),
'date' => strtotime($gfile->modifiedTime),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(64))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'thumbnail_height' => 64,
'thumbnail_width' => 64,
'children' => array()
diff --git a/repository/googledocs/tests/repository_googledocs_testcase.php b/repository/googledocs/tests/repository_googledocs_testcase.php
index 35fd15a01d7..4bf44c56a02 100644
--- a/repository/googledocs/tests/repository_googledocs_testcase.php
+++ b/repository/googledocs/tests/repository_googledocs_testcase.php
@@ -42,7 +42,7 @@ abstract class repository_googledocs_testcase extends \advanced_testcase {
'title' => $name,
'path' => repository_googledocs\helper::build_node_path($id, $name, $path),
'date' => $modified,
- 'thumbnail' => "{$CFG->wwwroot}/theme/image.php/_s/boost/core/1/" . file_folder_icon(64),
+ 'thumbnail' => "{$CFG->wwwroot}/theme/image.php/_s/boost/core/1/" . file_folder_icon(),
'thumbnail_height' => 64,
'thumbnail_width' => 64,
'children' => [],
diff --git a/repository/lib.php b/repository/lib.php
index 978d4abebab..78c298cfc84 100644
--- a/repository/lib.php
+++ b/repository/lib.php
@@ -1390,7 +1390,7 @@ abstract class repository implements cacheable_object {
'url'=>moodle_url::make_draftfile_url($file->get_itemid(), $file->get_filepath(), $file->get_filename())->out(),
'id'=>$file->get_itemid(),
'file'=>$file->get_filename(),
- 'icon' => $OUTPUT->image_url(file_extension_icon($thefile, 32))->out(),
+ 'icon' => $OUTPUT->image_url(file_extension_icon($thefile))->out(),
);
} else {
return null;
@@ -1436,7 +1436,7 @@ abstract class repository implements cacheable_object {
'size' => 0,
'date' => $filedate,
'path' => array_reverse($path),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false)
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false)
);
//if ($dynamicmode && $child->is_writable()) {
@@ -1473,8 +1473,8 @@ abstract class repository implements cacheable_object {
'date' => $filedate,
//'source' => $child->get_url(),
'source' => base64_encode($source),
- 'icon'=>$OUTPUT->image_url(file_file_icon($child, 24))->out(false),
- 'thumbnail'=>$OUTPUT->image_url(file_file_icon($child, 90))->out(false),
+ 'icon' => $OUTPUT->image_url(file_file_icon($child))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_file_icon($child))->out(false),
);
$filecount++;
}
@@ -2207,7 +2207,7 @@ abstract class repository implements cacheable_object {
*/
protected static function prepare_breadcrumb($breadcrumb) {
global $OUTPUT;
- $foldericon = $OUTPUT->image_url(file_folder_icon(24))->out(false);
+ $foldericon = $OUTPUT->image_url(file_folder_icon())->out(false);
$len = count($breadcrumb);
for ($i = 0; $i < $len; $i++) {
if (is_array($breadcrumb[$i]) && !isset($breadcrumb[$i]['icon'])) {
@@ -2228,7 +2228,7 @@ abstract class repository implements cacheable_object {
*/
protected static function prepare_list($list) {
global $OUTPUT;
- $foldericon = $OUTPUT->image_url(file_folder_icon(24))->out(false);
+ $foldericon = $OUTPUT->image_url(file_folder_icon())->out(false);
// Reset the array keys because non-numeric keys will create an object when converted to JSON.
$list = array_values($list);
@@ -2288,7 +2288,7 @@ abstract class repository implements cacheable_object {
if ($isfolder) {
$file['icon'] = $foldericon;
} else if ($filename) {
- $file['icon'] = $OUTPUT->image_url(file_extension_icon($filename, 24))->out(false);
+ $file['icon'] = $OUTPUT->image_url(file_extension_icon($filename))->out(false);
}
}
diff --git a/repository/local/lib.php b/repository/local/lib.php
index ec6e19242c6..489156d4403 100644
--- a/repository/local/lib.php
+++ b/repository/local/lib.php
@@ -213,7 +213,7 @@ class repository_local extends repository {
);
if ($fileinfo->is_directory()) {
$node['path'] = $encodedpath;
- $node['thumbnail'] = $OUTPUT->image_url(file_folder_icon(90))->out(false);
+ $node['thumbnail'] = $OUTPUT->image_url(file_folder_icon())->out(false);
$node['children'] = array();
} else {
$node['size'] = $fileinfo->get_filesize();
@@ -224,8 +224,8 @@ class repository_local extends repository {
$node['originalmissing'] = true;
}
$node['source'] = $encodedpath;
- $node['thumbnail'] = $OUTPUT->image_url(file_file_icon($fileinfo, 90))->out(false);
- $node['icon'] = $OUTPUT->image_url(file_file_icon($fileinfo, 24))->out(false);
+ $node['thumbnail'] = $OUTPUT->image_url(file_file_icon($fileinfo))->out(false);
+ $node['icon'] = $OUTPUT->image_url(file_file_icon($fileinfo))->out(false);
if ($imageinfo = $fileinfo->get_imageinfo()) {
// what a beautiful picture, isn't it
$fileurl = new moodle_url($fileinfo->get_url());
diff --git a/repository/merlot/lib.php b/repository/merlot/lib.php
index 3d5e522f488..a9c54f7c291 100644
--- a/repository/merlot/lib.php
+++ b/repository/merlot/lib.php
@@ -103,11 +103,11 @@ class repository_merlot extends repository {
$xml = simplexml_load_string($content);
foreach ($xml->results->material as $entry) {
$list[] = array(
- 'title'=>(string)$entry->title,
- 'thumbnail'=>$OUTPUT->image_url(file_extension_icon($entry->title, 90))->out(false),
- 'date'=>userdate((int)$entry->creationDate),
- 'size'=>'',
- 'source'=>(string)$entry->URL
+ 'title' => (string)$entry->title,
+ 'thumbnail' => $OUTPUT->image_url(file_extension_icon($entry->title))->out(false),
+ 'date' => userdate((int)$entry->creationDate),
+ 'size' => '',
+ 'source' => (string)$entry->URL,
);
}
return $list;
@@ -184,4 +184,3 @@ class repository_merlot extends repository {
return false;
}
}
-
diff --git a/repository/nextcloud/lib.php b/repository/nextcloud/lib.php
index fcc59ac99cb..25f7028c04a 100644
--- a/repository/nextcloud/lib.php
+++ b/repository/nextcloud/lib.php
@@ -815,7 +815,7 @@ class repository_nextcloud extends repository {
$folders[strtoupper($title)] = array(
'title' => rtrim($title, '/'),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'children' => array(),
'datemodified' => $item['lastmodified'],
'path' => $item['href']
@@ -825,7 +825,7 @@ class repository_nextcloud extends repository {
$size = !empty($item['getcontentlength']) ? $item['getcontentlength'] : '';
$files[strtoupper($title)] = array(
'title' => $title,
- 'thumbnail' => $OUTPUT->image_url(file_extension_icon($title, 90))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_extension_icon($title))->out(false),
'size' => $size,
'datemodified' => $item['lastmodified'],
'source' => $item['href']
diff --git a/repository/onedrive/lib.php b/repository/onedrive/lib.php
index bdbc46b43b5..417783e938a 100644
--- a/repository/onedrive/lib.php
+++ b/repository/onedrive/lib.php
@@ -356,7 +356,7 @@ class repository_onedrive extends repository {
'title' => $remotefile->name,
'path' => $this->build_node_path($remotefile->id, $remotefile->name, $path),
'date' => strtotime($remotefile->lastModifiedDateTime),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(64))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'thumbnail_height' => 64,
'thumbnail_width' => 64,
'children' => []
diff --git a/repository/recent/lib.php b/repository/recent/lib.php
index c5513079d60..c43cf780ca6 100644
--- a/repository/recent/lib.php
+++ b/repository/recent/lib.php
@@ -164,8 +164,8 @@ class repository_recent extends repository {
'author' => $fileinfo->get_author(),
'license' => $fileinfo->get_license(),
'source'=> $params,
- 'icon' => $OUTPUT->image_url(file_file_icon($fileinfo, 24))->out(false),
- 'thumbnail' => $OUTPUT->image_url(file_file_icon($fileinfo, 90))->out(false),
+ 'icon' => $OUTPUT->image_url(file_file_icon($fileinfo))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_file_icon($fileinfo))->out(false),
);
if ($imageinfo = $fileinfo->get_imageinfo()) {
$fileurl = new moodle_url($fileinfo->get_url());
diff --git a/repository/repository_ajax.php b/repository/repository_ajax.php
index 49628d9e19b..aa6c6c66334 100644
--- a/repository/repository_ajax.php
+++ b/repository/repository_ajax.php
@@ -265,7 +265,7 @@ switch ($action) {
'url'=>moodle_url::make_draftfile_url($storedfile->get_itemid(), $storedfile->get_filepath(), $storedfile->get_filename())->out(),
'id'=>$storedfile->get_itemid(),
'file'=>$storedfile->get_filename(),
- 'icon' => $OUTPUT->image_url(file_file_icon($storedfile, 32))->out(),
+ 'icon' => $OUTPUT->image_url(file_file_icon($storedfile))->out(),
);
}
// Repository plugin callback
diff --git a/repository/s3/lib.php b/repository/s3/lib.php
index 88b0e1b55fb..10c7b01d00e 100644
--- a/repository/s3/lib.php
+++ b/repository/s3/lib.php
@@ -152,7 +152,7 @@ class repository_s3 extends repository {
$folder = array(
'title' => $bucket,
'children' => array(),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
'path' => $bucket
);
$tree[] = $folder;
@@ -197,8 +197,8 @@ class repository_s3 extends repository {
$folders[] = array(
'title' => $title,
'children' => array(),
- 'thumbnail'=> $OUTPUT->image_url(file_folder_icon(90))->out(false),
- 'path' => $bucket . '/' . $object['prefix']
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
+ 'path' => $bucket . '/' . $object['prefix'],
);
} else {
$files[] = array(
@@ -206,7 +206,7 @@ class repository_s3 extends repository {
'size' => $object['size'],
'datemodified' => $object['time'],
'source' => $bucket . '/' . $object['name'],
- 'thumbnail' => $OUTPUT->image_url(file_extension_icon($title, 90))->out(false)
+ 'thumbnail' => $OUTPUT->image_url(file_extension_icon($title))->out(false)
);
}
}
diff --git a/repository/user/lib.php b/repository/user/lib.php
index 288665325d7..6ae186123af 100644
--- a/repository/user/lib.php
+++ b/repository/user/lib.php
@@ -102,7 +102,7 @@ class repository_user extends repository {
'datecreated' => $child->get_timecreated(),
'path' => $encodedpath,
'children'=>array(),
- 'thumbnail' => $OUTPUT->image_url(file_folder_icon(90))->out(false)
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false)
);
$list[] = $node;
} else {
@@ -116,8 +116,8 @@ class repository_user extends repository {
'license' => $child->get_license(),
'isref' => $child->is_external_file(),
'source'=> $encodedpath,
- 'icon' => $OUTPUT->image_url(file_file_icon($child, 24))->out(false),
- 'thumbnail' => $OUTPUT->image_url(file_file_icon($child, 90))->out(false)
+ 'icon' => $OUTPUT->image_url(file_file_icon($child))->out(false),
+ 'thumbnail' => $OUTPUT->image_url(file_file_icon($child))->out(false)
);
if ($child->get_status() == 666) {
$node['originalmissing'] = true;
diff --git a/repository/webdav/lib.php b/repository/webdav/lib.php
index e5dcf675264..96d8813337e 100644
--- a/repository/webdav/lib.php
+++ b/repository/webdav/lib.php
@@ -142,25 +142,25 @@ class repository_webdav extends repository {
$title = substr($v['href'], strlen($path));
if (!empty($v['resourcetype']) && $v['resourcetype'] == 'collection') {
- // a folder
+ // A folder.
if ($path != $v['href']) {
$folders[strtoupper($title)] = array(
- 'title'=>rtrim($title, '/'),
- 'thumbnail'=>$OUTPUT->image_url(file_folder_icon(90))->out(false),
- 'children'=>array(),
- 'datemodified'=>$v['lastmodified'],
- 'path'=>$v['href']
+ 'title' => rtrim($title, '/'),
+ 'thumbnail' => $OUTPUT->image_url(file_folder_icon())->out(false),
+ 'children' => array(),
+ 'datemodified' => $v['lastmodified'],
+ 'path' => $v['href'],
);
}
}else{
- // a file
+ // A file.
$size = !empty($v['getcontentlength'])? $v['getcontentlength']:'';
$files[strtoupper($title)] = array(
- 'title'=>$title,
- 'thumbnail' => $OUTPUT->image_url(file_extension_icon($title, 90))->out(false),
- 'size'=>$size,
- 'datemodified'=>$v['lastmodified'],
- 'source'=>$v['href']
+ 'title' => $title,
+ 'thumbnail' => $OUTPUT->image_url(file_extension_icon($title))->out(false),
+ 'size' => $size,
+ 'datemodified' => $v['lastmodified'],
+ 'source' => $v['href'],
);
}
}
diff --git a/repository/wikimedia/wikimedia.php b/repository/wikimedia/wikimedia.php
index 9194c485838..a1205ae8214 100644
--- a/repository/wikimedia/wikimedia.php
+++ b/repository/wikimedia/wikimedia.php
@@ -134,7 +134,7 @@ class wikimedia {
$short_path = str_replace($commons_main_dir, '', $image_url);
$extension = strtolower(pathinfo($short_path, PATHINFO_EXTENSION));
if (strcmp($extension, 'gif') == 0) { //no thumb for gifs
- return $OUTPUT->image_url(file_extension_icon('.gif', $thumb_width))->out(false);
+ return $OUTPUT->image_url(file_extension_icon('.gif'))->out(false);
}
$dir_parts = explode('/', $short_path);
$file_name = end($dir_parts);
diff --git a/theme/boost/classes/output/core_renderer.php b/theme/boost/classes/output/core_renderer.php
index 6816344a394..6b2fd31100a 100644
--- a/theme/boost/classes/output/core_renderer.php
+++ b/theme/boost/classes/output/core_renderer.php
@@ -168,7 +168,7 @@ class core_renderer extends \core_renderer {
];
$imagedata = html_writer::img($iconurl->out(false), '', $iconattrs);
$purposeclass = plugin_supports('mod', $this->page->activityname, FEATURE_MOD_PURPOSE);
- $purposeclass .= ' activityiconcontainer';
+ $purposeclass .= ' activityiconcontainer icon-size-6';
$purposeclass .= ' modicon_' . $this->page->activityname;
$imagedata = html_writer::tag('div', $imagedata, ['class' => $purposeclass]);
if (!empty($USER->editing)) {
diff --git a/theme/boost/scss/moodle/icons.scss b/theme/boost/scss/moodle/icons.scss
index 7947814e6e7..5c06e64b1c9 100644
--- a/theme/boost/scss/moodle/icons.scss
+++ b/theme/boost/scss/moodle/icons.scss
@@ -155,8 +155,8 @@ $iconsizes: map-merge((
width: $activity-iconcontainer-width - 20px;
height: $activity-iconcontainer-width - 20px;
.activityicon {
- width: $icon-width;
- height: $icon-height;
+ width: $icon-medium-width;
+ height: $icon-medium-height;
}
}
}
diff --git a/theme/boost/scss/moodle/variables.scss b/theme/boost/scss/moodle/variables.scss
index c2b86ed86f0..d24209d22fa 100644
--- a/theme/boost/scss/moodle/variables.scss
+++ b/theme/boost/scss/moodle/variables.scss
@@ -37,8 +37,8 @@ $primary-light-background: theme-color-level('primary', -12) !default;
$primary-light-border: theme-color-level('primary', -2) !default;
$primary-light-color: $body-color;
$primary-light-hover: theme-color-level('primary', -10) !default;
-$activity-iconcontainer-height: 50px;
-$activity-iconcontainer-width: 50px;
+$activity-iconcontainer-height: 52px;
+$activity-iconcontainer-width: 52px;
$activity-icon-administration-bg: #5d63f6 !default;
$activity-icon-assessment-bg: #eb66a2 !default;
diff --git a/theme/boost/style/moodle.css b/theme/boost/style/moodle.css
index e6493fc9f1c..4abf2b3b363 100644
--- a/theme/boost/style/moodle.css
+++ b/theme/boost/style/moodle.css
@@ -26166,8 +26166,8 @@ blockquote {
}
.activityiconcontainer {
- width: 50px;
- height: 50px;
+ width: 52px;
+ height: 52px;
display: inline-flex;
justify-content: center;
align-items: center;
@@ -26182,16 +26182,16 @@ blockquote {
width: 24px;
}
.activityiconcontainer.small {
- width: 40px;
- height: 40px;
+ width: 42px;
+ height: 42px;
}
.activityiconcontainer.smaller {
- width: 30px;
- height: 30px;
+ width: 32px;
+ height: 32px;
}
.activityiconcontainer.smaller .activityicon {
- width: 16px;
- height: 16px;
+ width: 24px;
+ height: 24px;
}
.activityiconcontainer.administration {
diff --git a/theme/boost/upgrade.txt b/theme/boost/upgrade.txt
index 18fa35e5742..6a33b9d106e 100644
--- a/theme/boost/upgrade.txt
+++ b/theme/boost/upgrade.txt
@@ -1,6 +1,9 @@
This file describes API changes in /theme/boost
information provided here is intended especially for theme designers.
+=== 4.3 ===
+* The $activity-iconcontainer-height and $activity-iconcontainer-width variables have been changed from 50px to 52px.
+
=== 4.0 ===
* Following the adopted standards, breadcrumbs have been removed for pages that reside on the 1st level within a course
e.g. participants, grades, settings, reports.
diff --git a/theme/classic/style/moodle.css b/theme/classic/style/moodle.css
index b3ba1cc90e9..1601b43385f 100644
--- a/theme/classic/style/moodle.css
+++ b/theme/classic/style/moodle.css
@@ -26166,8 +26166,8 @@ blockquote {
}
.activityiconcontainer {
- width: 50px;
- height: 50px;
+ width: 52px;
+ height: 52px;
display: inline-flex;
justify-content: center;
align-items: center;
@@ -26182,16 +26182,16 @@ blockquote {
width: 24px;
}
.activityiconcontainer.small {
- width: 40px;
- height: 40px;
+ width: 42px;
+ height: 42px;
}
.activityiconcontainer.smaller {
- width: 30px;
- height: 30px;
+ width: 32px;
+ height: 32px;
}
.activityiconcontainer.smaller .activityicon {
- width: 16px;
- height: 16px;
+ width: 24px;
+ height: 24px;
}
.activityiconcontainer.administration {
diff --git a/version.php b/version.php
index 0bb712c721a..284158b01be 100644
--- a/version.php
+++ b/version.php
@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
-$version = 2023082200.00; // YYYYMMDD = weekly release date of this DEV branch.
+$version = 2023082200.02; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
$release = '4.3dev+ (Build: 20230822)'; // Human-friendly version name