Merge branch 'master' into mimeicons-svg

This commit is contained in:
Robin Appelman 2014-02-20 16:55:18 +01:00
Родитель f33d35cd07 ec45a3c0e2
Коммит 0624476aa1
231 изменённых файлов: 2134 добавлений и 3412 удалений

Просмотреть файл

@ -9,8 +9,21 @@ OCP\JSON::callCheck();
// Get data
$dir = stripslashes($_POST["dir"]);
$files = isset($_POST["file"]) ? $_POST["file"] : $_POST["files"];
$allFiles = isset($_POST["allfiles"]) ? $_POST["allfiles"] : $_POST["allfiles"];
if ($allFiles === 'true') {
$allFiles = true;
}
$files = json_decode($files);
// delete all files in dir ?
if ($allFiles) {
$files = array();
$fileList = \OC\Files\Filesystem::getDirectoryContent($dir);
foreach ($fileList as $fileInfo) {
$files[] = $fileInfo['name'];
}
} else {
$files = json_decode($files);
}
$filesWithError = '';
$success = true;

Просмотреть файл

@ -50,16 +50,22 @@ $l10n = \OC_L10n::get('files');
$result = array(
'success' => false,
'data' => NULL
);
);
$trimmedFileName = trim($filename);
if(trim($filename) === '') {
if($trimmedFileName === '') {
$result['data'] = array('message' => (string)$l10n->t('File name cannot be empty.'));
OCP\JSON::error($result);
exit();
}
if($trimmedFileName === '.' || $trimmedFileName === '..') {
$result['data'] = array('message' => (string)$l10n->t('"%s" is an invalid file name.', $trimmedFileName));
OCP\JSON::error($result);
exit();
}
if(strpos($filename, '/') !== false) {
$result['data'] = array('message' => (string)$l10n->t('File name must not contain "/". Please choose a different name.'));
if(!OCP\Util::isValidFileName($filename)) {
$result['data'] = array('message' => (string)$l10n->t("Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
OCP\JSON::error($result);
exit();
}

Просмотреть файл

@ -23,8 +23,8 @@ if(trim($foldername) === '') {
exit();
}
if(strpos($foldername, '/') !== false) {
$result['data'] = array('message' => $l10n->t('Folder name must not contain "/". Please choose a different name.'));
if(!OCP\Util::isValidFileName($foldername)) {
$result['data'] = array('message' => (string)$l10n->t("Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
OCP\JSON::error($result);
exit();
}

Просмотреть файл

@ -582,30 +582,49 @@ window.FileList={
}});
}
},
do_delete:function(files) {
if (files.substr) {
do_delete:function(files, dir) {
var params;
if (files && files.substr) {
files=[files];
}
for (var i=0; i<files.length; i++) {
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon');
if (files) {
for (var i=0; i<files.length; i++) {
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon');
}
}
// Finish any existing actions
if (FileList.lastAction) {
FileList.lastAction();
}
var fileNames = JSON.stringify(files);
var params = {
dir: dir || FileList.getCurrentDirectory()
};
if (files) {
params.files = JSON.stringify(files);
}
else {
// no files passed, delete all in current dir
params.allfiles = true;
}
$.post(OC.filePath('files', 'ajax', 'delete.php'),
{dir:$('#dir').val(),files:fileNames},
params,
function(result) {
if (result.status === 'success') {
$.each(files,function(index,file) {
var files = FileList.findFileEl(file);
files.remove();
files.find('input[type="checkbox"]').removeAttr('checked');
files.removeClass('selected');
});
if (params.allfiles) {
// clear whole list
$('#fileList tr').remove();
}
else {
$.each(files,function(index,file) {
var files = FileList.findFileEl(file);
files.remove();
files.find('input[type="checkbox"]').removeAttr('checked');
files.removeClass('selected');
});
}
procesSelection();
checkTrashStatus();
FileList.updateFileSummary();
@ -622,10 +641,17 @@ window.FileList={
setTimeout(function() {
OC.Notification.hide();
}, 10000);
$.each(files,function(index,file) {
var deleteAction = FileList.findFileEl(file).find('.action.delete');
deleteAction.removeClass('progress-icon').addClass('delete-icon');
});
if (params.allfiles) {
// reload the page as we don't know what files were deleted
// and which ones remain
FileList.reload();
}
else {
$.each(files,function(index,file) {
var deleteAction = FileList.findFileEl(file).find('.action.delete');
deleteAction.removeClass('progress-icon').addClass('delete-icon');
});
}
}
});
},
@ -794,6 +820,13 @@ window.FileList={
$(e).removeClass("searchresult");
});
},
/**
* Returns whether all files are selected
* @return true if all files are selected, false otherwise
*/
isAllSelected: function() {
return $('#select_all').prop('checked');
},
/**
* Returns the download URL of the given file
@ -801,10 +834,13 @@ window.FileList={
* @param dir optional directory in which the file name is, defaults to the current directory
*/
getDownloadUrl: function(filename, dir) {
var files = filename;
if ($.isArray(filename)) {
files = JSON.stringify(filename);
}
var params = {
files: filename,
dir: dir || FileList.getCurrentDirectory(),
download: null
files: files
};
return OC.filePath('files', 'ajax', 'download.php') + '?' + OC.buildQueryString(params);
}

Просмотреть файл

@ -364,23 +364,26 @@ $(document).ready(function() {
});
$('.download').click('click',function(event) {
var files=getSelectedFilesTrash('name');
var fileslist = JSON.stringify(files);
var dir=$('#dir').val()||'/';
OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.'));
// use special download URL if provided, e.g. for public shared files
var downloadURL = document.getElementById("downloadURL");
if ( downloadURL ) {
window.location = downloadURL.value+"&download&files=" + encodeURIComponent(fileslist);
} else {
window.location = OC.filePath('files', 'ajax', 'download.php') + '?'+ $.param({ dir: dir, files: fileslist });
var files;
var dir = FileList.getCurrentDirectory();
if (FileList.isAllSelected()) {
files = OC.basename(dir);
dir = OC.dirname(dir) || '/';
}
else {
files = getSelectedFilesTrash('name');
}
OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.'));
OC.redirect(FileList.getDownloadUrl(files, dir));
return false;
});
$('.delete-selected').click(function(event) {
var files=getSelectedFilesTrash('name');
event.preventDefault();
if (FileList.isAllSelected()) {
files = null;
}
FileList.do_delete(files);
return false;
});

Просмотреть файл

@ -69,7 +69,7 @@ describe('FileActions tests', function() {
$tr.find('.action[data-action=Download]').click();
expect(redirectStub.calledOnce).toEqual(true);
expect(redirectStub.getCall(0).args[0]).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?files=test%20download%20File.txt&dir=%2Fsubdir&download');
expect(redirectStub.getCall(0).args[0]).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=test%20download%20File.txt');
redirectStub.restore();
});
});

Просмотреть файл

@ -58,8 +58,15 @@ describe('FileList tests', function() {
expect($tr.attr('data-permissions')).toEqual('31');
//expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
});
it('returns correct download URL', function() {
expect(FileList.getDownloadUrl('some file.txt')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?files=some%20file.txt&dir=%2Fsubdir&download');
expect(FileList.getDownloadUrl('some file.txt', '/anotherpath/abc')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?files=some%20file.txt&dir=%2Fanotherpath%2Fabc&download');
describe('Download Url', function() {
it('returns correct download URL for single files', function() {
expect(FileList.getDownloadUrl('some file.txt')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=some%20file.txt');
expect(FileList.getDownloadUrl('some file.txt', '/anotherpath/abc')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fanotherpath%2Fabc&files=some%20file.txt');
$('#dir').val('/');
expect(FileList.getDownloadUrl('some file.txt')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2F&files=some%20file.txt');
});
it('returns correct download URL for multiple files', function() {
expect(FileList.getDownloadUrl(['a b c.txt', 'd e f.txt'])).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=%5B%22a%20b%20c.txt%22%2C%22d%20e%20f.txt%22%5D');
});
});
});

Просмотреть файл

@ -4,7 +4,7 @@ OCP\JSON::checkAppEnabled('files_external');
OCP\JSON::callCheck();
if ( ! ($filename = $_FILES['rootcert_import']['name']) ) {
header("Location: settings/personal.php");
header('Location:' . OCP\Util::linkToRoute( "settings_personal" ));
exit;
}

Просмотреть файл

@ -352,9 +352,8 @@ class OC_Mount_Config {
$phpFile = OC_User::getHome(OCP\User::getUser()).'/mount.php';
$jsonFile = OC_User::getHome(OCP\User::getUser()).'/mount.json';
} else {
$datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data");
$phpFile = OC::$SERVERROOT.'/config/mount.php';
$jsonFile = $datadir . '/mount.json';
$jsonFile = \OC_Config::getValue("mount_file", \OC::$SERVERROOT . "/data/mount.json");
}
if (is_file($jsonFile)) {
$mountPoints = json_decode(file_get_contents($jsonFile), true);
@ -380,8 +379,7 @@ class OC_Mount_Config {
if ($isPersonal) {
$file = OC_User::getHome(OCP\User::getUser()).'/mount.json';
} else {
$datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data");
$file = $datadir . '/mount.json';
$file = \OC_Config::getValue("mount_file", \OC::$SERVERROOT . "/data/mount.json");
}
$content = json_encode($data);
@file_put_contents($file, $content);

Просмотреть файл

@ -99,7 +99,9 @@ class DAV extends \OC\Files\Storage\Common{
public function rmdir($path) {
$this->init();
$path=$this->cleanPath($path);
$path=$this->cleanPath($path) . '/';
// FIXME: some WebDAV impl return 403 when trying to DELETE
// a non-empty folder
return $this->simpleResponse('DELETE', $path, null, 204);
}
@ -107,7 +109,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array(), 1);
$response=$this->client->propfind($this->encodePath($path), array(), 1);
$id=md5('webdav'.$this->root.$path);
$content = array();
$files=array_keys($response);
@ -127,8 +129,11 @@ class DAV extends \OC\Files\Storage\Common{
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}resourcetype'));
$responseType=$response["{DAV:}resourcetype"]->resourceType;
$response=$this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype'));
$responseType = array();
if (isset($response["{DAV:}resourcetype"])) {
$responseType=$response["{DAV:}resourcetype"]->resourceType;
}
return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
} catch(\Exception $e) {
error_log($e->getMessage());
@ -141,7 +146,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init();
$path=$this->cleanPath($path);
try {
$this->client->propfind($path, array('{DAV:}resourcetype'));
$this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype'));
return true;//no 404 exception
} catch(\Exception $e) {
return false;
@ -166,7 +171,7 @@ class DAV extends \OC\Files\Storage\Common{
$curl = curl_init();
$fp = fopen('php://temp', 'r+');
curl_setopt($curl, CURLOPT_USERPWD, $this->user.':'.$this->password);
curl_setopt($curl, CURLOPT_URL, $this->createBaseUri().str_replace(' ', '%20', $path));
curl_setopt($curl, CURLOPT_URL, $this->createBaseUri().$this->encodePath($path));
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
if ($this->secure === true) {
@ -178,6 +183,10 @@ class DAV extends \OC\Files\Storage\Common{
}
curl_exec ($curl);
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode !== 200) {
\OCP\Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, \OCP\Util::ERROR);
}
curl_close ($curl);
rewind($fp);
return $fp;
@ -220,7 +229,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}quota-available-bytes'));
$response=$this->client->propfind($this->encodePath($path), array('{DAV:}quota-available-bytes'));
if (isset($response['{DAV:}quota-available-bytes'])) {
return (int)$response['{DAV:}quota-available-bytes'];
} else {
@ -240,7 +249,12 @@ class DAV extends \OC\Files\Storage\Common{
// if file exists, update the mtime, else create a new empty file
if ($this->file_exists($path)) {
$this->client->proppatch($path, array('{DAV:}lastmodified' => $mtime));
try {
$this->client->proppatch($this->encodePath($path), array('{DAV:}lastmodified' => $mtime));
}
catch (\Sabre_DAV_Exception_NotImplemented $e) {
return false;
}
} else {
$this->file_put_contents($path, '');
}
@ -276,13 +290,17 @@ class DAV extends \OC\Files\Storage\Common{
}
}
curl_exec ($curl);
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode !== 200) {
\OCP\Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, \OCP\Util::ERROR);
}
curl_close ($curl);
}
public function rename($path1, $path2) {
$this->init();
$path1=$this->cleanPath($path1);
$path2=$this->createBaseUri().$this->cleanPath($path2);
$path1 = $this->encodePath($this->cleanPath($path1));
$path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2));
try {
$this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
return true;
@ -293,8 +311,8 @@ class DAV extends \OC\Files\Storage\Common{
public function copy($path1, $path2) {
$this->init();
$path1=$this->cleanPath($path1);
$path2=$this->createBaseUri().$this->cleanPath($path2);
$path1 = $this->encodePath($this->cleanPath($path1));
$path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2));
try {
$this->client->request('COPY', $path1, null, array('Destination'=>$path2));
return true;
@ -307,7 +325,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}getlastmodified', '{DAV:}getcontentlength'));
$response = $this->client->propfind($this->encodePath($path), array('{DAV:}getlastmodified', '{DAV:}getcontentlength'));
return array(
'mtime'=>strtotime($response['{DAV:}getlastmodified']),
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
@ -321,8 +339,11 @@ class DAV extends \OC\Files\Storage\Common{
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}getcontenttype', '{DAV:}resourcetype'));
$responseType=$response["{DAV:}resourcetype"]->resourceType;
$response=$this->client->propfind($this->encodePath($path), array('{DAV:}getcontenttype', '{DAV:}resourcetype'));
$responseType = array();
if (isset($response["{DAV:}resourcetype"])) {
$responseType=$response["{DAV:}resourcetype"]->resourceType;
}
$type=(count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
if ($type=='dir') {
return 'httpd/unix-directory';
@ -345,6 +366,16 @@ class DAV extends \OC\Files\Storage\Common{
return substr($path, 1);
}
/**
* URL encodes the given path but keeps the slashes
* @param string $path to encode
* @return string encoded path
*/
private function encodePath($path) {
// slashes need to stay
return str_replace('%2F', '/', rawurlencode($path));
}
/**
* @param string $method
* @param string $path
@ -353,7 +384,7 @@ class DAV extends \OC\Files\Storage\Common{
private function simpleResponse($method, $path, $body, $expected) {
$path=$this->cleanPath($path);
try {
$response=$this->client->request($method, $path, $body);
$response=$this->client->request($method, $this->encodePath($path), $body);
return $response['statusCode']==$expected;
} catch(\Exception $e) {
return false;

Просмотреть файл

@ -21,7 +21,11 @@ return array(
'host'=>'localhost',
'user'=>'test',
'password'=>'test',
'root'=>'/owncloud/files/webdav.php',
'root'=>'',
// wait delay in seconds after write operations
// (only in tests)
// set to higher value for lighttpd webdav
'wait'=> 0
),
'owncloud'=>array(
'run'=>true,

Просмотреть файл

@ -18,6 +18,9 @@ class DAV extends Storage {
if ( ! is_array($this->config) or ! isset($this->config['webdav']) or ! $this->config['webdav']['run']) {
$this->markTestSkipped('WebDAV backend not configured');
}
if (isset($this->config['webdav']['wait'])) {
$this->waitDelay = $this->config['webdav']['wait'];
}
$this->config['webdav']['root'] .= '/' . $id; //make sure we have an new empty folder to work in
$this->instance = new \OC\Files\Storage\DAV($this->config['webdav']);
$this->instance->mkdir('/');

Просмотреть файл

@ -1,3 +1,15 @@
/*
* Copyright (c) 2014
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
/* global OC, FileList, FileActions */
// Override download path to files_sharing/public.php
function fileDownloadPath(dir, file) {
var url = $('#downloadURL').val();
@ -28,12 +40,20 @@ $(document).ready(function() {
// override since the format is different
FileList.getDownloadUrl = function(filename, dir) {
// we use this because we need the service and token attributes
var tr = FileList.findFileEl(filename);
if (tr.length > 0) {
return $(tr).find('a.name').attr('href') + '&download';
if ($.isArray(filename)) {
filename = JSON.stringify(filename);
}
return null;
var path = dir || FileList.getCurrentDirectory();
var params = {
service: 'files',
t: $('#sharingToken').val(),
path: path,
download: null
};
if (filename) {
params.files = filename;
}
return OC.filePath('', '', 'public.php') + '?' + OC.buildQueryString(params);
};
}

Просмотреть файл

@ -2,42 +2,38 @@
OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
$folder = isset($_POST['dir']) ? $_POST['dir'] : '/';
// "empty trash" command
if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true'){
$deleteAll = true;
$folder = isset($_POST['dir']) ? $_POST['dir'] : '/';
if ($folder === '/' || $folder === '') {
OCA\Files_Trashbin\Trashbin::deleteAll();
$list = array();
} else {
$dirname = dirname($folder);
if ( $dirname !== '/' && $dirname !== '.' ) {
$dirlisting = '1';
} else {
$dirlisting = '0';
}
$list[] = $folder;
$folder = dirname($folder);
}
}
else {
$deleteAll = false;
$files = $_POST['files'];
$dirlisting = $_POST['dirlisting'];
$list = json_decode($files);
}
$folder = rtrim($folder, '/') . '/';
$error = array();
$success = array();
$i = 0;
foreach ($list as $file) {
if ( $dirlisting === '0') {
if ($folder === '/') {
$file = ltrim($file, '/');
$delimiter = strrpos($file, '.d');
$filename = substr($file, 0, $delimiter);
$timestamp = substr($file, $delimiter+2);
} else {
$filename = $file;
$filename = $folder . '/' . $file;
$timestamp = null;
}

Просмотреть файл

@ -4,15 +4,36 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
$files = $_POST['files'];
$dirlisting = $_POST['dirlisting'];
$list = json_decode($files);
$dir = '/';
if (isset($_POST['dir'])) {
$dir = rtrim($_POST['dir'], '/'). '/';
}
$allFiles = false;
if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true') {
$allFiles = true;
$list = array();
$dirListing = true;
if ($dir === '' || $dir === '/') {
$dirListing = false;
}
foreach (OCA\Files_Trashbin\Helper::getTrashFiles($dir) as $file) {
$fileName = $file['name'];
if (!$dirListing) {
$fileName .= '.d' . $file['timestamp'];
}
$list[] = $fileName;
}
} else {
$list = json_decode($files);
}
$error = array();
$success = array();
$i = 0;
foreach ($list as $file) {
if ( $dirlisting === '0') {
$path = $dir . '/' . $file;
if ($dir === '/') {
$file = ltrim($file, '/');
$delimiter = strrpos($file, '.d');
$filename = substr($file, 0, $delimiter);
@ -23,9 +44,9 @@ foreach ($list as $file) {
$timestamp = null;
}
if ( !OCA\Files_Trashbin\Trashbin::restore($file, $filename, $timestamp) ) {
if ( !OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp) ) {
$error[] = $filename;
OC_Log::write('trashbin','can\'t restore ' . $filename, OC_Log::ERROR);
OC_Log::write('trashbin', 'can\'t restore ' . $filename, OC_Log::ERROR);
} else {
$success[$i]['filename'] = $file;
$success[$i]['timestamp'] = $timestamp;

Просмотреть файл

@ -1,5 +1,29 @@
/*
* Copyright (c) 2014
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
/* global OC, t, FileList, FileActions */
$(document).ready(function() {
function removeCallback(result) {
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
var files = result.data.success;
for (var i = 0; i < files.length; i++) {
FileList.findFileEl(OC.basename(files[i].filename)).remove();
}
FileList.updateFileSummary();
FileList.updateEmptyContent();
enableActions();
}
if (typeof FileActions !== 'undefined') {
FileActions.register('all', 'Restore', OC.PERMISSION_READ, OC.imagePath('core', 'actions/history'), function(filename) {
@ -7,22 +31,12 @@ $(document).ready(function() {
var deleteAction = tr.children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon');
disableActions();
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'),
{files: JSON.stringify([$('#dir').val() + '/' + filename]), dirlisting: tr.attr('data-dirlisting')},
function(result) {
for (var i = 0; i < result.data.success.length; i++) {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
enableActions();
FileList.updateFileSummary();
FileList.updateEmptyContent();
}
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), {
files: JSON.stringify([filename]),
dir: FileList.getCurrentDirectory()
},
removeCallback
);
});
};
@ -34,22 +48,12 @@ $(document).ready(function() {
var deleteAction = tr.children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon');
disableActions();
$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'),
{files: JSON.stringify([$('#dir').val() + '/' +filename]), dirlisting: tr.attr('data-dirlisting')},
function(result) {
for (var i = 0; i < result.data.success.length; i++) {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
enableActions();
FileList.updateFileSummary();
FileList.updateEmptyContent();
}
$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), {
files: JSON.stringify([filename]),
dir: FileList.getCurrentDirectory()
},
removeCallback
);
});
// Sets the select_all checkbox behaviour :
@ -68,29 +72,45 @@ $(document).ready(function() {
$('.undelete').click('click', function(event) {
event.preventDefault();
var files = getSelectedFiles('file');
var fileslist = JSON.stringify(files);
var dirlisting = getSelectedFiles('dirlisting')[0];
var allFiles = $('#select_all').is(':checked');
var files = [];
var params = {};
disableActions();
for (var i = 0; i < files.length; i++) {
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon');
if (allFiles) {
FileList.showMask();
params = {
allfiles: true,
dir: FileList.getCurrentDirectory()
};
}
else {
files = getSelectedFiles('name');
for (var i = 0; i < files.length; i++) {
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon');
}
params = {
files: JSON.stringify(files),
dir: FileList.getCurrentDirectory()
};
}
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'),
{files: fileslist, dirlisting: dirlisting},
function(result) {
for (var i = 0; i < result.data.success.length; i++) {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
params,
function(result) {
if (allFiles) {
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
FileList.hideMask();
// simply remove all files
FileList.update('');
enableActions();
FileList.updateFileSummary();
FileList.updateEmptyContent();
}
else {
removeCallback(result);
}
}
);
});
@ -101,17 +121,17 @@ $(document).ready(function() {
var params = {};
if (allFiles) {
params = {
allfiles: true,
dir: $('#dir').val()
allfiles: true,
dir: FileList.getCurrentDirectory()
};
}
else {
files = getSelectedFiles('file');
files = getSelectedFiles('name');
params = {
files: JSON.stringify(files),
dirlisting: getSelectedFiles('dirlisting')[0]
dir: FileList.getCurrentDirectory()
};
};
}
disableActions();
if (allFiles) {
@ -128,22 +148,17 @@ $(document).ready(function() {
params,
function(result) {
if (allFiles) {
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
FileList.hideMask();
// simply remove all files
$('#fileList').empty();
FileList.update('');
enableActions();
}
else {
for (var i = 0; i < result.data.success.length; i++) {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
removeCallback(result);
}
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
enableActions();
FileList.updateFileSummary();
FileList.updateEmptyContent();
}
);
@ -208,11 +223,9 @@ function getSelectedFiles(property){
var files=[];
elements.each(function(i,element){
var file={
name:$(element).attr('data-filename'),
file:$('#dir').val() + "/" + $(element).attr('data-file'),
name:$(element).attr('data-file'),
timestamp:$(element).attr('data-timestamp'),
type:$(element).attr('data-type'),
dirlisting:$(element).attr('data-dirlisting')
type:$(element).attr('data-type')
};
if(property){
files.push(file[property]);

Просмотреть файл

@ -921,6 +921,17 @@ class Access extends LDAPUtility {
return $name;
}
/**
* @brief escapes (user provided) parts for LDAP filter
* @param String $input, the provided value
* @returns the escaped string
*/
public function escapeFilterPart($input) {
$search = array('*', '\\', '(', ')');
$replace = array('\\*', '\\\\', '\\(', '\\)');
return str_replace($search, $replace, $input);
}
/**
* @brief combines the input filters with AND
* @param $filters array, the filters to connect

Просмотреть файл

@ -118,10 +118,16 @@ class Helper {
return false;
}
$saveOtherConfigurations = '';
if(empty($prefix)) {
$saveOtherConfigurations = 'AND `Configkey` NOT LIKE \'s%\'';
}
$query = \OCP\DB::prepare('
DELETE
FROM `*PREFIX*appconfig`
WHERE `configkey` LIKE ?
'.$saveOtherConfigurations.'
AND `appid` = \'user_ldap\'
AND `configkey` NOT IN (\'enabled\', \'installed_version\', \'types\', \'bgjUpdateGroupsLastRun\')
');

Просмотреть файл

@ -163,6 +163,8 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface {
* Check if the password is correct without logging in the user
*/
public function checkPassword($uid, $password) {
$uid = $this->access->escapeFilterPart($uid);
//find out dn of the user name
$filter = \OCP\Util::mb_str_replace(
'%uid', $uid, $this->access->connection->ldapLoginFilter, 'UTF-8');
@ -203,6 +205,7 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface {
* Get a list of all users.
*/
public function getUsers($search = '', $limit = 10, $offset = 0) {
$search = $this->access->escapeFilterPart($search);
$cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset;
//check if users are cached, if so return

Просмотреть файл

@ -263,4 +263,7 @@ $CONFIG = array(
/* whether usage of the instance should be restricted to admin users only */
'singleuser' => false,
/* where mount.json file should be stored, defaults to data/mount.json */
'mount_file' => '',
);

Просмотреть файл

@ -9,28 +9,43 @@ OC_Util::checkAdminUser();
OCP\JSON::callCheck();
$action=isset($_POST['action'])?$_POST['action']:$_GET['action'];
if(isset($_POST['app']) || isset($_GET['app'])) {
$app=OC_App::cleanAppId(isset($_POST['app'])?$_POST['app']:$_GET['app']);
}
// An admin should not be able to add remote and public services
// on its own. This should only be possible programmatically.
// This change is due the fact that an admin may not be expected
// to execute arbitrary code in every environment.
if($app === 'core' && isset($_POST['key']) &&(substr($_POST['key'],0,7) === 'remote_' || substr($_POST['key'],0,7) === 'public_')) {
OC_JSON::error(array('data' => array('message' => 'Unexpected error!')));
return;
}
$result=false;
switch($action) {
case 'getValue':
$result=OC_Appconfig::getValue($_GET['app'], $_GET['key'], $_GET['defaultValue']);
$result=OC_Appconfig::getValue($app, $_GET['key'], $_GET['defaultValue']);
break;
case 'setValue':
$result=OC_Appconfig::setValue($_POST['app'], $_POST['key'], $_POST['value']);
$result=OC_Appconfig::setValue($app, $_POST['key'], $_POST['value']);
break;
case 'getApps':
$result=OC_Appconfig::getApps();
break;
case 'getKeys':
$result=OC_Appconfig::getKeys($_GET['app']);
$result=OC_Appconfig::getKeys($app);
break;
case 'hasKey':
$result=OC_Appconfig::hasKey($_GET['app'], $_GET['key']);
$result=OC_Appconfig::hasKey($app, $_GET['key']);
break;
case 'deleteKey':
$result=OC_Appconfig::deleteKey($_POST['app'], $_POST['key']);
$result=OC_Appconfig::deleteKey($app, $_POST['key']);
break;
case 'deleteApp':
$result=OC_Appconfig::deleteApp($_POST['app']);
$result=OC_Appconfig::deleteApp($app);
break;
}
OC_JSON::success(array('data'=>$result));

Просмотреть файл

@ -85,93 +85,32 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
}
break;
case 'informRecipients':
$l = OC_L10N::get('core');
$shareType = (int) $_POST['shareType'];
$itemType = $_POST['itemType'];
$itemSource = $_POST['itemSource'];
$recipient = $_POST['recipient'];
$ownerDisplayName = \OCP\User::getDisplayName();
$from = \OCP\Util::getDefaultEmailAddress('sharing-noreply');
$noMail = array();
$recipientList = array();
if($shareType === \OCP\Share::SHARE_TYPE_USER) {
$recipientList[] = $recipient;
} elseif ($shareType === \OCP\Share::SHARE_TYPE_GROUP) {
$recipientList = \OC_Group::usersInGroup($recipient);
}
// don't send a mail to the user who shared the file
$recipientList = array_diff($recipientList, array(\OCP\User::getUser()));
// send mail to all recipients with an email address
foreach ($recipientList as $recipient) {
//get correct target folder name
$email = OC_Preferences::getValue($recipient, 'settings', 'email', '');
if ($email !== '') {
$displayName = \OCP\User::getDisplayName($recipient);
$items = \OCP\Share::getItemSharedWithUser($itemType, $itemSource, $recipient);
$filename = trim($items[0]['file_target'], '/');
$subject = (string)$l->t('%s shared »%s« with you', array($ownerDisplayName, $filename));
$expiration = null;
if (isset($items[0]['expiration'])) {
try {
$date = new DateTime($items[0]['expiration']);
$expiration = $l->l('date', $date->getTimestamp());
} catch (Exception $e) {
\OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR);
}
}
if ($itemType === 'folder') {
$foldername = "/Shared/" . $filename;
} else {
// if it is a file we can just link to the Shared folder,
// that's the place where the user will find the file
$foldername = "/Shared";
}
$link = \OCP\Util::linkToAbsolute('files', 'index.php', array("dir" => $foldername));
$content = new OC_Template("core", "mail", "");
$content->assign('link', $link);
$content->assign('user_displayname', $ownerDisplayName);
$content->assign('filename', $filename);
$content->assign('expiration', $expiration);
$text = $content->fetchPage();
$content = new OC_Template("core", "altmail", "");
$content->assign('link', $link);
$content->assign('user_displayname', $ownerDisplayName);
$content->assign('filename', $filename);
$content->assign('expiration', $expiration);
$alttext = $content->fetchPage();
$default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply');
$from = OCP\Config::getUserValue(\OCP\User::getUser(), 'settings', 'email', $default_from);
// send it out now
try {
OCP\Util::sendMail($email, $displayName, $subject, $text, $from, $ownerDisplayName, 1, $alttext);
} catch (Exception $exception) {
$noMail[] = \OCP\User::getDisplayName($recipient);
}
}
}
$mailNotification = new OC\Share\MailNotifications();
$result = $mailNotification->sendInternalShareMail($recipientList, $itemSource, $itemType);
\OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, true);
if (empty($noMail)) {
if (empty($result)) {
OCP\JSON::success();
} else {
OCP\JSON::error(array(
'data' => array(
'message' => $l->t("Couldn't send mail to following users: %s ",
implode(', ', $noMail)
implode(', ', $result)
)
)
));
@ -187,56 +126,31 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
break;
case 'email':
// enable l10n support
$l = OC_L10N::get('core');
// read post variables
$user = OCP\USER::getUser();
$displayName = OCP\User::getDisplayName();
$type = $_POST['itemType'];
$link = $_POST['link'];
$file = $_POST['file'];
$to_address = $_POST['toaddress'];
$mailNotification = new \OC\Share\MailNotifications();
$expiration = null;
if (isset($_POST['expiration']) && $_POST['expiration'] !== '') {
try {
$date = new DateTime($_POST['expiration']);
$expiration = $l->l('date', $date->getTimestamp());
$expiration = $date->getTimestamp();
} catch (Exception $e) {
\OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR);
}
}
// setup the email
$subject = (string)$l->t('%s shared »%s« with you', array($displayName, $file));
$content = new OC_Template("core", "mail", "");
$content->assign ('link', $link);
$content->assign ('type', $type);
$content->assign ('user_displayname', $displayName);
$content->assign ('filename', $file);
$content->assign('expiration', $expiration);
$text = $content->fetchPage();
$content = new OC_Template("core", "altmail", "");
$content->assign ('link', $link);
$content->assign ('type', $type);
$content->assign ('user_displayname', $displayName);
$content->assign ('filename', $file);
$content->assign('expiration', $expiration);
$alttext = $content->fetchPage();
$default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply');
$from_address = OCP\Config::getUserValue($user, 'settings', 'email', $default_from );
// send it out now
try {
OCP\Util::sendMail($to_address, $to_address, $subject, $text, $from_address, $displayName, 1, $alttext);
OCP\JSON::success();
} catch (Exception $exception) {
OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($exception->getMessage()))));
$result = $mailNotification->sendLinkShareMail($to_address, $file, $link, $expiration);
if($result === true) {
\OCP\JSON::success();
} else {
\OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($result))));
}
break;
}
} else if (isset($_GET['fetch'])) {

Просмотреть файл

@ -54,11 +54,6 @@
background-color: #1B314D;
}
/* in IE9 the nav bar on the left side is too narrow and leave a white area - original width is 80px */
.ie9 #navigation {
width: 100px;
}
/* IE8 isn't able to display transparent background. So it is specified using a gradient */
.ie8 #nojavascript {
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000'); /* IE */

Просмотреть файл

@ -48,7 +48,7 @@ ul.multiselectoptions > li input[type='checkbox']:checked+label {
font-weight: bold;
}
div.multiselect {
div.multiselect, select.multiselect {
display: inline-block;
max-width: 400px;
min-width: 150px;
@ -58,6 +58,12 @@ div.multiselect {
vertical-align: bottom;
}
/* To make a select look like a multiselect until it's initialized */
select.multiselect {
height: 30px;
min-width: 113px;
}
div.multiselect.active {
background-color: #fff;
position: relative;

Просмотреть файл

@ -74,6 +74,19 @@ body { background:#fefefe; font:normal .8em/1.6em "Helvetica Neue",Helvetica,Ari
color: #aaa;
}
#header .logo {
background-image: url(../img/logo.svg);
width: 250px;
height: 118px;
margin: 0 auto;
}
#header .logo-wide {
background-image: url(../img/logo-wide.svg);
width: 147px;
height: 32px;
}
/* INPUTS */
input[type="text"],
input[type="password"],
@ -933,3 +946,15 @@ div.crumb:active {
opacity:.7;
}
.appear {
opacity: 1;
transition: opacity 500ms ease 0s;
-moz-transition: opacity 500ms ease 0s;
-ms-transition: opacity 500ms ease 0s;
-o-transition: opacity 500ms ease 0s;
-webkit-transition: opacity 500ms ease 0s;
}
.appear.transparent {
opacity: 0;
}

Двоичные данные
core/img/actions/add.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 184 B

После

Ширина:  |  Высота:  |  Размер: 111 B

Двоичные данные
core/img/actions/caret-dark.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 304 B

После

Ширина:  |  Высота:  |  Размер: 199 B

Просмотреть файл

@ -1,13 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none;" d="m4,5,4,7,4-6.989z" fill-opacity="0.19607843" fill="#FFF"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none;" fill="#000" d="m4,4,4,7,4-6.989z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" fill="#FFF" d="m4 5 4 7 4-6.989z" fill-opacity=".19608"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4 4 4 7 4-6.989z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 711 B

После

Ширина:  |  Высота:  |  Размер: 532 B

Двоичные данные
core/img/actions/caret.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 269 B

После

Ширина:  |  Высота:  |  Размер: 196 B

Просмотреть файл

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10" width="10" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<linearGradient id="a" y2="8.0832" gradientUnits="userSpaceOnUse" x2="8.4965" gradientTransform="matrix(1.0526 0 0 .98436 -3.4211 1.0602)" y1="-.061574" x1="8.4965">
<linearGradient id="a" x1="8.4965" gradientUnits="userSpaceOnUse" y1="-.061574" gradientTransform="matrix(1.0526 0 0 .98436 -3.4211 1.0602)" x2="8.4965" y2="8.0832">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#e6e6e6" offset="1"/>
</linearGradient>
</defs>
<path opacity=".5" style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m1 2 4 8 4-7.989z"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m1 1 4 8 4-7.989z" fill="url(#a)"/>
<path opacity=".5" style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m1 2 4 8 4-7.989z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m1 1 4 8 4-7.989z" fill="url(#a)"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 857 B

После

Ширина:  |  Высота:  |  Размер: 857 B

Двоичные данные
core/img/actions/checkmark-white.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 286 B

После

Ширина:  |  Высота:  |  Размер: 212 B

Просмотреть файл

@ -1,4 +1,4 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="16px" viewBox="-0.5 -0.5 16 16" width="16px" enable-background="new -0.5 -0.5 16 16" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" overflow="visible"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><defs>
</defs>
<path fill="#ffffff" d="M12.438,3.6875c-0.363,0-0.726,0.1314-1,0.4063l-4.5005,4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2,0l-0.5,0.5c-0.5512,0.5496-0.5512,1.4502,0,2l2.9687,2.9682c0.0063,0.007-0.0065,0.025,0,0.032l0.5,0.5c0.5497,0.55,1.4503,0.55,2,0l0.5-0.5,0.1875-0.219,5.313-5.2812c0.549-0.5498,0.549-1.4503,0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z" transform="translate(-0.5,-0.5)"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" overflow="visible" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new -0.5 -0.5 16 16" viewBox="-0.5 -0.5 16 16" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path transform="translate(-.5 -.5)" d="m12.438 3.6875c-0.363 0-0.726 0.1314-1 0.4063l-4.5005 4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2 0l-0.5 0.5c-0.5512 0.5496-0.5512 1.4502 0 2l2.9687 2.9682c0.0063 0.007-0.0065 0.025 0 0.032l0.5 0.5c0.5497 0.55 1.4503 0.55 2 0l0.5-0.5 0.1875-0.219 5.313-5.2812c0.549-0.5498 0.549-1.4503 0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z" fill="#fff"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 946 B

После

Ширина:  |  Высота:  |  Размер: 799 B

Двоичные данные
core/img/actions/checkmark.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 303 B

После

Ширина:  |  Высота:  |  Размер: 229 B

Просмотреть файл

@ -1,4 +1,4 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="16px" viewBox="-0.5 -0.5 16 16" width="16px" enable-background="new -0.5 -0.5 16 16" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" overflow="visible"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><defs>
</defs>
<path fill="#000" d="M12.438,3.6875c-0.363,0-0.726,0.1314-1,0.4063l-4.5005,4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2,0l-0.5,0.5c-0.5512,0.5496-0.5512,1.4502,0,2l2.9687,2.9682c0.0063,0.007-0.0065,0.025,0,0.032l0.5,0.5c0.5497,0.55,1.4503,0.55,2,0l0.5-0.5,0.1875-0.219,5.313-5.2812c0.549-0.5498,0.549-1.4503,0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z" transform="translate(-0.5,-0.5)"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" overflow="visible" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new -0.5 -0.5 16 16" viewBox="-0.5 -0.5 16 16" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path transform="translate(-.5 -.5)" d="m12.438 3.6875c-0.363 0-0.726 0.1314-1 0.4063l-4.5005 4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2 0l-0.5 0.5c-0.5512 0.5496-0.5512 1.4502 0 2l2.9687 2.9682c0.0063 0.007-0.0065 0.025 0 0.032l0.5 0.5c0.5497 0.55 1.4503 0.55 2 0l0.5-0.5 0.1875-0.219 5.313-5.2812c0.549-0.5498 0.549-1.4503 0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 943 B

После

Ширина:  |  Высота:  |  Размер: 787 B

Двоичные данные
core/img/actions/clock.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 367 B

После

Ширина:  |  Высота:  |  Размер: 332 B

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" viewBox="0 0 100 100" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
<path d="m50 89.836c-23.389 0-42.418-19.027-42.418-42.417s19.029-42.419 42.418-42.419 42.418 19.029 42.418 42.419-19.029 42.417-42.418 42.417zm0-79.924c-20.681 0-37.506 16.826-37.506 37.508 0 20.681 16.826 37.505 37.506 37.505s37.507-16.824 37.507-37.505c0-20.683-16.826-37.508-37.507-37.508z"/>
<path d="m50.001 49.875c-0.141 0-0.283-0.011-0.427-0.037-1.173-0.206-2.03-1.226-2.03-2.419v-17.977c0-1.355 1.1-2.456 2.456-2.456 1.355 0 2.456 1.1 2.456 2.456v4.003l5.431-14.974c0.464-1.274 1.872-1.937 3.146-1.471 1.274 0.462 1.934 1.871 1.471 3.146l-10.195 28.11c-0.357 0.985-1.29 1.619-2.308 1.619z"/>
<circle cy="12.956" cx="49.999" r="1.617"/>

До

Ширина:  |  Высота:  |  Размер: 3.7 KiB

После

Ширина:  |  Высота:  |  Размер: 3.7 KiB

Двоичные данные
core/img/actions/close.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 254 B

После

Ширина:  |  Высота:  |  Размер: 181 B

Двоичные данные
core/img/actions/delete-hover.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 295 B

После

Ширина:  |  Высота:  |  Размер: 222 B

Просмотреть файл

@ -1,12 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<path fill="#d40000" d="M8,1c-3.866,0-7,3.134-7,7s3.134,7,7,7,7-3.134,7-7-3.134-7-7-7zm-2.8438,2.75l2.8438,2.8438,2.844-2.8438,1.406,1.4062-2.8438,2.8438,2.8438,2.844-1.406,1.406-2.844-2.8438-2.8438,2.8438-1.4062-1.406,2.8438-2.844-2.8438-2.8438,1.4062-1.4062z"/>
<path d="m8 1c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zm-2.8438 2.75l2.8438 2.8438 2.844-2.8438 1.406 1.4062-2.8438 2.8438 2.8438 2.844-1.406 1.406-2.844-2.8438-2.8438 2.8438-1.4062-1.406 2.8438-2.844-2.8438-2.8438 1.4062-1.4062z" fill="#d40000"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 708 B

После

Ширина:  |  Высота:  |  Размер: 547 B

Двоичные данные
core/img/actions/delete.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 254 B

После

Ширина:  |  Высота:  |  Размер: 181 B

Двоичные данные
core/img/actions/download.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 236 B

После

Ширина:  |  Высота:  |  Размер: 162 B

Двоичные данные
core/img/actions/history.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 321 B

После

Ширина:  |  Высота:  |  Размер: 249 B

Двоичные данные
core/img/actions/info.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 423 B

После

Ширина:  |  Высота:  |  Размер: 349 B

Просмотреть файл

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<linearGradient id="a" y2="28.777" gradientUnits="userSpaceOnUse" y1="13.895" gradientTransform="matrix(1.0345 0 0 1.0345 8.0708 -14.514)" x2=".44924" x1=".86850">
<linearGradient id="a" x1=".8685" gradientUnits="userSpaceOnUse" x2=".44924" gradientTransform="matrix(1.0345 0 0 1.0345 8.0708 -14.514)" y1="13.895" y2="28.777">
<stop offset="0"/>
<stop stop-color="#363636" offset="1"/>
</linearGradient>

До

Ширина:  |  Высота:  |  Размер: 1.9 KiB

После

Ширина:  |  Высота:  |  Размер: 1.9 KiB

Двоичные данные
core/img/actions/lock.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 295 B

После

Ширина:  |  Высота:  |  Размер: 221 B

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" viewBox="0 0 71 100" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 71 100">
<path d="m65.5 45v-15c0-16.542-13.458-30-30-30s-30 13.458-30 30v15h-5.5v55h71v-55h-5.5zm-52-15c0-12.131 9.869-22 22-22s22 9.869 22 22v15h-44v-15z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 495 B

После

Ширина:  |  Высота:  |  Размер: 495 B

Двоичные данные
core/img/actions/logout.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 424 B

После

Ширина:  |  Высота:  |  Размер: 352 B

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m8.0001 0c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9435-0.047-4.048 2.1873-5.2187 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m8.0001 1c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9436-0.047-4.0481 2.1873-5.2188 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z" fill="#fff"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m8.0001 0c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9435-0.047-4.048 2.1873-5.2187 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m8.0001 1c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9436-0.047-4.0481 2.1873-5.2188 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z" fill="#fff"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 1.9 KiB

После

Ширина:  |  Высота:  |  Размер: 1.9 KiB

Двоичные данные
core/img/actions/mail.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 303 B

После

Ширина:  |  Высота:  |  Размер: 229 B

Двоичные данные
core/img/actions/more.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 195 B

После

Ширина:  |  Высота:  |  Размер: 122 B

Двоичные данные
core/img/actions/password.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 248 B

После

Ширина:  |  Высота:  |  Размер: 159 B

Просмотреть файл

@ -1,3 +1,4 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 71 100"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata>
<path d="M8,1c-2.2091,0-4,1.7909-4,4v2h-1v7h10v-7h-1v-2c0-2.2091-1.791-4-4-4zm0,2c1.1046,0,2,0.89543,2,2v2h-4v-2c0-1.1046,0.8954-2,2-2z" transform="matrix(6.25,0,0,6.25,-14.5,0)" fill="#000"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 71 100" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path d="m8 1c-2.2091 0-4 1.7909-4 4v2h-1v7h10v-7h-1v-2c0-2.2091-1.791-4-4-4zm0 2c1.1046 0 2 0.89543 2 2v2h-4v-2c0-1.1046 0.8954-2 2-2z" transform="matrix(6.25,0,0,6.25,-14.5,0)"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 665 B

После

Ширина:  |  Высота:  |  Размер: 525 B

Двоичные данные
core/img/actions/pause-big.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 166 B

После

Ширина:  |  Высота:  |  Размер: 92 B

Двоичные данные
core/img/actions/pause.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 170 B

После

Ширина:  |  Высота:  |  Размер: 96 B

Двоичные данные
core/img/actions/play-add.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 237 B

После

Ширина:  |  Высота:  |  Размер: 163 B

Просмотреть файл

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g transform="translate(0 -1036.4)">
<g>
<path d="m2 1037.4 11 6-11 6z"/>
<path d="m11 1045.4v2h-2v2h2v2h2v-2h2v-2h-2v-2z"/>
</g>
<path d="m2 1037.4 11 6-11 6z"/>
<path d="m11 1045.4v2h-2v2h2v2h2v-2h2v-2h-2v-2z"/>
</g>
</svg>

До

Ширина:  |  Высота:  |  Размер: 429 B

После

Ширина:  |  Высота:  |  Размер: 414 B

Двоичные данные
core/img/actions/play-big.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 210 B

После

Ширина:  |  Высота:  |  Размер: 136 B

Двоичные данные
core/img/actions/play-next.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 224 B

После

Ширина:  |  Высота:  |  Размер: 150 B

Двоичные данные
core/img/actions/play-previous.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 237 B

После

Ширина:  |  Высота:  |  Размер: 163 B

Двоичные данные
core/img/actions/play.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 201 B

После

Ширина:  |  Высота:  |  Размер: 127 B

Двоичные данные
core/img/actions/public.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 412 B

После

Ширина:  |  Высота:  |  Размер: 338 B

Двоичные данные
core/img/actions/rename.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 267 B

После

Ширина:  |  Высота:  |  Размер: 193 B

Двоичные данные
core/img/actions/search.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 420 B

После

Ширина:  |  Высота:  |  Размер: 348 B

Просмотреть файл

@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<linearGradient id="a" y2="38.409" gradientUnits="userSpaceOnUse" x2="46.396" gradientTransform="matrix(-.41002 0 0 .54471 28.023 -5.922)" y1="12.708" x1="46.396">
<linearGradient id="a" x1="46.396" gradientUnits="userSpaceOnUse" y1="12.708" gradientTransform="matrix(-.41002 0 0 .54471 28.023 -5.922)" x2="46.396" y2="38.409">
<stop offset="0"/>
<stop stop-color="#363636" offset="1"/>
</linearGradient>
</defs>
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
<g>
<path opacity=".6" style="color:#000000" d="m6 1.9992c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.4068c0.4776-0.76635 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="#fff"/>
<path opacity=".7" style="color:#000000" d="m6 1c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.406c0.478-0.7663 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="url(#a)"/>
</g>
<path opacity=".6" style="color:#000000" d="m6 1.9992c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.4068c0.4776-0.76635 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="#fff"/>
<path opacity=".7" style="color:#000000" d="m6 1c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.406c0.478-0.7663 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="url(#a)"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 1.6 KiB

После

Ширина:  |  Высота:  |  Размер: 1.5 KiB

Двоичные данные
core/img/actions/settings.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 524 B

После

Ширина:  |  Высота:  |  Размер: 452 B

Просмотреть файл

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<linearGradient id="c" y2="7.556" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="15.5" y1="7.556" x1=".5"/>
<linearGradient id="d" x1=".5" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="15.5" y1="7.556" y2="7.556"/>
<linearGradient id="a">
<stop offset="0"/>
<stop stop-color="#363636" offset="1"/>
</linearGradient>
<linearGradient id="b" y2="14.998" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="7.493" y1=".0035527" x1="7.493"/>
<linearGradient id="e" x1="7.493" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="7.493" y1=".0035527" y2="14.998"/>
</defs>
<g opacity=".6" transform="translate(.027972 .944)" fill="#fff">
<path d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block" fill="#fff"/>
<path fill="#fff" d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block"/>
</g>
<g opacity=".7" transform="translate(0 -.056)" fill="url(#c)">
<path d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block" fill="url(#b)"/>
<g opacity=".7" transform="translate(0 -.056)" fill="url(#d)">
<path fill="url(#e)" d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block"/>
</g>
</svg>

До

Ширина:  |  Высота:  |  Размер: 3.5 KiB

После

Ширина:  |  Высота:  |  Размер: 3.5 KiB

Двоичные данные
core/img/actions/share.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 338 B

После

Ширина:  |  Высота:  |  Размер: 264 B

Двоичные данные
core/img/actions/shared.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 364 B

После

Ширина:  |  Высота:  |  Размер: 290 B

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m4.5689 2.4831c-0.96481 0-1.7833 0.70559-1.7833 1.6162 0.00685 0.28781 0.032588 0.64272 0.20434 1.3933v0.018581l0.018574 0.018573c0.055135 0.15793 0.13537 0.24827 0.24149 0.37154 0.10612 0.12326 0.23263 0.26834 0.35294 0.39011 0.014154 0.014326 0.023227 0.023201 0.037149 0.037163 0.023859 0.10383 0.052763 0.21557 0.074304 0.3158 0.057317 0.26668 0.051439 0.45553 0.037155 0.52015-0.4146 0.1454-0.9304 0.3187-1.3932 0.5199-0.2598 0.113-0.4949 0.2139-0.6873 0.3344-0.1923 0.1206-0.3836 0.2116-0.4458 0.483-0.0007972 0.012367-0.0007972 0.024787 0 0.037163-0.060756 0.55788-0.15266 1.3783-0.22291 1.932-0.015166 0.11656 0.046264 0.23943 0.14861 0.29723 0.84033 0.45393 2.1312 0.63663 3.418 0.63161 1.2868-0.005 2.5674-0.19845 3.3808-0.63161 0.10234-0.0578 0.16378-0.18067 0.14861-0.29723-0.0224-0.173-0.05-0.5633-0.0743-0.9474-0.0243-0.384-0.0454-0.7617-0.0743-0.9845-0.0101-0.0552-0.0362-0.1074-0.0743-0.1486-0.2584-0.3086-0.6445-0.4973-1.096-0.6874-0.4122-0.1735-0.8954-0.3538-1.3746-0.5573-0.02682-0.059748-0.053461-0.23358 0-0.50157 0.014356-0.071959 0.036836-0.14903 0.055729-0.22292 0.045032-0.05044 0.080132-0.091658 0.13003-0.14861 0.1064-0.1215 0.2207-0.2489 0.3157-0.3715 0.0951-0.1226 0.1728-0.2279 0.223-0.3715l0.018574-0.018581c0.1941-0.7837 0.1942-1.1107 0.2043-1.3933v-0.018573c0-0.91058-0.81848-1.6162-1.7833-1.6162zm5.101-1.4831c-1.4067 0-2.6 1.0287-2.6 2.3562 0.00998 0.4196 0.047512 0.93701 0.29791 2.0312v0.027083l0.027081 0.027083c0.080384 0.23025 0.19736 0.36196 0.35208 0.54166s0.33917 0.39121 0.51458 0.56874c0.020637 0.020887 0.033864 0.033826 0.054161 0.054175 0.034785 0.15137 0.076926 0.31428 0.10833 0.46041 0.083566 0.38879 0.074995 0.66411 0.054171 0.75832-0.6045 0.2122-1.3565 0.465-2.0312 0.7583-0.3789 0.1647-0.7217 0.3118-1.0021 0.4875-0.28044 0.17574-0.55934 0.30851-0.64999 0.70416-0.00116 0.01804-0.00116 0.03613 0 0.05418-0.08858 0.81334-0.22257 2.0094-0.325 2.8166-0.022111 0.16993 0.067452 0.34906 0.21666 0.43333 1.2252 0.66179 3.1072 0.92814 4.9833 0.92082 1.8761-0.0073 3.7431-0.28932 4.9291-0.92082 0.14921-0.08427 0.23878-0.2634 0.21666-0.43333-0.0327-0.25234-0.07287-0.82136-0.10833-1.3812-0.03546-0.55988-0.06625-1.1106-0.10833-1.4354-0.01468-0.0805-0.05274-0.15661-0.10833-0.21666-0.377-0.4498-0.94-0.7248-1.598-1.002-0.601-0.253-1.306-0.5158-2.004-0.8125-0.0391-0.087106-0.07795-0.34054 0-0.73124 0.02093-0.10491 0.05371-0.21727 0.08125-0.325 0.06566-0.073537 0.11683-0.13363 0.18958-0.21666 0.15516-0.17709 0.32189-0.36287 0.46041-0.54166s0.25186-0.33217 0.325-0.54166l0.02708-0.027083c0.28309-1.1425 0.28324-1.6193 0.29792-2.0312v-0.027083c0-1.3275-1.1933-2.3562-2.6-2.3562z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4.5689 2.4831c-0.96481 0-1.7833 0.70559-1.7833 1.6162 0.00685 0.28781 0.032588 0.64272 0.20434 1.3933v0.018581l0.018574 0.018573c0.055135 0.15793 0.13537 0.24827 0.24149 0.37154 0.10612 0.12326 0.23263 0.26834 0.35294 0.39011 0.014154 0.014326 0.023227 0.023201 0.037149 0.037163 0.023859 0.10383 0.052763 0.21557 0.074304 0.3158 0.057317 0.26668 0.051439 0.45553 0.037155 0.52015-0.4146 0.1454-0.9304 0.3187-1.3932 0.5199-0.2598 0.113-0.4949 0.2139-0.6873 0.3344-0.1923 0.1206-0.3836 0.2116-0.4458 0.483-0.0007972 0.012367-0.0007972 0.024787 0 0.037163-0.060756 0.55788-0.15266 1.3783-0.22291 1.932-0.015166 0.11656 0.046264 0.23943 0.14861 0.29723 0.84033 0.45393 2.1312 0.63663 3.418 0.63161 1.2868-0.005 2.5674-0.19845 3.3808-0.63161 0.10234-0.0578 0.16378-0.18067 0.14861-0.29723-0.0224-0.173-0.05-0.5633-0.0743-0.9474-0.0243-0.384-0.0454-0.7617-0.0743-0.9845-0.0101-0.0552-0.0362-0.1074-0.0743-0.1486-0.2584-0.3086-0.6445-0.4973-1.096-0.6874-0.4122-0.1735-0.8954-0.3538-1.3746-0.5573-0.02682-0.059748-0.053461-0.23358 0-0.50157 0.014356-0.071959 0.036836-0.14903 0.055729-0.22292 0.045032-0.05044 0.080132-0.091658 0.13003-0.14861 0.1064-0.1215 0.2207-0.2489 0.3157-0.3715 0.0951-0.1226 0.1728-0.2279 0.223-0.3715l0.018574-0.018581c0.1941-0.7837 0.1942-1.1107 0.2043-1.3933v-0.018573c0-0.91058-0.81848-1.6162-1.7833-1.6162zm5.101-1.4831c-1.4067 0-2.6 1.0287-2.6 2.3562 0.00998 0.4196 0.047512 0.93701 0.29791 2.0312v0.027083l0.027081 0.027083c0.080384 0.23025 0.19736 0.36196 0.35208 0.54166s0.33917 0.39121 0.51458 0.56874c0.020637 0.020887 0.033864 0.033826 0.054161 0.054175 0.034785 0.15137 0.076926 0.31428 0.10833 0.46041 0.083566 0.38879 0.074995 0.66411 0.054171 0.75832-0.6045 0.2122-1.3565 0.465-2.0312 0.7583-0.3789 0.1647-0.7217 0.3118-1.0021 0.4875-0.28044 0.17574-0.55934 0.30851-0.64999 0.70416-0.00116 0.01804-0.00116 0.03613 0 0.05418-0.08858 0.81334-0.22257 2.0094-0.325 2.8166-0.022111 0.16993 0.067452 0.34906 0.21666 0.43333 1.2252 0.66179 3.1072 0.92814 4.9833 0.92082 1.8761-0.0073 3.7431-0.28932 4.9291-0.92082 0.14921-0.08427 0.23878-0.2634 0.21666-0.43333-0.0327-0.25234-0.07287-0.82136-0.10833-1.3812-0.03546-0.55988-0.06625-1.1106-0.10833-1.4354-0.01468-0.0805-0.05274-0.15661-0.10833-0.21666-0.377-0.4498-0.94-0.7248-1.598-1.002-0.601-0.253-1.306-0.5158-2.004-0.8125-0.0391-0.087106-0.07795-0.34054 0-0.73124 0.02093-0.10491 0.05371-0.21727 0.08125-0.325 0.06566-0.073537 0.11683-0.13363 0.18958-0.21666 0.15516-0.17709 0.32189-0.36287 0.46041-0.54166s0.25186-0.33217 0.325-0.54166l0.02708-0.027083c0.28309-1.1425 0.28324-1.6193 0.29792-2.0312v-0.027083c0-1.3275-1.1933-2.3562-2.6-2.3562z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 3.1 KiB

После

Ширина:  |  Высота:  |  Размер: 3.1 KiB

Двоичные данные
core/img/actions/sound-off.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 192 B

После

Ширина:  |  Высота:  |  Размер: 118 B

Двоичные данные
core/img/actions/sound.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 254 B

После

Ширина:  |  Высота:  |  Размер: 180 B

Двоичные данные
core/img/actions/star.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 640 B

После

Ширина:  |  Высота:  |  Размер: 565 B

Просмотреть файл

@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22" width="22" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g transform="matrix(0.06832234,0,0,0.06832234,-10.114234,-50.901693)">
<path fill="#CCC" transform="translate(-21.071,-112.5)" d="m330.36,858.43,43.111,108.06,117.64,9.2572-89.445,74.392,27.55,114.75-98.391-62.079-100.62,61.66,28.637-112.76-89.734-76.638,116.09-7.6094z"/>
<g transform="matrix(.068322 0 0 .068322 -10.114 -50.902)">
<path d="m330.36 858.43 43.111 108.06 117.64 9.2572-89.445 74.392 27.55 114.75-98.391-62.079-100.62 61.66 28.637-112.76-89.734-76.638 116.09-7.6094z" transform="translate(-21.071,-112.5)" fill="#CCC"/>
</g>
</svg>

До

Ширина:  |  Высота:  |  Размер: 726 B

После

Ширина:  |  Высота:  |  Размер: 553 B

Двоичные данные
core/img/actions/starred.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 566 B

После

Ширина:  |  Высота:  |  Размер: 492 B

Просмотреть файл

@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22" width="22" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g transform="matrix(0.06832234,0,0,0.06832234,-10.114235,-50.901693)">
<path fill="#FC0" transform="translate(-21.071,-112.5)" d="m330.36,858.43,43.111,108.06,117.64,9.2572-89.445,74.392,27.55,114.75-98.391-62.079-100.62,61.66,28.637-112.76-89.734-76.638,116.09-7.6094z"/>
<g transform="matrix(.068322 0 0 .068322 -10.114 -50.902)">
<path d="m330.36 858.43 43.111 108.06 117.64 9.2572-89.445 74.392 27.55 114.75-98.391-62.079-100.62 61.66 28.637-112.76-89.734-76.638 116.09-7.6094z" transform="translate(-21.071,-112.5)" fill="#FC0"/>
</g>
</svg>

До

Ширина:  |  Высота:  |  Размер: 726 B

После

Ширина:  |  Высота:  |  Размер: 553 B

Двоичные данные
core/img/actions/toggle-filelist.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 195 B

После

Ширина:  |  Высота:  |  Размер: 122 B

Просмотреть файл

@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g>
<rect rx=".5" ry=".5" height="4" width="4" y="1" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="2" x="6"/>
<rect rx=".5" ry=".5" height="4" width="4" y="6" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="7" x="6"/>
<rect rx=".5" ry=".5" height="4" width="4" y="11" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="12" x="6"/>
</g>
<rect rx=".5" ry=".5" height="4" width="4" y="1" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="2" x="6"/>
<rect rx=".5" ry=".5" height="4" width="4" y="6" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="7" x="6"/>
<rect rx=".5" ry=".5" height="4" width="4" y="11" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="12" x="6"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 692 B

После

Ширина:  |  Высота:  |  Размер: 675 B

Двоичные данные
core/img/actions/toggle-pictures.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 193 B

После

Ширина:  |  Высота:  |  Размер: 120 B

Просмотреть файл

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g>
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="1"/>
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="9"/>
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="9"/>
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="1"/>
</g>
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="1"/>
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="9"/>
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="9"/>
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="1"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 572 B

После

Ширина:  |  Высота:  |  Размер: 557 B

Двоичные данные
core/img/actions/toggle.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 391 B

После

Ширина:  |  Высота:  |  Размер: 318 B

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 16 9" xml:space="preserve" overflow="visible" height="9px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 16 9">
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="9px" viewBox="0 0 16 9" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new 0 0 16 9" overflow="visible" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path d="m7.999 0c-3.109 0-5.926 1.719-7.999 4.5 2.073 2.781 4.89 4.5 7.999 4.5 3.111 0 5.928-1.719 8.001-4.5-2.073-2.781-4.892-4.5-8.001-4.5zm0.001 7.5c-1.657 0-3-1.343-3-3s1.343-3 3-3c1.657 0 3 1.343 3 3s-1.343 3-3 3z" fill="#222"/>
<circle cy="4.501" cx="8" r="1.5" fill="#222"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 676 B

После

Ширина:  |  Высота:  |  Размер: 676 B

Двоичные данные
core/img/actions/triangle-e.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 174 B

После

Ширина:  |  Высота:  |  Размер: 121 B

Двоичные данные
core/img/actions/triangle-n.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 211 B

После

Ширина:  |  Высота:  |  Размер: 138 B

Просмотреть файл

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16px" width="16px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m12 12-4-8-4 7.989z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m12 12-4-8-4 7.989z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 439 B

После

Ширина:  |  Высота:  |  Размер: 439 B

Двоичные данные
core/img/actions/triangle-s.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 211 B

После

Ширина:  |  Высота:  |  Размер: 138 B

Просмотреть файл

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16px" width="16px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m4 4 4 8 4-7.989z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4 4 4 8 4-7.989z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 437 B

После

Ширина:  |  Высота:  |  Размер: 437 B

Двоичные данные
core/img/actions/upload-white.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 226 B

После

Ширина:  |  Высота:  |  Размер: 152 B

Двоичные данные
core/img/actions/upload.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 235 B

После

Ширина:  |  Высота:  |  Размер: 161 B

Двоичные данные
core/img/actions/user.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 374 B

После

Ширина:  |  Высота:  |  Размер: 300 B

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m8.4036 1c-1.7312 0-3.1998 1.2661-3.1998 2.9 0.012287 0.51643 0.058473 1.1532 0.36664 2.5v0.033333l0.033328 0.033333c0.098928 0.28338 0.24289 0.44549 0.4333 0.66666s0.41742 0.48149 0.63328 0.69999c0.025397 0.025708 0.041676 0.041633 0.066656 0.066677 0.04281 0.18631 0.094672 0.38681 0.13332 0.56666 0.10284 0.47851 0.092296 0.81737 0.066668 0.93332-0.74389 0.26121-1.6694 0.57228-2.4998 0.93332-0.46622 0.2027-0.8881 0.3837-1.2332 0.59999-0.34513 0.2163-0.68837 0.37971-0.79994 0.86666-0.16004 0.63293-0.19866 0.7539-0.39997 1.5333-0.027212 0.20914 0.083011 0.42961 0.26665 0.53333 1.5078 0.81451 3.824 1.1423 6.1329 1.1333s4.6066-0.35609 6.0662-1.1333c0.11739-0.07353 0.14304-0.10869 0.13332-0.2333-0.04365-0.68908-0.08154-1.3669-0.13332-1.7666-0.01807-0.09908-0.06492-0.19275-0.13332-0.26666-0.46366-0.5537-1.1564-0.89218-1.9665-1.2333-0.7396-0.31144-1.6067-0.63486-2.4665-0.99999-0.048123-0.10721-0.095926-0.41912 0-0.89999 0.025759-0.12912 0.066096-0.26742 0.099994-0.4 0.0808-0.090507 0.14378-0.16447 0.23332-0.26666 0.19096-0.21796 0.39614-0.44661 0.56662-0.66666s0.30996-0.40882 0.39997-0.66666l0.03333-0.033333c0.34839-1.4062 0.34857-1.9929 0.36664-2.5v-0.033333c0-1.6339-1.4686-2.9-3.1998-2.9z"/>
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m8.4036 1c-1.7312 0-3.1998 1.2661-3.1998 2.9 0.012287 0.51643 0.058473 1.1532 0.36664 2.5v0.033333l0.033328 0.033333c0.098928 0.28338 0.24289 0.44549 0.4333 0.66666s0.41742 0.48149 0.63328 0.69999c0.025397 0.025708 0.041676 0.041633 0.066656 0.066677 0.04281 0.18631 0.094672 0.38681 0.13332 0.56666 0.10284 0.47851 0.092296 0.81737 0.066668 0.93332-0.74389 0.26121-1.6694 0.57228-2.4998 0.93332-0.46622 0.2027-0.8881 0.3837-1.2332 0.59999-0.34513 0.2163-0.68837 0.37971-0.79994 0.86666-0.16004 0.63293-0.19866 0.7539-0.39997 1.5333-0.027212 0.20914 0.083011 0.42961 0.26665 0.53333 1.5078 0.81451 3.824 1.1423 6.1329 1.1333s4.6066-0.35609 6.0662-1.1333c0.11739-0.07353 0.14304-0.10869 0.13332-0.2333-0.04365-0.68908-0.08154-1.3669-0.13332-1.7666-0.01807-0.09908-0.06492-0.19275-0.13332-0.26666-0.46366-0.5537-1.1564-0.89218-1.9665-1.2333-0.7396-0.31144-1.6067-0.63486-2.4665-0.99999-0.048123-0.10721-0.095926-0.41912 0-0.89999 0.025759-0.12912 0.066096-0.26742 0.099994-0.4 0.0808-0.090507 0.14378-0.16447 0.23332-0.26666 0.19096-0.21796 0.39614-0.44661 0.56662-0.66666s0.30996-0.40882 0.39997-0.66666l0.03333-0.033333c0.34839-1.4062 0.34857-1.9929 0.36664-2.5v-0.033333c0-1.6339-1.4686-2.9-3.1998-2.9z"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Двоичные данные
core/img/actions/view-close.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 368 B

После

Ширина:  |  Высота:  |  Размер: 295 B

Двоичные данные
core/img/actions/view-next.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 305 B

После

Ширина:  |  Высота:  |  Размер: 232 B

Двоичные данные
core/img/actions/view-pause.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 181 B

После

Ширина:  |  Высота:  |  Размер: 108 B

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g transform="translate(0 -1020.4)">
<path fill="#fff" d="m6 1026.4v20h8v-20h-8zm12 0v20h8v-20h-8z"/>
<path d="m6 1026.4v20h8v-20h-8zm12 0v20h8v-20h-8z" fill="#fff"/>
</g>
</svg>

До

Ширина:  |  Высота:  |  Размер: 393 B

После

Ширина:  |  Высота:  |  Размер: 393 B

Двоичные данные
core/img/actions/view-play.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 227 B

После

Ширина:  |  Высота:  |  Размер: 154 B

Двоичные данные
core/img/actions/view-previous.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 304 B

После

Ширина:  |  Высота:  |  Размер: 231 B

Двоичные данные
core/img/breadcrumb.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 594 B

После

Ширина:  |  Высота:  |  Размер: 376 B

Просмотреть файл

@ -1,12 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="44" width="14" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<path d="M0.54879,0.047777,12.744,22,0.54879,43.951,12.744,22z" stroke="#d7d7d7" stroke-linecap="round" stroke-miterlimit="31.20000076000000178" stroke-width="1.09758711000000009" fill="#F00"/>
<path d="m0.54879 0.047777 12.195 21.952-12.195 21.951 12.195-21.951z" stroke="#d7d7d7" stroke-linecap="round" stroke-miterlimit="31.2" stroke-width="1.0976" fill="#F00"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 638 B

После

Ширина:  |  Высота:  |  Размер: 455 B

Просмотреть файл

@ -1,4 +1,5 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="60" width="170" enable-background="new 0 0 792 612" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 1346.4 475.2"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata>
<rect rx="50" ry="50" height="475.2" width="1346.4" y="-3.5527E-15" x="-2.8405E-15" fill="#000"/><path d="m150.48,126.72c-11.88,0-23.76,11.88-23.76,23.76v166.32l-47.52,23.76v11.88s0,11.88,11.88,11.88h356.4c11.88,0,11.88-11.88,11.88-11.88v-11.88l-47.52-23.76v-166.32c0-11.88-11.88-23.76-23.76-23.76zm0,23.667h237.6v142.65h-237.6z" fill="#fff"/><text style="word-spacing:0px;letter-spacing:0px;" xml:space="preserve" font-size="316.8px" y="239.58" x="451.44" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="126.72px" font-family="FreeSans" y="239.58" x="451.44" font-weight="600" fill="#ffffff">Desktop app</tspan></text>
<text style="word-spacing:0px;letter-spacing:0px;" xml:space="preserve" font-size="316.8px" y="342.54001" x="493.01996" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="71.28px" y="342.54001" x="493.01996" font-family="FreeSans" fill="#ffffff">Windows, OS X, Linux</tspan></text>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="60" width="170" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new 0 0 792 612" viewBox="0 0 1346.4 475.2" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rect rx="50" ry="50" height="475.2" width="1346.4" y="-3.5527e-15" x="-2.8405e-15"/><path d="m150.48 126.72c-11.88 0-23.76 11.88-23.76 23.76v166.32l-47.52 23.76v11.88s0 11.88 11.88 11.88h356.4c11.88 0 11.88-11.88 11.88-11.88v-11.88l-47.52-23.76v-166.32c0-11.88-11.88-23.76-23.76-23.76zm0 23.667h237.6v142.65h-237.6z" fill="#fff"/><text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="316.8px" y="239.58" x="451.44" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="126.72px" font-weight="600" y="239.58" x="451.44" font-family="FreeSans" fill="#ffffff">Desktop app</tspan></text>
<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="316.8px" y="342.54001" x="493.01996" font-family="Sans" line-height="125%" fill="#ffffff"><tspan y="342.54001" x="493.01996" font-size="71.28px" font-family="FreeSans" fill="#ffffff">Windows, OS X, Linux</tspan></text>
</svg>

До

Ширина:  |  Высота:  |  Размер: 1.4 KiB

После

Ширина:  |  Высота:  |  Размер: 1.3 KiB

Двоичные данные
core/img/favicon-touch.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 3.6 KiB

После

Ширина:  |  Высота:  |  Размер: 3.5 KiB

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше