diff options
-rw-r--r-- | bl/feedbl.php | 8 | ||||
-rw-r--r-- | bl/folderbl.php | 13 | ||||
-rw-r--r-- | css/feeds.css | 27 | ||||
-rw-r--r-- | dependencyinjection/dicontainer.php | 2 | ||||
-rw-r--r-- | img/problem.svg | 1749 | ||||
-rw-r--r-- | templates/part.listfeed.php | 19 | ||||
-rw-r--r-- | templates/part.listfolder.php | 15 | ||||
-rw-r--r-- | tests/unit/bl/FeedBlTest.php | 12 | ||||
-rw-r--r-- | tests/unit/bl/FolderBlTest.php | 16 |
9 files changed, 1843 insertions, 18 deletions
diff --git a/bl/feedbl.php b/bl/feedbl.php index 9dc8cd312..0c0bbe9e0 100644 --- a/bl/feedbl.php +++ b/bl/feedbl.php @@ -58,7 +58,8 @@ class FeedBl extends Bl { // first try if the feed exists already try { $this->mapper->findByUrlHash(md5($feedUrl), $userId); - throw new BLException('Can not add feed: Exists already'); + throw new BLException( + $this->api->getTrans()->t('Can not add feed: Exists already')); } catch(DoesNotExistException $ex){} try { @@ -83,8 +84,9 @@ class FeedBl extends Bl { return $feed; } catch(FetcherException $ex){ $this->api->log($ex->getMessage()); - throw new BLException('Can not add feed with url' . $feedUrl . - ': Not found or bad source'); + throw new BLException( + $this->api->getTrans()->t( + 'Can not add feed: URL does not exist or has invalid xml')); } } diff --git a/bl/folderbl.php b/bl/folderbl.php index 3fcf48c7f..b542f3d34 100644 --- a/bl/folderbl.php +++ b/bl/folderbl.php @@ -25,14 +25,20 @@ namespace OCA\News\Bl; +use \OCA\AppFramework\Core\API; + use \OCA\News\Db\Folder; use \OCA\News\Db\FolderMapper; class FolderBl extends Bl { - public function __construct(FolderMapper $folderMapper){ + private $api; + + public function __construct(FolderMapper $folderMapper, + API $api){ parent::__construct($folderMapper); + $this->api = $api; } @@ -44,8 +50,9 @@ class FolderBl extends Bl { private function allowNoNameTwice($folderName, $userId){ $existingFolders = $this->mapper->findByName($folderName, $userId); if(count($existingFolders) > 0){ - throw new BLException('Error: Folder with name ' . $folderName . - ' exists already!'); + + throw new BLException( + $this->api->getTrans()->t('Can not add folder: Exists already')); } } diff --git a/css/feeds.css b/css/feeds.css index 22a290318..245308ed2 100644 --- a/css/feeds.css +++ b/css/feeds.css @@ -45,6 +45,10 @@ text-transform: uppercase; } +.feed { + text-transform: none; +} + .unread-counter { padding: 8px 6px 8px 5px; overflow: hidden; @@ -101,4 +105,27 @@ button.action:hover { height:20px; } +.progress-icon { + background-image: url('%webroot%/core/img/loading.gif'); +} + +.problem-icon { + background-image: url('%appswebroot%/news/img/problem.svg'); +} + +.failed { + background-color: #EB9DA6 !important; + text-shadow: none !important; +} + + .failed .message { + padding: 5px 20px 5px 32px; + text-transform: none; + background-color: #E83A4E; + text-shadow: none; + color: #fefefe; + } + .folder .feed.failed .message { + padding-left: 48px; + }
\ No newline at end of file diff --git a/dependencyinjection/dicontainer.php b/dependencyinjection/dicontainer.php index 3b13b251a..4881596cf 100644 --- a/dependencyinjection/dicontainer.php +++ b/dependencyinjection/dicontainer.php @@ -102,7 +102,7 @@ class DIContainer extends BaseContainer { * Business Layer */ $this['FolderBl'] = $this->share(function($c){ - return new FolderBl($c['FolderMapper']); + return new FolderBl($c['FolderMapper'], $c['API']); }); $this['FeedBl'] = $this->share(function($c){ diff --git a/img/problem.svg b/img/problem.svg new file mode 100644 index 000000000..9d9c51f8d --- /dev/null +++ b/img/problem.svg @@ -0,0 +1,1749 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.0" + width="16" + height="16" + id="svg11300" + inkscape:version="0.48.4 r9939" + sodipodi:docname="info.svg" + inkscape:export-filename="/home/jancborchardt/jancborchardt/ownCloud/icons/users.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <metadata + id="metadata26"> + <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> + <sodipodi:namedview + pagecolor="#cccccc" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="709" + id="namedview24" + showgrid="true" + showguides="true" + inkscape:guide-bbox="true" + inkscape:zoom="22.627418" + inkscape:cx="14.025105" + inkscape:cy="10.988012" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="g4146"> + <inkscape:grid + type="xygrid" + id="grid4330" + empspacing="5" + dotted="true" + visible="true" + enabled="true" + snapvisiblegridlinesonly="true" /> + </sodipodi:namedview> + <defs + id="defs3"> + <linearGradient + id="linearGradient4136"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1;" + id="stop4138" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop4140" /> + </linearGradient> + <linearGradient + id="linearGradient4303"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop4305" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop4307" /> + </linearGradient> + <linearGradient + id="linearGradient4297"> + <stop + id="stop4299" + style="stop-color:#000000;stop-opacity:1" + offset="0" /> + <stop + id="stop4301" + style="stop-color:#363636;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + id="linearGradient4115"> + <stop + id="stop4117" + style="stop-color:#000000;stop-opacity:1" + offset="0" /> + <stop + id="stop4119" + style="stop-color:#363636;stop-opacity:0.698" + offset="1" /> + </linearGradient> + <linearGradient + id="linearGradient3785"> + <stop + id="stop3787" + style="stop-color:#b8b8b8;stop-opacity:1" + offset="0" /> + <stop + id="stop3789" + style="stop-color:#878787;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + id="linearGradient6954"> + <stop + id="stop6960" + style="stop-color:#f5f5f5;stop-opacity:1" + offset="0" /> + <stop + id="stop6962" + style="stop-color:#d2d2d2;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + id="linearGradient3341"> + <stop + id="stop3343" + style="stop-color:white;stop-opacity:1" + offset="0" /> + <stop + id="stop3345" + style="stop-color:white;stop-opacity:0" + offset="1" /> + </linearGradient> + <radialGradient + cx="24.999998" + cy="28.659998" + r="16" + fx="24.999998" + fy="28.659998" + id="radialGradient2856" + xlink:href="#linearGradient6954" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.56186795,0,0,0.15787922,-6.1682604,5.3385209)" /> + <linearGradient + x1="30" + y1="25.084745" + x2="30" + y2="45" + id="linearGradient2858" + xlink:href="#linearGradient3785" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.42808986,0,0,0.42296591,-2.823809,-3.2486024)" /> + <radialGradient + cx="26.375898" + cy="12.31301" + r="8" + fx="26.375898" + fy="12.31301" + id="radialGradient2860" + xlink:href="#linearGradient6954" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.55250164,-0.0426402,0.04315608,0.50971914,-6.3026675,-1.9765067)" /> + <linearGradient + x1="30" + y1="5" + x2="30" + y2="44.678879" + id="linearGradient2862" + xlink:href="#linearGradient3785" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.33685737,0,0,0.32161283,-0.10572085,-0.29529973)" /> + <linearGradient + x1="30" + y1="0.91818392" + x2="30" + y2="25.792814" + id="linearGradient2864" + xlink:href="#linearGradient3341" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.33685737,0,0,0.32161283,-0.10572085,-0.29529973)" /> + <linearGradient + x1="29.955881" + y1="21.86607" + x2="29.955881" + y2="43.144382" + id="linearGradient2866" + xlink:href="#linearGradient3341" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.42808986,0,0,0.42296591,-2.823809,-3.2486024)" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1" + id="linearGradient7308" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.54681372,0,0,0.39376081,3.7325729,-0.29182867)" + x1="34.992828" + y1="0.94087797" + x2="34.992828" + y2="33.955856" /> + <linearGradient + id="linearGradient3587-6-5-3-4-5-4-0-1"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3589-9-2-2-3-2-53-4-3" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3591-7-4-73-7-9-86-9-3" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1" + id="linearGradient3796" + x1="8.3635759" + y1="15.028702" + x2="15.937561" + y2="11.00073" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1" + id="linearGradient3798" + x1="6.9951797" + y1="4.7478018" + x2="13.00482" + y2="4.7478018" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1" + id="linearGradient3815" + x1="209.34245" + y1="998.45801" + x2="209.34245" + y2="1013.451" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-5" + id="linearGradient3815-3" + x1="209.34245" + y1="998.45801" + x2="209.34245" + y2="1013.451" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3587-6-5-3-4-5-4-0-1-5"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3589-9-2-2-3-2-53-4-3-9" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3591-7-4-73-7-9-86-9-3-0" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-5" + id="linearGradient3831" + x1="209.34245" + y1="998.45801" + x2="209.34245" + y2="1013.451" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3833"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3835" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3837" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1" + id="linearGradient3874" + gradientUnits="userSpaceOnUse" + x1="209.34245" + y1="998.45801" + x2="209.34245" + y2="1013.451" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-2" + id="linearGradient3892-2" + x1="8.7094374" + y1="1.0035814" + x2="8.6826077" + y2="16.052532" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3587-6-5-3-4-5-4-0-1-2"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3589-9-2-2-3-2-53-4-3-1" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3591-7-4-73-7-9-86-9-3-4" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(0.96967712,0,0,0.96967712,0.26437941,-0.96950812)" + y2="16.052532" + x2="8.6826077" + y1="1.0035814" + x1="8.7094374" + gradientUnits="userSpaceOnUse" + id="linearGradient3909" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-2" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1" + id="linearGradient3984" + gradientUnits="userSpaceOnUse" + x1="209.34245" + y1="998.45801" + x2="209.34245" + y2="1013.451" /> + <linearGradient + id="linearGradient3587-6-5-3-4-5-4-0-1-2-1"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3589-9-2-2-3-2-53-4-3-1-4" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3591-7-4-73-7-9-86-9-3-4-6" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(0.78786264,0,0,0.78786264,-1.5726929,-0.7389112)" + y2="16.052532" + x2="8.6826077" + y1="1.0035814" + x1="8.7094374" + gradientUnits="userSpaceOnUse" + id="linearGradient3909-3" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-2-2" + inkscape:collect="always" /> + <linearGradient + id="linearGradient3587-6-5-3-4-5-4-0-1-2-2"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3589-9-2-2-3-2-53-4-3-1-7" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3591-7-4-73-7-9-86-9-3-4-5" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient4115-9" + id="linearGradient4113-3" + x1="0.86849999" + y1="13.895414" + x2="0.44923753" + y2="28.776533" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient4115-9"> + <stop + id="stop4117-5" + style="stop-color:#000000;stop-opacity:1" + offset="0" /> + <stop + id="stop4119-6" + style="stop-color:#363636;stop-opacity:0.698" + offset="1" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3104" + id="linearGradient3815-4" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.23426255,0,0,0.2859159,18.734419,0.35950872)" + x1="-51.786404" + y1="50.786446" + x2="-51.786404" + y2="2.9062471" /> + <linearGradient + id="linearGradient3104"> + <stop + id="stop3106" + style="stop-color:#aaaaaa;stop-opacity:1" + offset="0" /> + <stop + id="stop3108" + style="stop-color:#c8c8c8;stop-opacity:1" + offset="1" /> + </linearGradient> + <radialGradient + cx="13.138569" + cy="25.625349" + r="13.931416" + fx="13.138569" + fy="25.625349" + id="radialGradient2965" + xlink:href="#linearGradient3690-451" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0,0.92614711,-1.0546317,0,32.402583,-9.3345932)" /> + <linearGradient + id="linearGradient3690-451"> + <stop + id="stop2857" + style="stop-color:#e8e8e8;stop-opacity:1" + offset="0" /> + <stop + id="stop2859" + style="stop-color:#d8d8d8;stop-opacity:1" + offset="0.26238" /> + <stop + id="stop2861" + style="stop-color:#c2c2c2;stop-opacity:1" + offset="0.66093999" /> + <stop + id="stop2863" + style="stop-color:#a5a5a5;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + x1="21.483376" + y1="36.255058" + x2="21.483376" + y2="9.5799999" + id="linearGradient2967" + xlink:href="#linearGradient3603-84" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.55048262,0,0,0.57815823,-3.8262247,-5.2762279)" /> + <linearGradient + id="linearGradient3603-84"> + <stop + id="stop2867" + style="stop-color:#707070;stop-opacity:1" + offset="0" /> + <stop + id="stop2869" + style="stop-color:#9e9e9e;stop-opacity:1" + offset="1" /> + </linearGradient> + <linearGradient + x1="11.566265" + y1="22.292103" + x2="15.214532" + y2="33.95525" + id="linearGradient3674-262" + xlink:href="#linearGradient8265-821-176-38-919-66-249-529" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4893617,0,0,0.4893617,1.7131795,22.728095)" /> + <linearGradient + id="linearGradient8265-821-176-38-919-66-249-529"> + <stop + id="stop2873" + style="stop-color:#ffffff;stop-opacity:0.27450982" + offset="0" /> + <stop + id="stop2875" + style="stop-color:#ffffff;stop-opacity:0" + offset="1" /> + </linearGradient> + <linearGradient + x1="24.046366" + y1="11.673002" + x2="24.046366" + y2="34.713669" + id="linearGradient3677-116" + xlink:href="#linearGradient3642-81" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.55048262,0,0,0.57815823,-3.8262247,-5.2762276)" /> + <linearGradient + id="linearGradient3642-81"> + <stop + id="stop2879" + style="stop-color:#ffffff;stop-opacity:1" + offset="0" /> + <stop + id="stop2881" + style="stop-color:#ffffff;stop-opacity:0" + offset="1" /> + </linearGradient> + <linearGradient + y2="34.713669" + x2="24.046366" + y1="11.673002" + x1="24.046366" + gradientTransform="matrix(0.55048262,0,0,0.57815823,-3.8262247,-5.2762276)" + gradientUnits="userSpaceOnUse" + id="linearGradient3037" + xlink:href="#linearGradient3642-81" + inkscape:collect="always" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3155-40" + id="linearGradient8639" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.415777,-0.4174938,0.518983,0.5146192,-15.747227,2.6503673)" + spreadMethod="pad" + x1="23.575972" + y1="25.356892" + x2="23.575972" + y2="31.210939" /> + <linearGradient + id="linearGradient3155-40"> + <stop + id="stop2541" + offset="0" + style="stop-color:#181818;stop-opacity:1;" /> + <stop + style="stop-color:#dbdbdb;stop-opacity:1;" + offset="0.13482948" + id="stop2543" /> + <stop + id="stop2545" + offset="0.20224422" + style="stop-color:#a4a4a4;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.26965895" + id="stop2547" /> + <stop + id="stop2549" + offset="0.44650277" + style="stop-color:#8d8d8d;stop-opacity:1;" /> + <stop + style="stop-color:#959595;stop-opacity:1;" + offset="0.57114136" + id="stop2551" /> + <stop + id="stop2553" + offset="0.72038066" + style="stop-color:#cecece;stop-opacity:1;" /> + <stop + id="stop2555" + offset="1" + style="stop-color:#181818;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3240-279" + id="linearGradient8641" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.6022679,-17.867764,0.6930272)" + x1="30.037716" + y1="24.989594" + x2="30.037716" + y2="30.000141" /> + <linearGradient + id="linearGradient3240-279"> + <stop + style="stop-color:#565656;stop-opacity:1;" + offset="0" + id="stop2559" /> + <stop + id="stop2561" + offset="0.5" + style="stop-color:#9a9a9a;stop-opacity:1;" /> + <stop + style="stop-color:#545454;stop-opacity:1;" + offset="1" + id="stop2563" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3223-789" + id="linearGradient8643" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.6022679,-17.983472,0.8092126)" + x1="30.037716" + y1="24.989594" + x2="30.037716" + y2="30.000141" /> + <linearGradient + id="linearGradient3223-789"> + <stop + id="stop2567" + offset="0" + style="stop-color:#b1b1b1;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.5" + id="stop2569" /> + <stop + id="stop2571" + offset="1" + style="stop-color:#8f8f8f;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3240-686" + id="linearGradient8645" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.6022679,-17.465684,0.2892868)" + x1="30.037716" + y1="24.989594" + x2="30.037716" + y2="30.000141" /> + <linearGradient + id="linearGradient3240-686"> + <stop + style="stop-color:#565656;stop-opacity:1;" + offset="0" + id="stop2575" /> + <stop + id="stop2577" + offset="0.5" + style="stop-color:#9a9a9a;stop-opacity:1;" /> + <stop + style="stop-color:#545454;stop-opacity:1;" + offset="1" + id="stop2579" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3223-768" + id="linearGradient8647" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.6022679,-17.581392,0.4054707)" + x1="30.037716" + y1="24.989594" + x2="30.037716" + y2="30.000141" /> + <linearGradient + id="linearGradient3223-768"> + <stop + id="stop2583" + offset="0" + style="stop-color:#b1b1b1;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.5" + id="stop2585" /> + <stop + id="stop2587" + offset="1" + style="stop-color:#8f8f8f;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3240-907" + id="linearGradient8649" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.6022679,-17.061661,-0.1164056)" + x1="30.037716" + y1="24.989594" + x2="30.037716" + y2="30.000141" /> + <linearGradient + id="linearGradient3240-907"> + <stop + style="stop-color:#565656;stop-opacity:1;" + offset="0" + id="stop2591" /> + <stop + id="stop2593" + offset="0.5" + style="stop-color:#9a9a9a;stop-opacity:1;" /> + <stop + style="stop-color:#545454;stop-opacity:1;" + offset="1" + id="stop2595" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3223-699" + id="linearGradient8651" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.6022679,-17.177369,-2.1969969e-4)" + x1="30.037716" + y1="24.989594" + x2="30.037716" + y2="30.000141" /> + <linearGradient + id="linearGradient3223-699"> + <stop + id="stop2599" + offset="0" + style="stop-color:#b1b1b1;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.5" + id="stop2601" /> + <stop + id="stop2603" + offset="1" + style="stop-color:#8f8f8f;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3290-678" + id="linearGradient8653" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.4040235,-0.4056919,0.6073752,0.602268,-17.636692,0.462492)" + x1="9" + y1="29.056757" + x2="9" + y2="26.02973" /> + <linearGradient + id="linearGradient3290-678"> + <stop + id="stop2607" + offset="0" + style="stop-color:#ece5a5;stop-opacity:1;" /> + <stop + id="stop2609" + offset="1" + style="stop-color:#fcfbf2;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3191-577" + id="linearGradient8655" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.3763801,0.03615261,0.03669995,0.374874,-2.2182805,-1.1331002)" + x1="5.5178981" + y1="37.371799" + x2="9.5220556" + y2="41.391716" /> + <linearGradient + id="linearGradient3191-577"> + <stop + id="stop2613" + offset="0" + style="stop-color:#dbce48;stop-opacity:1;" /> + <stop + id="stop2615" + offset="1" + style="stop-color:#c5b625;stop-opacity:1;" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-2-1-0" + id="linearGradient3934-0" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.99998838,0,0,0.99998838,-1.9961264,-41.000004)" + x1="8.7094374" + y1="1.0035814" + x2="8.6826077" + y2="16.052532" /> + <linearGradient + id="linearGradient3587-6-5-3-4-5-4-0-1-2-1-0"> + <stop + offset="0" + style="stop-color:#000000;stop-opacity:1" + id="stop3589-9-2-2-3-2-53-4-3-1-4-9" /> + <stop + offset="1" + style="stop-color:#363636;stop-opacity:1" + id="stop3591-7-4-73-7-9-86-9-3-4-6-0" /> + </linearGradient> + <linearGradient + y2="16.052532" + x2="8.6826077" + y1="1.0035814" + x1="8.7094374" + gradientTransform="matrix(0.99998838,0,0,0.99998838,-1.9961264,-41.000004)" + gradientUnits="userSpaceOnUse" + id="linearGradient4154-8" + xlink:href="#linearGradient3587-6-5-3-4-5-4-0-1-2-1-0-9" + inkscape:collect="always" /> + < |