Merge branch 'master' into mimeicons-svg
|
@ -9,8 +9,21 @@ OCP\JSON::callCheck();
|
||||||
// Get data
|
// Get data
|
||||||
$dir = stripslashes($_POST["dir"]);
|
$dir = stripslashes($_POST["dir"]);
|
||||||
$files = isset($_POST["file"]) ? $_POST["file"] : $_POST["files"];
|
$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 = '';
|
$filesWithError = '';
|
||||||
|
|
||||||
$success = true;
|
$success = true;
|
||||||
|
|
|
@ -50,16 +50,22 @@ $l10n = \OC_L10n::get('files');
|
||||||
$result = array(
|
$result = array(
|
||||||
'success' => false,
|
'success' => false,
|
||||||
'data' => NULL
|
'data' => NULL
|
||||||
);
|
);
|
||||||
|
$trimmedFileName = trim($filename);
|
||||||
|
|
||||||
if(trim($filename) === '') {
|
if($trimmedFileName === '') {
|
||||||
$result['data'] = array('message' => (string)$l10n->t('File name cannot be empty.'));
|
$result['data'] = array('message' => (string)$l10n->t('File name cannot be empty.'));
|
||||||
OCP\JSON::error($result);
|
OCP\JSON::error($result);
|
||||||
exit();
|
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) {
|
if(!OCP\Util::isValidFileName($filename)) {
|
||||||
$result['data'] = array('message' => (string)$l10n->t('File name must not contain "/". Please choose a different name.'));
|
$result['data'] = array('message' => (string)$l10n->t("Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
|
||||||
OCP\JSON::error($result);
|
OCP\JSON::error($result);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ if(trim($foldername) === '') {
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strpos($foldername, '/') !== false) {
|
if(!OCP\Util::isValidFileName($foldername)) {
|
||||||
$result['data'] = array('message' => $l10n->t('Folder name must not contain "/". Please choose a different name.'));
|
$result['data'] = array('message' => (string)$l10n->t("Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
|
||||||
OCP\JSON::error($result);
|
OCP\JSON::error($result);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -582,30 +582,49 @@ window.FileList={
|
||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
do_delete:function(files) {
|
do_delete:function(files, dir) {
|
||||||
if (files.substr) {
|
var params;
|
||||||
|
if (files && files.substr) {
|
||||||
files=[files];
|
files=[files];
|
||||||
}
|
}
|
||||||
|
if (files) {
|
||||||
for (var i=0; i<files.length; i++) {
|
for (var i=0; i<files.length; i++) {
|
||||||
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
|
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
|
||||||
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Finish any existing actions
|
// Finish any existing actions
|
||||||
if (FileList.lastAction) {
|
if (FileList.lastAction) {
|
||||||
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'),
|
$.post(OC.filePath('files', 'ajax', 'delete.php'),
|
||||||
{dir:$('#dir').val(),files:fileNames},
|
params,
|
||||||
function(result) {
|
function(result) {
|
||||||
if (result.status === 'success') {
|
if (result.status === 'success') {
|
||||||
|
if (params.allfiles) {
|
||||||
|
// clear whole list
|
||||||
|
$('#fileList tr').remove();
|
||||||
|
}
|
||||||
|
else {
|
||||||
$.each(files,function(index,file) {
|
$.each(files,function(index,file) {
|
||||||
var files = FileList.findFileEl(file);
|
var files = FileList.findFileEl(file);
|
||||||
files.remove();
|
files.remove();
|
||||||
files.find('input[type="checkbox"]').removeAttr('checked');
|
files.find('input[type="checkbox"]').removeAttr('checked');
|
||||||
files.removeClass('selected');
|
files.removeClass('selected');
|
||||||
});
|
});
|
||||||
|
}
|
||||||
procesSelection();
|
procesSelection();
|
||||||
checkTrashStatus();
|
checkTrashStatus();
|
||||||
FileList.updateFileSummary();
|
FileList.updateFileSummary();
|
||||||
|
@ -622,11 +641,18 @@ window.FileList={
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
OC.Notification.hide();
|
OC.Notification.hide();
|
||||||
}, 10000);
|
}, 10000);
|
||||||
|
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) {
|
$.each(files,function(index,file) {
|
||||||
var deleteAction = FileList.findFileEl(file).find('.action.delete');
|
var deleteAction = FileList.findFileEl(file).find('.action.delete');
|
||||||
deleteAction.removeClass('progress-icon').addClass('delete-icon');
|
deleteAction.removeClass('progress-icon').addClass('delete-icon');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
createFileSummary: function() {
|
createFileSummary: function() {
|
||||||
|
@ -794,6 +820,13 @@ window.FileList={
|
||||||
$(e).removeClass("searchresult");
|
$(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
|
* 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
|
* @param dir optional directory in which the file name is, defaults to the current directory
|
||||||
*/
|
*/
|
||||||
getDownloadUrl: function(filename, dir) {
|
getDownloadUrl: function(filename, dir) {
|
||||||
|
var files = filename;
|
||||||
|
if ($.isArray(filename)) {
|
||||||
|
files = JSON.stringify(filename);
|
||||||
|
}
|
||||||
var params = {
|
var params = {
|
||||||
files: filename,
|
|
||||||
dir: dir || FileList.getCurrentDirectory(),
|
dir: dir || FileList.getCurrentDirectory(),
|
||||||
download: null
|
files: files
|
||||||
};
|
};
|
||||||
return OC.filePath('files', 'ajax', 'download.php') + '?' + OC.buildQueryString(params);
|
return OC.filePath('files', 'ajax', 'download.php') + '?' + OC.buildQueryString(params);
|
||||||
}
|
}
|
||||||
|
|
|
@ -364,23 +364,26 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.download').click('click',function(event) {
|
$('.download').click('click',function(event) {
|
||||||
var files=getSelectedFilesTrash('name');
|
var files;
|
||||||
var fileslist = JSON.stringify(files);
|
var dir = FileList.getCurrentDirectory();
|
||||||
var dir=$('#dir').val()||'/';
|
if (FileList.isAllSelected()) {
|
||||||
OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.'));
|
files = OC.basename(dir);
|
||||||
// use special download URL if provided, e.g. for public shared files
|
dir = OC.dirname(dir) || '/';
|
||||||
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 });
|
|
||||||
}
|
}
|
||||||
|
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;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.delete-selected').click(function(event) {
|
$('.delete-selected').click(function(event) {
|
||||||
var files=getSelectedFilesTrash('name');
|
var files=getSelectedFilesTrash('name');
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
if (FileList.isAllSelected()) {
|
||||||
|
files = null;
|
||||||
|
}
|
||||||
FileList.do_delete(files);
|
FileList.do_delete(files);
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
|
@ -69,7 +69,7 @@ describe('FileActions tests', function() {
|
||||||
$tr.find('.action[data-action=Download]').click();
|
$tr.find('.action[data-action=Download]').click();
|
||||||
|
|
||||||
expect(redirectStub.calledOnce).toEqual(true);
|
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();
|
redirectStub.restore();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -58,8 +58,15 @@ describe('FileList tests', function() {
|
||||||
expect($tr.attr('data-permissions')).toEqual('31');
|
expect($tr.attr('data-permissions')).toEqual('31');
|
||||||
//expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
|
//expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
|
||||||
});
|
});
|
||||||
it('returns correct download URL', function() {
|
describe('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');
|
it('returns correct download URL for single files', function() {
|
||||||
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');
|
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();
|
OCP\JSON::callCheck();
|
||||||
|
|
||||||
if ( ! ($filename = $_FILES['rootcert_import']['name']) ) {
|
if ( ! ($filename = $_FILES['rootcert_import']['name']) ) {
|
||||||
header("Location: settings/personal.php");
|
header('Location:' . OCP\Util::linkToRoute( "settings_personal" ));
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -352,9 +352,8 @@ class OC_Mount_Config {
|
||||||
$phpFile = OC_User::getHome(OCP\User::getUser()).'/mount.php';
|
$phpFile = OC_User::getHome(OCP\User::getUser()).'/mount.php';
|
||||||
$jsonFile = OC_User::getHome(OCP\User::getUser()).'/mount.json';
|
$jsonFile = OC_User::getHome(OCP\User::getUser()).'/mount.json';
|
||||||
} else {
|
} else {
|
||||||
$datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data");
|
|
||||||
$phpFile = OC::$SERVERROOT.'/config/mount.php';
|
$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)) {
|
if (is_file($jsonFile)) {
|
||||||
$mountPoints = json_decode(file_get_contents($jsonFile), true);
|
$mountPoints = json_decode(file_get_contents($jsonFile), true);
|
||||||
|
@ -380,8 +379,7 @@ class OC_Mount_Config {
|
||||||
if ($isPersonal) {
|
if ($isPersonal) {
|
||||||
$file = OC_User::getHome(OCP\User::getUser()).'/mount.json';
|
$file = OC_User::getHome(OCP\User::getUser()).'/mount.json';
|
||||||
} else {
|
} else {
|
||||||
$datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data");
|
$file = \OC_Config::getValue("mount_file", \OC::$SERVERROOT . "/data/mount.json");
|
||||||
$file = $datadir . '/mount.json';
|
|
||||||
}
|
}
|
||||||
$content = json_encode($data);
|
$content = json_encode($data);
|
||||||
@file_put_contents($file, $content);
|
@file_put_contents($file, $content);
|
||||||
|
|
|
@ -99,7 +99,9 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
|
|
||||||
public function rmdir($path) {
|
public function rmdir($path) {
|
||||||
$this->init();
|
$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);
|
return $this->simpleResponse('DELETE', $path, null, 204);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +109,7 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$this->init();
|
$this->init();
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
try {
|
||||||
$response=$this->client->propfind($path, array(), 1);
|
$response=$this->client->propfind($this->encodePath($path), array(), 1);
|
||||||
$id=md5('webdav'.$this->root.$path);
|
$id=md5('webdav'.$this->root.$path);
|
||||||
$content = array();
|
$content = array();
|
||||||
$files=array_keys($response);
|
$files=array_keys($response);
|
||||||
|
@ -127,8 +129,11 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$this->init();
|
$this->init();
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
try {
|
||||||
$response=$this->client->propfind($path, array('{DAV:}resourcetype'));
|
$response=$this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype'));
|
||||||
|
$responseType = array();
|
||||||
|
if (isset($response["{DAV:}resourcetype"])) {
|
||||||
$responseType=$response["{DAV:}resourcetype"]->resourceType;
|
$responseType=$response["{DAV:}resourcetype"]->resourceType;
|
||||||
|
}
|
||||||
return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
|
return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
error_log($e->getMessage());
|
error_log($e->getMessage());
|
||||||
|
@ -141,7 +146,7 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$this->init();
|
$this->init();
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
try {
|
||||||
$this->client->propfind($path, array('{DAV:}resourcetype'));
|
$this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype'));
|
||||||
return true;//no 404 exception
|
return true;//no 404 exception
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -166,7 +171,7 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$curl = curl_init();
|
$curl = curl_init();
|
||||||
$fp = fopen('php://temp', 'r+');
|
$fp = fopen('php://temp', 'r+');
|
||||||
curl_setopt($curl, CURLOPT_USERPWD, $this->user.':'.$this->password);
|
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_FILE, $fp);
|
||||||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
||||||
if ($this->secure === true) {
|
if ($this->secure === true) {
|
||||||
|
@ -178,6 +183,10 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
}
|
}
|
||||||
|
|
||||||
curl_exec ($curl);
|
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);
|
curl_close ($curl);
|
||||||
rewind($fp);
|
rewind($fp);
|
||||||
return $fp;
|
return $fp;
|
||||||
|
@ -220,7 +229,7 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$this->init();
|
$this->init();
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
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'])) {
|
if (isset($response['{DAV:}quota-available-bytes'])) {
|
||||||
return (int)$response['{DAV:}quota-available-bytes'];
|
return (int)$response['{DAV:}quota-available-bytes'];
|
||||||
} else {
|
} 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 file exists, update the mtime, else create a new empty file
|
||||||
if ($this->file_exists($path)) {
|
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 {
|
} else {
|
||||||
$this->file_put_contents($path, '');
|
$this->file_put_contents($path, '');
|
||||||
}
|
}
|
||||||
|
@ -276,13 +290,17 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
curl_exec ($curl);
|
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);
|
curl_close ($curl);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function rename($path1, $path2) {
|
public function rename($path1, $path2) {
|
||||||
$this->init();
|
$this->init();
|
||||||
$path1=$this->cleanPath($path1);
|
$path1 = $this->encodePath($this->cleanPath($path1));
|
||||||
$path2=$this->createBaseUri().$this->cleanPath($path2);
|
$path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2));
|
||||||
try {
|
try {
|
||||||
$this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
|
$this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
|
||||||
return true;
|
return true;
|
||||||
|
@ -293,8 +311,8 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
|
|
||||||
public function copy($path1, $path2) {
|
public function copy($path1, $path2) {
|
||||||
$this->init();
|
$this->init();
|
||||||
$path1=$this->cleanPath($path1);
|
$path1 = $this->encodePath($this->cleanPath($path1));
|
||||||
$path2=$this->createBaseUri().$this->cleanPath($path2);
|
$path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2));
|
||||||
try {
|
try {
|
||||||
$this->client->request('COPY', $path1, null, array('Destination'=>$path2));
|
$this->client->request('COPY', $path1, null, array('Destination'=>$path2));
|
||||||
return true;
|
return true;
|
||||||
|
@ -307,7 +325,7 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$this->init();
|
$this->init();
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
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(
|
return array(
|
||||||
'mtime'=>strtotime($response['{DAV:}getlastmodified']),
|
'mtime'=>strtotime($response['{DAV:}getlastmodified']),
|
||||||
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
|
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
|
||||||
|
@ -321,8 +339,11 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
$this->init();
|
$this->init();
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
try {
|
||||||
$response=$this->client->propfind($path, array('{DAV:}getcontenttype', '{DAV:}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;
|
$responseType=$response["{DAV:}resourcetype"]->resourceType;
|
||||||
|
}
|
||||||
$type=(count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
|
$type=(count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
|
||||||
if ($type=='dir') {
|
if ($type=='dir') {
|
||||||
return 'httpd/unix-directory';
|
return 'httpd/unix-directory';
|
||||||
|
@ -345,6 +366,16 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
return substr($path, 1);
|
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 $method
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
@ -353,7 +384,7 @@ class DAV extends \OC\Files\Storage\Common{
|
||||||
private function simpleResponse($method, $path, $body, $expected) {
|
private function simpleResponse($method, $path, $body, $expected) {
|
||||||
$path=$this->cleanPath($path);
|
$path=$this->cleanPath($path);
|
||||||
try {
|
try {
|
||||||
$response=$this->client->request($method, $path, $body);
|
$response=$this->client->request($method, $this->encodePath($path), $body);
|
||||||
return $response['statusCode']==$expected;
|
return $response['statusCode']==$expected;
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -21,7 +21,11 @@ return array(
|
||||||
'host'=>'localhost',
|
'host'=>'localhost',
|
||||||
'user'=>'test',
|
'user'=>'test',
|
||||||
'password'=>'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(
|
'owncloud'=>array(
|
||||||
'run'=>true,
|
'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']) {
|
if ( ! is_array($this->config) or ! isset($this->config['webdav']) or ! $this->config['webdav']['run']) {
|
||||||
$this->markTestSkipped('WebDAV backend not configured');
|
$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->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 = new \OC\Files\Storage\DAV($this->config['webdav']);
|
||||||
$this->instance->mkdir('/');
|
$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
|
// Override download path to files_sharing/public.php
|
||||||
function fileDownloadPath(dir, file) {
|
function fileDownloadPath(dir, file) {
|
||||||
var url = $('#downloadURL').val();
|
var url = $('#downloadURL').val();
|
||||||
|
@ -28,12 +40,20 @@ $(document).ready(function() {
|
||||||
|
|
||||||
// override since the format is different
|
// override since the format is different
|
||||||
FileList.getDownloadUrl = function(filename, dir) {
|
FileList.getDownloadUrl = function(filename, dir) {
|
||||||
// we use this because we need the service and token attributes
|
if ($.isArray(filename)) {
|
||||||
var tr = FileList.findFileEl(filename);
|
filename = JSON.stringify(filename);
|
||||||
if (tr.length > 0) {
|
|
||||||
return $(tr).find('a.name').attr('href') + '&download';
|
|
||||||
}
|
}
|
||||||
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::checkLoggedIn();
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
|
$folder = isset($_POST['dir']) ? $_POST['dir'] : '/';
|
||||||
|
|
||||||
// "empty trash" command
|
// "empty trash" command
|
||||||
if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true'){
|
if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true'){
|
||||||
$deleteAll = true;
|
$deleteAll = true;
|
||||||
$folder = isset($_POST['dir']) ? $_POST['dir'] : '/';
|
|
||||||
if ($folder === '/' || $folder === '') {
|
if ($folder === '/' || $folder === '') {
|
||||||
OCA\Files_Trashbin\Trashbin::deleteAll();
|
OCA\Files_Trashbin\Trashbin::deleteAll();
|
||||||
$list = array();
|
$list = array();
|
||||||
} else {
|
} else {
|
||||||
$dirname = dirname($folder);
|
|
||||||
if ( $dirname !== '/' && $dirname !== '.' ) {
|
|
||||||
$dirlisting = '1';
|
|
||||||
} else {
|
|
||||||
$dirlisting = '0';
|
|
||||||
}
|
|
||||||
$list[] = $folder;
|
$list[] = $folder;
|
||||||
|
$folder = dirname($folder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$deleteAll = false;
|
$deleteAll = false;
|
||||||
$files = $_POST['files'];
|
$files = $_POST['files'];
|
||||||
$dirlisting = $_POST['dirlisting'];
|
|
||||||
$list = json_decode($files);
|
$list = json_decode($files);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$folder = rtrim($folder, '/') . '/';
|
||||||
$error = array();
|
$error = array();
|
||||||
$success = array();
|
$success = array();
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ($list as $file) {
|
foreach ($list as $file) {
|
||||||
if ( $dirlisting === '0') {
|
if ($folder === '/') {
|
||||||
$file = ltrim($file, '/');
|
$file = ltrim($file, '/');
|
||||||
$delimiter = strrpos($file, '.d');
|
$delimiter = strrpos($file, '.d');
|
||||||
$filename = substr($file, 0, $delimiter);
|
$filename = substr($file, 0, $delimiter);
|
||||||
$timestamp = substr($file, $delimiter+2);
|
$timestamp = substr($file, $delimiter+2);
|
||||||
} else {
|
} else {
|
||||||
$filename = $file;
|
$filename = $folder . '/' . $file;
|
||||||
$timestamp = null;
|
$timestamp = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,15 +4,36 @@ OCP\JSON::checkLoggedIn();
|
||||||
OCP\JSON::callCheck();
|
OCP\JSON::callCheck();
|
||||||
|
|
||||||
$files = $_POST['files'];
|
$files = $_POST['files'];
|
||||||
$dirlisting = $_POST['dirlisting'];
|
$dir = '/';
|
||||||
$list = json_decode($files);
|
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();
|
$error = array();
|
||||||
$success = array();
|
$success = array();
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
foreach ($list as $file) {
|
foreach ($list as $file) {
|
||||||
if ( $dirlisting === '0') {
|
$path = $dir . '/' . $file;
|
||||||
|
if ($dir === '/') {
|
||||||
$file = ltrim($file, '/');
|
$file = ltrim($file, '/');
|
||||||
$delimiter = strrpos($file, '.d');
|
$delimiter = strrpos($file, '.d');
|
||||||
$filename = substr($file, 0, $delimiter);
|
$filename = substr($file, 0, $delimiter);
|
||||||
|
@ -23,9 +44,9 @@ foreach ($list as $file) {
|
||||||
$timestamp = null;
|
$timestamp = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !OCA\Files_Trashbin\Trashbin::restore($file, $filename, $timestamp) ) {
|
if ( !OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp) ) {
|
||||||
$error[] = $filename;
|
$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 {
|
} else {
|
||||||
$success[$i]['filename'] = $file;
|
$success[$i]['filename'] = $file;
|
||||||
$success[$i]['timestamp'] = $timestamp;
|
$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() {
|
$(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') {
|
if (typeof FileActions !== 'undefined') {
|
||||||
FileActions.register('all', 'Restore', OC.PERMISSION_READ, OC.imagePath('core', 'actions/history'), function(filename) {
|
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");
|
var deleteAction = tr.children("td.date").children(".action.delete");
|
||||||
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
||||||
disableActions();
|
disableActions();
|
||||||
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'),
|
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), {
|
||||||
{files: JSON.stringify([$('#dir').val() + '/' + filename]), dirlisting: tr.attr('data-dirlisting')},
|
files: JSON.stringify([filename]),
|
||||||
function(result) {
|
dir: FileList.getCurrentDirectory()
|
||||||
for (var i = 0; i < result.data.success.length; i++) {
|
},
|
||||||
var row = document.getElementById(result.data.success[i].filename);
|
removeCallback
|
||||||
row.parentNode.removeChild(row);
|
|
||||||
}
|
|
||||||
if (result.status !== 'success') {
|
|
||||||
OC.dialogs.alert(result.data.message, t('core', 'Error'));
|
|
||||||
}
|
|
||||||
enableActions();
|
|
||||||
FileList.updateFileSummary();
|
|
||||||
FileList.updateEmptyContent();
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,22 +48,12 @@ $(document).ready(function() {
|
||||||
var deleteAction = tr.children("td.date").children(".action.delete");
|
var deleteAction = tr.children("td.date").children(".action.delete");
|
||||||
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
||||||
disableActions();
|
disableActions();
|
||||||
$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'),
|
$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), {
|
||||||
{files: JSON.stringify([$('#dir').val() + '/' +filename]), dirlisting: tr.attr('data-dirlisting')},
|
files: JSON.stringify([filename]),
|
||||||
function(result) {
|
dir: FileList.getCurrentDirectory()
|
||||||
for (var i = 0; i < result.data.success.length; i++) {
|
},
|
||||||
var row = document.getElementById(result.data.success[i].filename);
|
removeCallback
|
||||||
row.parentNode.removeChild(row);
|
|
||||||
}
|
|
||||||
if (result.status !== 'success') {
|
|
||||||
OC.dialogs.alert(result.data.message, t('core', 'Error'));
|
|
||||||
}
|
|
||||||
enableActions();
|
|
||||||
FileList.updateFileSummary();
|
|
||||||
FileList.updateEmptyContent();
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Sets the select_all checkbox behaviour :
|
// Sets the select_all checkbox behaviour :
|
||||||
|
@ -68,28 +72,44 @@ $(document).ready(function() {
|
||||||
|
|
||||||
$('.undelete').click('click', function(event) {
|
$('.undelete').click('click', function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
var files = getSelectedFiles('file');
|
var allFiles = $('#select_all').is(':checked');
|
||||||
var fileslist = JSON.stringify(files);
|
var files = [];
|
||||||
var dirlisting = getSelectedFiles('dirlisting')[0];
|
var params = {};
|
||||||
disableActions();
|
disableActions();
|
||||||
|
if (allFiles) {
|
||||||
|
FileList.showMask();
|
||||||
|
params = {
|
||||||
|
allfiles: true,
|
||||||
|
dir: FileList.getCurrentDirectory()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
files = getSelectedFiles('name');
|
||||||
for (var i = 0; i < files.length; i++) {
|
for (var i = 0; i < files.length; i++) {
|
||||||
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
|
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
|
||||||
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
||||||
}
|
}
|
||||||
|
params = {
|
||||||
|
files: JSON.stringify(files),
|
||||||
|
dir: FileList.getCurrentDirectory()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'),
|
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'),
|
||||||
{files: fileslist, dirlisting: dirlisting},
|
params,
|
||||||
function(result) {
|
function(result) {
|
||||||
for (var i = 0; i < result.data.success.length; i++) {
|
if (allFiles) {
|
||||||
var row = document.getElementById(result.data.success[i].filename);
|
|
||||||
row.parentNode.removeChild(row);
|
|
||||||
}
|
|
||||||
if (result.status !== 'success') {
|
if (result.status !== 'success') {
|
||||||
OC.dialogs.alert(result.data.message, t('core', 'Error'));
|
OC.dialogs.alert(result.data.message, t('core', 'Error'));
|
||||||
}
|
}
|
||||||
|
FileList.hideMask();
|
||||||
|
// simply remove all files
|
||||||
|
FileList.update('');
|
||||||
enableActions();
|
enableActions();
|
||||||
FileList.updateFileSummary();
|
}
|
||||||
FileList.updateEmptyContent();
|
else {
|
||||||
|
removeCallback(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -102,16 +122,16 @@ $(document).ready(function() {
|
||||||
if (allFiles) {
|
if (allFiles) {
|
||||||
params = {
|
params = {
|
||||||
allfiles: true,
|
allfiles: true,
|
||||||
dir: $('#dir').val()
|
dir: FileList.getCurrentDirectory()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
files = getSelectedFiles('file');
|
files = getSelectedFiles('name');
|
||||||
params = {
|
params = {
|
||||||
files: JSON.stringify(files),
|
files: JSON.stringify(files),
|
||||||
dirlisting: getSelectedFiles('dirlisting')[0]
|
dir: FileList.getCurrentDirectory()
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
disableActions();
|
disableActions();
|
||||||
if (allFiles) {
|
if (allFiles) {
|
||||||
|
@ -128,22 +148,17 @@ $(document).ready(function() {
|
||||||
params,
|
params,
|
||||||
function(result) {
|
function(result) {
|
||||||
if (allFiles) {
|
if (allFiles) {
|
||||||
FileList.hideMask();
|
|
||||||
// simply remove all files
|
|
||||||
$('#fileList').empty();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
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') {
|
if (result.status !== 'success') {
|
||||||
OC.dialogs.alert(result.data.message, t('core', 'Error'));
|
OC.dialogs.alert(result.data.message, t('core', 'Error'));
|
||||||
}
|
}
|
||||||
|
FileList.hideMask();
|
||||||
|
// simply remove all files
|
||||||
|
FileList.update('');
|
||||||
enableActions();
|
enableActions();
|
||||||
FileList.updateFileSummary();
|
}
|
||||||
FileList.updateEmptyContent();
|
else {
|
||||||
|
removeCallback(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -208,11 +223,9 @@ function getSelectedFiles(property){
|
||||||
var files=[];
|
var files=[];
|
||||||
elements.each(function(i,element){
|
elements.each(function(i,element){
|
||||||
var file={
|
var file={
|
||||||
name:$(element).attr('data-filename'),
|
name:$(element).attr('data-file'),
|
||||||
file:$('#dir').val() + "/" + $(element).attr('data-file'),
|
|
||||||
timestamp:$(element).attr('data-timestamp'),
|
timestamp:$(element).attr('data-timestamp'),
|
||||||
type:$(element).attr('data-type'),
|
type:$(element).attr('data-type')
|
||||||
dirlisting:$(element).attr('data-dirlisting')
|
|
||||||
};
|
};
|
||||||
if(property){
|
if(property){
|
||||||
files.push(file[property]);
|
files.push(file[property]);
|
||||||
|
|
|
@ -921,6 +921,17 @@ class Access extends LDAPUtility {
|
||||||
return $name;
|
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
|
* @brief combines the input filters with AND
|
||||||
* @param $filters array, the filters to connect
|
* @param $filters array, the filters to connect
|
||||||
|
|
|
@ -118,10 +118,16 @@ class Helper {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$saveOtherConfigurations = '';
|
||||||
|
if(empty($prefix)) {
|
||||||
|
$saveOtherConfigurations = 'AND `Configkey` NOT LIKE \'s%\'';
|
||||||
|
}
|
||||||
|
|
||||||
$query = \OCP\DB::prepare('
|
$query = \OCP\DB::prepare('
|
||||||
DELETE
|
DELETE
|
||||||
FROM `*PREFIX*appconfig`
|
FROM `*PREFIX*appconfig`
|
||||||
WHERE `configkey` LIKE ?
|
WHERE `configkey` LIKE ?
|
||||||
|
'.$saveOtherConfigurations.'
|
||||||
AND `appid` = \'user_ldap\'
|
AND `appid` = \'user_ldap\'
|
||||||
AND `configkey` NOT IN (\'enabled\', \'installed_version\', \'types\', \'bgjUpdateGroupsLastRun\')
|
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
|
* Check if the password is correct without logging in the user
|
||||||
*/
|
*/
|
||||||
public function checkPassword($uid, $password) {
|
public function checkPassword($uid, $password) {
|
||||||
|
$uid = $this->access->escapeFilterPart($uid);
|
||||||
|
|
||||||
//find out dn of the user name
|
//find out dn of the user name
|
||||||
$filter = \OCP\Util::mb_str_replace(
|
$filter = \OCP\Util::mb_str_replace(
|
||||||
'%uid', $uid, $this->access->connection->ldapLoginFilter, 'UTF-8');
|
'%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.
|
* Get a list of all users.
|
||||||
*/
|
*/
|
||||||
public function getUsers($search = '', $limit = 10, $offset = 0) {
|
public function getUsers($search = '', $limit = 10, $offset = 0) {
|
||||||
|
$search = $this->access->escapeFilterPart($search);
|
||||||
$cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset;
|
$cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset;
|
||||||
|
|
||||||
//check if users are cached, if so return
|
//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 */
|
/* whether usage of the instance should be restricted to admin users only */
|
||||||
'singleuser' => false,
|
'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();
|
OCP\JSON::callCheck();
|
||||||
|
|
||||||
$action=isset($_POST['action'])?$_POST['action']:$_GET['action'];
|
$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;
|
$result=false;
|
||||||
switch($action) {
|
switch($action) {
|
||||||
case 'getValue':
|
case 'getValue':
|
||||||
$result=OC_Appconfig::getValue($_GET['app'], $_GET['key'], $_GET['defaultValue']);
|
$result=OC_Appconfig::getValue($app, $_GET['key'], $_GET['defaultValue']);
|
||||||
break;
|
break;
|
||||||
case 'setValue':
|
case 'setValue':
|
||||||
$result=OC_Appconfig::setValue($_POST['app'], $_POST['key'], $_POST['value']);
|
$result=OC_Appconfig::setValue($app, $_POST['key'], $_POST['value']);
|
||||||
break;
|
break;
|
||||||
case 'getApps':
|
case 'getApps':
|
||||||
$result=OC_Appconfig::getApps();
|
$result=OC_Appconfig::getApps();
|
||||||
break;
|
break;
|
||||||
case 'getKeys':
|
case 'getKeys':
|
||||||
$result=OC_Appconfig::getKeys($_GET['app']);
|
$result=OC_Appconfig::getKeys($app);
|
||||||
break;
|
break;
|
||||||
case 'hasKey':
|
case 'hasKey':
|
||||||
$result=OC_Appconfig::hasKey($_GET['app'], $_GET['key']);
|
$result=OC_Appconfig::hasKey($app, $_GET['key']);
|
||||||
break;
|
break;
|
||||||
case 'deleteKey':
|
case 'deleteKey':
|
||||||
$result=OC_Appconfig::deleteKey($_POST['app'], $_POST['key']);
|
$result=OC_Appconfig::deleteKey($app, $_POST['key']);
|
||||||
break;
|
break;
|
||||||
case 'deleteApp':
|
case 'deleteApp':
|
||||||
$result=OC_Appconfig::deleteApp($_POST['app']);
|
$result=OC_Appconfig::deleteApp($app);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
OC_JSON::success(array('data'=>$result));
|
OC_JSON::success(array('data'=>$result));
|
||||||
|
|
||||||
|
|
|
@ -85,93 +85,32 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'informRecipients':
|
case 'informRecipients':
|
||||||
|
|
||||||
$l = OC_L10N::get('core');
|
$l = OC_L10N::get('core');
|
||||||
|
|
||||||
$shareType = (int) $_POST['shareType'];
|
$shareType = (int) $_POST['shareType'];
|
||||||
$itemType = $_POST['itemType'];
|
$itemType = $_POST['itemType'];
|
||||||
$itemSource = $_POST['itemSource'];
|
$itemSource = $_POST['itemSource'];
|
||||||
$recipient = $_POST['recipient'];
|
$recipient = $_POST['recipient'];
|
||||||
$ownerDisplayName = \OCP\User::getDisplayName();
|
|
||||||
$from = \OCP\Util::getDefaultEmailAddress('sharing-noreply');
|
|
||||||
|
|
||||||
$noMail = array();
|
|
||||||
$recipientList = array();
|
|
||||||
|
|
||||||
if($shareType === \OCP\Share::SHARE_TYPE_USER) {
|
if($shareType === \OCP\Share::SHARE_TYPE_USER) {
|
||||||
$recipientList[] = $recipient;
|
$recipientList[] = $recipient;
|
||||||
} elseif ($shareType === \OCP\Share::SHARE_TYPE_GROUP) {
|
} elseif ($shareType === \OCP\Share::SHARE_TYPE_GROUP) {
|
||||||
$recipientList = \OC_Group::usersInGroup($recipient);
|
$recipientList = \OC_Group::usersInGroup($recipient);
|
||||||
}
|
}
|
||||||
|
|
||||||
// don't send a mail to the user who shared the file
|
// don't send a mail to the user who shared the file
|
||||||
$recipientList = array_diff($recipientList, array(\OCP\User::getUser()));
|
$recipientList = array_diff($recipientList, array(\OCP\User::getUser()));
|
||||||
|
|
||||||
// send mail to all recipients with an email address
|
$mailNotification = new OC\Share\MailNotifications();
|
||||||
foreach ($recipientList as $recipient) {
|
$result = $mailNotification->sendInternalShareMail($recipientList, $itemSource, $itemType);
|
||||||
//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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
\OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, true);
|
\OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, true);
|
||||||
|
|
||||||
if (empty($noMail)) {
|
if (empty($result)) {
|
||||||
OCP\JSON::success();
|
OCP\JSON::success();
|
||||||
} else {
|
} else {
|
||||||
OCP\JSON::error(array(
|
OCP\JSON::error(array(
|
||||||
'data' => array(
|
'data' => array(
|
||||||
'message' => $l->t("Couldn't send mail to following users: %s ",
|
'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;
|
break;
|
||||||
|
|
||||||
case 'email':
|
case 'email':
|
||||||
// enable l10n support
|
|
||||||
$l = OC_L10N::get('core');
|
|
||||||
// read post variables
|
// read post variables
|
||||||
$user = OCP\USER::getUser();
|
|
||||||
$displayName = OCP\User::getDisplayName();
|
|
||||||
$type = $_POST['itemType'];
|
|
||||||
$link = $_POST['link'];
|
$link = $_POST['link'];
|
||||||
$file = $_POST['file'];
|
$file = $_POST['file'];
|
||||||
$to_address = $_POST['toaddress'];
|
$to_address = $_POST['toaddress'];
|
||||||
|
|
||||||
|
$mailNotification = new \OC\Share\MailNotifications();
|
||||||
|
|
||||||
$expiration = null;
|
$expiration = null;
|
||||||
if (isset($_POST['expiration']) && $_POST['expiration'] !== '') {
|
if (isset($_POST['expiration']) && $_POST['expiration'] !== '') {
|
||||||
try {
|
try {
|
||||||
$date = new DateTime($_POST['expiration']);
|
$date = new DateTime($_POST['expiration']);
|
||||||
$expiration = $l->l('date', $date->getTimestamp());
|
$expiration = $date->getTimestamp();
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
\OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR);
|
\OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup the email
|
$result = $mailNotification->sendLinkShareMail($to_address, $file, $link, $expiration);
|
||||||
$subject = (string)$l->t('%s shared »%s« with you', array($displayName, $file));
|
if($result === true) {
|
||||||
|
\OCP\JSON::success();
|
||||||
$content = new OC_Template("core", "mail", "");
|
} else {
|
||||||
$content->assign ('link', $link);
|
\OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($result))));
|
||||||
$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()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (isset($_GET['fetch'])) {
|
} else if (isset($_GET['fetch'])) {
|
||||||
|
|
|
@ -54,11 +54,6 @@
|
||||||
background-color: #1B314D;
|
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 isn't able to display transparent background. So it is specified using a gradient */
|
||||||
.ie8 #nojavascript {
|
.ie8 #nojavascript {
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000'); /* IE */
|
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;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.multiselect {
|
div.multiselect, select.multiselect {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
min-width: 150px;
|
min-width: 150px;
|
||||||
|
@ -58,6 +58,12 @@ div.multiselect {
|
||||||
vertical-align: bottom;
|
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 {
|
div.multiselect.active {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
@ -74,6 +74,19 @@ body { background:#fefefe; font:normal .8em/1.6em "Helvetica Neue",Helvetica,Ari
|
||||||
color: #aaa;
|
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 */
|
/* INPUTS */
|
||||||
input[type="text"],
|
input[type="text"],
|
||||||
input[type="password"],
|
input[type="password"],
|
||||||
|
@ -933,3 +946,15 @@ div.crumb:active {
|
||||||
opacity:.7;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 184 B After Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 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/">
|
<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>
|
<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"/>
|
||||||
<rdf:RDF>
|
<path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4 4 4 7 4-6.989z"/>
|
||||||
<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"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 532 B |
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 196 B |
|
@ -1,11 +1,11 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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>
|
<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="#fff" offset="0"/>
|
||||||
<stop stop-color="#e6e6e6" offset="1"/>
|
<stop stop-color="#e6e6e6" offset="1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</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 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;text-indent:0;color:#000000;text-transform:none" d="m1 1 4 8 4-7.989z" fill="url(#a)"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 857 B After Width: | Height: | Size: 857 B |
Before Width: | Height: | Size: 286 B After Width: | Height: | Size: 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>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
</defs>
|
<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 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)"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 946 B After Width: | Height: | Size: 799 B |
Before Width: | Height: | Size: 303 B After Width: | Height: | Size: 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>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
</defs>
|
<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 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)"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 943 B After Width: | Height: | Size: 787 B |
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 332 B |
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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 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"/>
|
<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"/>
|
<circle cy="12.956" cx="49.999" r="1.617"/>
|
||||||
|
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 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/">
|
<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>
|
<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"/>
|
||||||
<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"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 708 B After Width: | Height: | Size: 547 B |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 162 B |
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 249 B |
Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 349 B |
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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>
|
<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 offset="0"/>
|
||||||
<stop stop-color="#363636" offset="1"/>
|
<stop stop-color="#363636" offset="1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
|
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 295 B After Width: | Height: | Size: 221 B |
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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'>
|
<!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"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 495 B After Width: | Height: | Size: 495 B |
Before Width: | Height: | Size: 424 B After Width: | Height: | Size: 352 B |
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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;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;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 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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 303 B After Width: | Height: | Size: 229 B |
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 122 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 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>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<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"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 665 B After Width: | Height: | Size: 525 B |
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 92 B |
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 96 B |
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 163 B |
|
@ -1,9 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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 transform="translate(0 -1036.4)">
|
||||||
<g>
|
|
||||||
<path d="m2 1037.4 11 6-11 6z"/>
|
<path d="m2 1037.4 11 6-11 6z"/>
|
||||||
<path d="m11 1045.4v2h-2v2h2v2h2v-2h2v-2h-2v-2z"/>
|
<path d="m11 1045.4v2h-2v2h2v2h2v-2h2v-2h-2v-2z"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 429 B After Width: | Height: | Size: 414 B |
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 136 B |
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 150 B |
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 163 B |
Before Width: | Height: | Size: 201 B After Width: | Height: | Size: 127 B |
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 338 B |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 193 B |
Before Width: | Height: | Size: 420 B After Width: | Height: | Size: 348 B |
|
@ -1,14 +1,12 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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>
|
<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 offset="0"/>
|
||||||
<stop stop-color="#363636" offset="1"/>
|
<stop stop-color="#363636" offset="1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
|
<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=".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)"/>
|
<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>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 452 B |
|
@ -1,17 +1,17 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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>
|
<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">
|
<linearGradient id="a">
|
||||||
<stop offset="0"/>
|
<stop offset="0"/>
|
||||||
<stop stop-color="#363636" offset="1"/>
|
<stop stop-color="#363636" offset="1"/>
|
||||||
</linearGradient>
|
</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>
|
</defs>
|
||||||
<g opacity=".6" transform="translate(.027972 .944)" fill="#fff">
|
<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>
|
||||||
<g opacity=".7" transform="translate(0 -.056)" fill="url(#c)">
|
<g opacity=".7" transform="translate(0 -.056)" fill="url(#d)">
|
||||||
<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)"/>
|
<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>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 364 B After Width: | Height: | Size: 290 B |
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 192 B After Width: | Height: | Size: 118 B |
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 640 B After Width: | Height: | Size: 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/">
|
<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>
|
<g transform="matrix(.068322 0 0 .068322 -10.114 -50.902)">
|
||||||
<rdf:RDF>
|
<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"/>
|
||||||
<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>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 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/">
|
<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>
|
<g transform="matrix(.068322 0 0 .068322 -10.114 -50.902)">
|
||||||
<rdf:RDF>
|
<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"/>
|
||||||
<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>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 553 B |
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 122 B |
|
@ -1,11 +1,9 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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="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="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="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="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="4" width="4" y="11" x="1"/>
|
||||||
<rect rx=".5" ry=".5" height="1" width="9" y="12" x="6"/>
|
<rect rx=".5" ry=".5" height="1" width="9" y="12" x="6"/>
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 692 B After Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 193 B After Width: | Height: | Size: 120 B |
|
@ -1,9 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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="1"/>
|
||||||
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="9"/>
|
<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="9"/>
|
||||||
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="1"/>
|
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="1"/>
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 572 B After Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 391 B After Width: | Height: | Size: 318 B |
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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"/>
|
<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"/>
|
<circle cy="4.501" cx="8" r="1.5" fill="#222"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 174 B After Width: | Height: | Size: 121 B |
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 138 B |
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 439 B |
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 138 B |
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 437 B After Width: | Height: | Size: 437 B |
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 152 B |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 374 B After Width: | Height: | Size: 300 B |
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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"/>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 368 B After Width: | Height: | Size: 295 B |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 232 B |
Before Width: | Height: | Size: 181 B After Width: | Height: | Size: 108 B |
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?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/">
|
<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)">
|
<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>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 393 B |
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 154 B |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 231 B |
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 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/">
|
<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>
|
<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"/>
|
||||||
<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"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 638 B After Width: | Height: | Size: 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>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<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>
|
<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/">
|
||||||
<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>
|
<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>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.5 KiB |