Added possibility to view birthdays and/or holidays as non-blocking event in calender with special icon prepending it

This commit is contained in:
Andreas Stöckel 2010-12-22 15:17:56 +00:00
parent c65705aac4
commit 70030216f3
7 changed files with 487 additions and 4 deletions

View File

@ -563,7 +563,22 @@ class calendar_hooks
'xmlrpc' => True, 'xmlrpc' => True,
'admin' => False, 'admin' => False,
'forced' => '' 'forced' => ''
) ),
'display_holidays_event' => array(
'type' => 'select',
'label' => 'Display holidays or birthdays as events',
'name' => 'display_holidays_event',
'values' => array(
'0' => lang('Display in header'), //Please note that these values are a binary mask
'1' => lang('Birthdays only'),
'2' => lang('Holidays only'),
'3' => lang('Both, holidays and birthdays')
),
'help' => "When selected, birthdays and/or holidays will be displayed as events in your calendar. Please note that this option only changes the appereance inside of EGroupware, but does not change the information being sent via iCal or other calendar interfaces.",
'xmlrpc' => True,
'admin' => False,
'default'=> '0',
),
); );
} }

View File

@ -129,6 +129,11 @@ class calendar_uiviews extends calendar_ui
*/ */
var $allowEdit = true; var $allowEdit = true;
var $display_holiday_event_types = array(
'bdays' => false,
'hdays' => false
);
/** /**
* Constructor * Constructor
* *
@ -166,6 +171,14 @@ class calendar_uiviews extends calendar_ui
$this->check_owners_access(); $this->check_owners_access();
//Load the ""show holiday as event" preference here and set the event
//types mask accordingly.
$display_holidays_event = $GLOBALS['egw_info']['user']['preferences']['calendar']['display_holidays_event'];
$this->display_holiday_event_types = array(
'bdays' => ((int)$display_holidays_event & 1) != 0,
'hdays' => ((int)$display_holidays_event & 2) != 0
);
if($GLOBALS['egw_info']['user']['preferences']['common']['enable_dragdrop']) if($GLOBALS['egw_info']['user']['preferences']['common']['enable_dragdrop'])
{ {
$this->dragdrop = new dragdrop(); $this->dragdrop = new dragdrop();
@ -830,6 +843,12 @@ class calendar_uiviews extends calendar_ui
} }
} }
$cols = array(); $cols = array();
//Add the holiday events
$dayEvents[$this->date] = array_merge(
$dayEvents[$this->date],
$this->_get_holiday_events($this->date, $this->display_holiday_event_types));
$cols[0] =& $this->timeGridWidget($this->tagWholeDayOnTop($dayEvents),$this->cal_prefs['interval'],450,'','',$owner); $cols[0] =& $this->timeGridWidget($this->tagWholeDayOnTop($dayEvents),$this->cal_prefs['interval'],450,'','',$owner);
$cols[0] .= $this->edit_series(); $cols[0] .= $this->edit_series();
@ -1400,15 +1419,27 @@ function open_edit(series)
if ($show_bdays) if ($show_bdays)
{ {
$bday = true; $bday = true;
//If the birthdays are already displayed as event, don't
//show them in the caption
if (!$this->display_holiday_event_types['bdays'])
{
$h[] = $holiday['name']; $h[] = $holiday['name'];
} }
} }
}
else else
{ {
$class = 'calHoliday'; $class = 'calHoliday';
//If the birthdays are already displayed as event, don't
//show them in the caption
if (!$this->display_holiday_event_types['hdays'])
{
$h[] = $holiday['name']; $h[] = $holiday['name'];
} }
} }
}
$holidays = implode(', ',$h); $holidays = implode(', ',$h);
} }
if (!$class) if (!$class)
@ -1727,10 +1758,12 @@ function open_edit(series)
$style = 'position: relative; margin-top: 3px;'; $style = 'position: relative; margin-top: 3px;';
} }
$prefix_icon = isset($event['prepend_icon']) ? $event['prepend_icon'] : '';
$html = $indent.'<div id="'.$draggableID.'" class="calEvent'.($is_private ? 'Private' : '').' '.$status_class. $html = $indent.'<div id="'.$draggableID.'" class="calEvent'.($is_private ? 'Private' : '').' '.$status_class.
'" style="'.$style.' border-color: '.$headerbgcolor.'; background: '.$background.'; z-index: 20;"'. '" style="'.$style.' border-color: '.$headerbgcolor.'; background: '.$background.'; z-index: 20;"'.
$popup.' '.html::tooltip($tooltip,False,$ttip_options). $popup.' '.html::tooltip($tooltip,False,$ttip_options).
'>'."\n".$ie_fix.$html."\n". '>'.$prefix_icon."\n".$ie_fix.$html."\n".
$indent."</div>"."\n"; $indent."</div>"."\n";
// ATM we do not support whole day events or recurring events for dragdrop // ATM we do not support whole day events or recurring events for dragdrop
@ -2703,4 +2736,100 @@ function open_edit(series)
} }
return $dayEvents; return $dayEvents;
} }
/**
*
* Returns the special icon html code for holidays
*
* @param string $type is the type of the holiday, currently either 'hday' or
* 'bday'
*/
function _get_holiday_icon($type)
{
//Set the special icon which will be prepended to the event
switch ($type) {
case "bday":
return html::image('calendar', 'cake', '', "style=\"float:left; padding: 1px 2px 0px 2px;\"");
case "hday":
return html::image('calendar', 'date', '', "style=\"float:left; padding: 1px 2px 0px 2px;\"");
}
}
/**
*
* Creates a dummy holiday event. This event is shown in the day view, when
* added to the event list.
*
* @param int $day_start is a unix timestamp which contains the start of the day
* when the event occurs.
* @param string $title is the title of the dummy event which will be shown
* @param string $description is the long description of the event which will
* be shown in the event tooltip
*/
function _make_holiday_event($day_start, $title, $description, $type = 'bday')
{
//Calculate the end of the day by adding 23h:59min seconds
$day_end = $day_start + 24 * 3600 - 60;
//Setup the event data
$event = array(
'title' => $title,
'description' => $description,
'participants' => array(
'-1' => 'U'
),
'whole_day_on_top' => true,
'public' => true,
'start' => $day_start,
'end' => $day_end,
'non_blocking' => true,
'prepend_icon' => $this->_get_holiday_icon($type)
);
return $event;
}
/**
*
* Collects all holidays/birthdays corresponding to the given day and creates
* an array containing all this events.
*
* @param string $day_ymd contains the Ymd of the day
* @param array $types is an array which determines which types of events should
* be added to the holiday list. May contain the indices "bdays" and "hdays".
* The default is "bdays => true"
*/
function _get_holiday_events($day_ymd, $types = array("bdays" => true, "hdays" => false))
{
//Check whether there are any holidays set for the current day_ymd
$events = array();
if (isset($this->holidays[$day_ymd]))
{
//Translate the day_ymd to a timestamp
$day_start = $this->bo->date2ts((string)$day_ymd);
//Iterate over the holidays array and add those the the events list
foreach($this->holidays[$day_ymd] as $holiday)
{
if (isset($holiday['birthyear']))
{
if (array_key_exists("bdays", $types) && $types['bdays'])
{
$events[] = $this->_make_holiday_event(
$day_start, $holiday['name'],
lang('Age:').(date('Y') - $holiday['birthyear']));
}
}
else
{
if (array_key_exists("hdays", $types) && $types['hdays'])
{
$events[] = $this->_make_holiday_event($day_start, $holiday['name'], '', 'hday');
}
}
}
}
return $events;
}
} }

View File

@ -23,6 +23,7 @@ added by synchronisation calendar de Durch Synchronisation hinzugefügt
after calendar de nach after calendar de nach
after %1 calendar de Nach dem %1 after %1 calendar de Nach dem %1
after current date calendar de Nach dem aktuellen Datum after current date calendar de Nach dem aktuellen Datum
age: calendar de Alter:
alarm calendar de Alarm alarm calendar de Alarm
alarm added calendar de Alarm zugefügt alarm added calendar de Alarm zugefügt
alarm deleted calendar de Alarm gelöscht alarm deleted calendar de Alarm gelöscht
@ -52,6 +53,8 @@ before current date calendar de Vor dem aktuellen Datum
before the event calendar de vor dem Termin before the event calendar de vor dem Termin
birthday calendar de Geburtstag birthday calendar de Geburtstag
birthdays admin de Geburtstage birthdays admin de Geburtstage
birthdays only calendar de Nur Geburtstage
both, holidays and birthdays calendar de Beide, Feier- und Geburtstage
busy calendar de belegt busy calendar de belegt
by calendar de von by calendar de von
calendar - list calendar de Kalender - Listenansicht calendar - list calendar de Kalender - Listenansicht
@ -117,6 +120,8 @@ delete this series of recuring events calendar de Diese Serie von wiederholenden
deleted calendar de Gelöscht deleted calendar de Gelöscht
deny ressources reservation for private events calendar de Verbiete die Reservierung von Ressourcen für private Termine deny ressources reservation for private events calendar de Verbiete die Reservierung von Ressourcen für private Termine
disinvited calendar de Ausgeladen disinvited calendar de Ausgeladen
display holidays or birthdays as events calendar de Zeige Feier- oder Geburtstage als Ereignisse
display in header calendar de Im Titel anzeigen
display status of events calendar de Status von Terminen anzeigen display status of events calendar de Status von Terminen anzeigen
displayed view calendar de Ansicht displayed view calendar de Ansicht
displays this calendar view on the home page (page you get when you enter egroupware or click on the home page icon)? calendar de Zeigt diese Ansicht auf der Startseite (Seite die Sie bekommen wenn Sie EGroupware starten oder das Home Icon anklicken)? displays this calendar view on the home page (page you get when you enter egroupware or click on the home page icon)? calendar de Zeigt diese Ansicht auf der Startseite (Seite die Sie bekommen wenn Sie EGroupware starten oder das Home Icon anklicken)?
@ -209,6 +214,7 @@ history logging admin de Protokollierung der Historie
holiday calendar de Feiertag holiday calendar de Feiertag
holiday management calendar de Feiertagsverwaltung holiday management calendar de Feiertagsverwaltung
holidays calendar de Feiertage holidays calendar de Feiertage
holidays only calendar de Nur Feiertage
hours calendar de Stunden hours calendar de Stunden
how far to search (from startdate) calendar de wie weit suchen (vom Startdatum) how far to search (from startdate) calendar de wie weit suchen (vom Startdatum)
how many describtion lines should be directly visible. further lines are available via a scrollbar. calendar de Wieviele Zeilen der Beschreibung sollen direkt sichtbar sein (Rest über die Scrollbar)? how many describtion lines should be directly visible. further lines are available via a scrollbar. calendar de Wieviele Zeilen der Beschreibung sollen direkt sichtbar sein (Rest über die Scrollbar)?
@ -475,6 +481,7 @@ weeks offset (for multi-column display) calendar de Wochen Anfangswert (für Meh
weekview calendar de Wochenansicht weekview calendar de Wochenansicht
weekview with weekend calendar de Wochenansicht mit Wochenende weekview with weekend calendar de Wochenansicht mit Wochenende
weekview without weekend calendar de Wochenansicht ohne Wochenende weekview without weekend calendar de Wochenansicht ohne Wochenende
when selected, birthdays and/or holidays will be displayed as events in your calendar. please note that this option only changes the appereance inside of egroupware, but does not change the information being sent via ical or other calendar interfaces. calendar de Wenn ausgewählt werden Geburts- und/oder Feiertage als Ereignisse in Ihrem Kalender angezeigt. Bitte beachten Sie, dass diese Option nur die Erscheinung innerhalb von EGroupware verändert, nicht aber die Informationen, die via iCal oder über andere Kalender-Schnittstellen gesendet werden.
which view to show on home page calendar de Welche Ansicht soll auf der Startseite angezeigt werden which view to show on home page calendar de Welche Ansicht soll auf der Startseite angezeigt werden
whole day calendar de ganztägig whole day calendar de ganztägig
whole query calendar de Ganze Abfrage whole query calendar de Ganze Abfrage

View File

@ -23,6 +23,7 @@ added by synchronisation calendar en Added by synchronisation
after calendar en after after calendar en after
after %1 calendar en After %1 after %1 calendar en After %1
after current date calendar en After current date after current date calendar en After current date
age: calendar en Age:
alarm calendar en Alarm alarm calendar en Alarm
alarm added calendar en Alarm added alarm added calendar en Alarm added
alarm deleted calendar en Alarm deleted alarm deleted calendar en Alarm deleted
@ -52,6 +53,8 @@ before current date calendar en Before current date
before the event calendar en Before the event before the event calendar en Before the event
birthday calendar en Birthday birthday calendar en Birthday
birthdays admin en Birthdays birthdays admin en Birthdays
birthdays only calendar en Birthdays only
both, holidays and birthdays calendar en Both, holidays and birthdays
busy calendar en busy busy calendar en busy
by calendar en by by calendar en by
calendar - list calendar en Calendar - List calendar - list calendar en Calendar - List
@ -117,6 +120,8 @@ delete this series of recuring events calendar en Delete this series of recuring
deleted calendar en Deleted deleted calendar en Deleted
deny ressources reservation for private events calendar en Deny Resources reservation for private events deny ressources reservation for private events calendar en Deny Resources reservation for private events
disinvited calendar en Disinvited disinvited calendar en Disinvited
display holidays or birthdays as events calendar en Display holidays or birthdays as events
display in header calendar en Display in header
display status of events calendar en Display status of events display status of events calendar en Display status of events
displayed view calendar en Displayed view displayed view calendar en Displayed view
displays this calendar view on the home page (page you get when you enter egroupware or click on the home page icon)? calendar en Displays this calendar view on the home page (page you get when you enter EGroupware or click on the home page icon)? displays this calendar view on the home page (page you get when you enter egroupware or click on the home page icon)? calendar en Displays this calendar view on the home page (page you get when you enter EGroupware or click on the home page icon)?
@ -209,6 +214,7 @@ history logging admin en History logging
holiday calendar en Holiday holiday calendar en Holiday
holiday management calendar en Holiday Management holiday management calendar en Holiday Management
holidays calendar en Holidays holidays calendar en Holidays
holidays only calendar en Holidays only
hours calendar en hours hours calendar en hours
how far to search (from startdate) calendar en How far to search (from start date) how far to search (from startdate) calendar en How far to search (from start date)
how many describtion lines should be directly visible. further lines are available via a scrollbar. calendar en How many describtion lines should be directly visible. Further lines are available via a scrollbar. how many describtion lines should be directly visible. further lines are available via a scrollbar. calendar en How many describtion lines should be directly visible. Further lines are available via a scrollbar.
@ -475,6 +481,7 @@ weeks offset (for multi-column display) calendar en Weeks offset (for multi-colu
weekview calendar en Weekview weekview calendar en Weekview
weekview with weekend calendar en Weekview with weekend weekview with weekend calendar en Weekview with weekend
weekview without weekend calendar en Weekview without weekend weekview without weekend calendar en Weekview without weekend
when selected, birthdays and/or holidays will be displayed as events in your calendar. please note that this option only changes the appereance inside of egroupware, but does not change the information being sent via ical or other calendar interfaces. calendar en When selected, birthdays and/or holidays will be displayed as events in your calendar. Please note that this option only changes the appereance inside of EGroupware, but does not change the information being sent via iCal or other calendar interfaces.
which view to show on home page calendar en Which view to show on home page which view to show on home page calendar en Which view to show on home page
whole day calendar en Whole day whole day calendar en Whole day
whole query calendar en whole query whole query calendar en whole query

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

View File

@ -0,0 +1,325 @@
<?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"
width="12"
height="12"
id="svg2"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="cake.svg"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/calendar/templates/default/images/cake.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<linearGradient
id="linearGradient3807">
<stop
style="stop-color:#bf0000;stop-opacity:1;"
offset="0"
id="stop3809" />
<stop
style="stop-color:#ea6b68;stop-opacity:1;"
offset="1"
id="stop3811" />
</linearGradient>
<linearGradient
id="linearGradient3793">
<stop
style="stop-color:#7aa3c0;stop-opacity:1;"
offset="0"
id="stop3795" />
<stop
id="stop3801"
offset="0.5"
style="stop-color:#bdd6f5;stop-opacity:1;" />
<stop
style="stop-color:#87afda;stop-opacity:1;"
offset="1"
id="stop3797" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3793"
id="linearGradient3799"
x1="133.34013"
y1="151.30611"
x2="343.45187"
y2="151.30611"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.05465788,0,0,0.04395369,-6.9955931,1043.3049)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3807-2"
id="linearGradient3813-6"
x1="34.285713"
y1="-56.923534"
x2="72.203453"
y2="-56.923534"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.73076923,0,0,0.73076923,135.85165,88.493115)" />
<linearGradient
id="linearGradient3807-2">
<stop
style="stop-color:#bf0000;stop-opacity:1;"
offset="0"
id="stop3809-2" />
<stop
style="stop-color:#ea6b68;stop-opacity:1;"
offset="1"
id="stop3811-4" />
</linearGradient>
<linearGradient
y2="-56.923534"
x2="72.203453"
y1="-56.923534"
x1="34.285713"
gradientTransform="matrix(0.73076923,0,0,0.73076923,205.13736,71.350259)"
gradientUnits="userSpaceOnUse"
id="linearGradient3830-3"
xlink:href="#linearGradient3807-2-1"
inkscape:collect="always" />
<linearGradient
id="linearGradient3807-2-1">
<stop
style="stop-color:#bf0000;stop-opacity:1;"
offset="0"
id="stop3809-2-4" />
<stop
style="stop-color:#ea6b68;stop-opacity:1;"
offset="1"
id="stop3811-4-3" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3807"
id="linearGradient3884"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.04808577,0,0,0.03866866,0.02111998,1047.0317)"
x1="34.285713"
y1="-56.923534"
x2="72.203453"
y2="-56.923534" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3807-3"
id="linearGradient3884-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.04299983,0,0,0.03457875,3.7310619,1046.0257)"
x1="34.285713"
y1="-56.923534"
x2="72.203453"
y2="-56.923534" />
<linearGradient
id="linearGradient3807-3">
<stop
style="stop-color:#bf0000;stop-opacity:1;"
offset="0"
id="stop3809-23" />
<stop
style="stop-color:#ea6b68;stop-opacity:1;"
offset="1"
id="stop3811-2" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3807-3-5"
id="linearGradient3884-7-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.04683293,0,0,0.03766118,6.8660923,1047.0056)"
x1="34.285713"
y1="-56.923534"
x2="72.203453"
y2="-56.923534" />
<linearGradient
id="linearGradient3807-3-5">
<stop
style="stop-color:#bf0000;stop-opacity:1;"
offset="0"
id="stop3809-23-5" />
<stop
style="stop-color:#ea6b68;stop-opacity:1;"
offset="1"
id="stop3811-2-4" />
</linearGradient>
<filter
inkscape:collect="always"
id="filter4103"
x="-0.53660555"
width="2.0732111"
y="-0.21414344"
height="1.4282869">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.31442601"
id="feGaussianBlur4105" />
</filter>
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter4103-8"
x="-0.53660554"
width="2.0732112"
y="-0.21414344"
height="1.4282869">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.31442601"
id="feGaussianBlur4105-2" />
</filter>
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter4103-2"
x="-0.53660554"
width="2.0732112"
y="-0.21414344"
height="1.4282869">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.31442601"
id="feGaussianBlur4105-5" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.992531"
inkscape:cx="19.369323"
inkscape:cy="24.70486"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="1600"
inkscape:window-height="823"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<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></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1040.3622)">
<path
style="fill:#ffd306;fill-opacity:1;stroke:none"
d="m 9.2926453,1043.747 c 1.0881447,-1.0478 0.8162847,-4.8296 -0.1955729,-3.0143 -0.6197382,1.4154 -0.4918315,1.2844 -0.4889306,1.9395 0.00298,0.6683 0.6845037,1.0748 0.6845037,1.0748 z"
id="path3886-7-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:#ffe984;fill-opacity:1;stroke:none"
d="m 9.3408213,1043.1312 c 0.7580107,-0.7299 0.5686304,-3.3643 -0.1362372,-2.1 -0.4317144,0.9862 -0.342614,0.8948 -0.3405922,1.3513 0.00206,0.4656 0.4768295,0.7487 0.4768295,0.7487 z"
id="path3886-6-8-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:#ffd306;fill-opacity:1;stroke:none"
d="m 6.0458702,1042.9599 c 0.9348705,-0.9001 0.7013032,-4.1491 -0.1680254,-2.5898 -0.5324417,1.2159 -0.4225527,1.1035 -0.42006,1.6662 0.00253,0.5742 0.5880848,0.9236 0.5880848,0.9236 z"
id="path3886-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:#ffe25c;fill-opacity:1;stroke:none"
d="m 6.0872607,1042.4308 c 0.6512368,-0.627 0.4885326,-2.8903 -0.1170467,-1.8041 -0.3709037,0.8471 -0.2943542,0.7685 -0.2926171,1.1608 0.0018,0.4002 0.4096642,0.6433 0.4096642,0.6433 z"
id="path3886-6-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:#ffd306;fill-opacity:1;stroke:none"
d="m 2.4718717,1043.5022 c -1.0956404,-1.0549 -0.8219101,-4.8624 0.1969175,-3.035 0.624005,1.4251 0.4952186,1.2932 0.4922971,1.953 -0.00299,0.6727 -0.6892146,1.082 -0.6892146,1.082 z"
id="path3886"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:#ffde43;fill-opacity:1;stroke:none"
d="m 2.423359,1042.8823 c -0.7632264,-0.735 -0.5725458,-3.3872 0.1371794,-2.1144 0.4346874,0.9928 0.3449731,0.9009 0.3429348,1.3604 -0.00196,0.4689 -0.4801138,0.754 -0.4801138,0.754 z"
id="path3886-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:url(#linearGradient3799);fill-opacity:1;stroke:#5b5b5b;stroke-width:0.30879092;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 6.0249375,1045.7003 c -3.1149985,0 -5.65630826,0.5261 -5.79202442,1.1852 -0.006389,0.021 -0.005127,0.04 -0.005127,0.054 l 0,3.9915 c -0.00417,0.063 9.2668e-4,0.1186 0.006855,0.1691 0.22777201,0.6402 2.72821322,1.1454 5.78006922,1.1454 2.3829291,0 5.2069157,-0.04 5.8073967,-1.1454 l 0,-4.1606 c 0,-0.018 -0.0039,-0.048 -0.0051,-0.054 -0.135726,-0.6591 -2.6770323,-1.1852 -5.7920309,-1.1852 z"
id="path2985"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sccccccccs" />
<path
sodipodi:type="arc"
style="fill:#6d98a1;fill-opacity:1;stroke:#5b5b5b;stroke-width:5.38897991;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path3803"
sodipodi:cx="135.86552"
sodipodi:cy="41.704559"
sodipodi:rx="90.408653"
sodipodi:ry="22.223356"
d="m 226.27418,41.704559 a 90.408653,22.223356 0 1 1 -180.817309,0 90.408653,22.223356 0 1 1 180.817309,0 z"
transform="matrix(0.06351305,0,0,0.05169551,-2.6222136,1044.7025)" />
<path
style="fill:none;stroke:#5b5b5b;stroke-width:0.30879089;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
d="m 11.783289,1046.8543 c 0,0.637 -2.5782102,1.1537 -5.7585958,1.1537 -3.1803855,0 -5.75859476,-0.5167 -5.75859476,-1.1537"
id="path3782"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csc" />
<path
style="fill:url(#linearGradient3884-7);fill-opacity:1;stroke:none"
d="m 5.2360567,1042.2542 1.5971377,0 0,3.8532 c 0,0 -0.1939166,0.1912 -0.7985688,0.1912 -0.6046528,0 -0.7985689,-0.1912 -0.7985689,-0.1912 z"
id="rect3805-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccczcc" />
<path
style="fill:url(#linearGradient3884-7-0);fill-opacity:1;stroke:none"
d="m 8.5052449,1042.8981 1.7395081,0 0,4.1966 c 0,0 -0.211202,0.2082 -0.8697542,0.2082 -0.6585524,0 -0.8697539,-0.2082 -0.8697539,-0.2082 z"
id="rect3805-8-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccczcc" />
<path
style="opacity:0.76030926;fill:#ffd306;fill-opacity:1;stroke:none;filter:url(#filter4103-8)"
d="m 6.1212093,1043.0583 c -1.0956404,-1.0549 -0.8219101,-4.8624 0.1969175,-3.035 0.624005,1.4251 0.4952186,1.2932 0.4922971,1.953 -0.00299,0.6727 -0.6892146,1.082 -0.6892146,1.082 z"
id="path3886-1-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="opacity:0.76030926;fill:#ffd306;fill-opacity:1;stroke:none;filter:url(#filter4103-2)"
d="m 9.317076,1043.6215 c -1.0956402,-1.0549 -0.8219099,-4.8624 0.196918,-3.035 0.624005,1.4251 0.495218,1.2932 0.492297,1.953 -0.003,0.6727 -0.689215,1.082 -0.689215,1.082 z"
id="path3886-1-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
<path
style="fill:url(#linearGradient3884);fill-opacity:1;stroke:none"
d="m 1.7041184,1042.8142 1.7860437,0 0,4.3087 c 0,0 -0.2168512,0.214 -0.8930197,0.214 -0.6761718,0 -0.893024,-0.214 -0.893024,-0.214 z"
id="rect3805"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccczcc" />
<path
style="opacity:0.76030926;fill:#ffd306;fill-opacity:1;stroke:none;filter:url(#filter4103)"
d="m 2.3836451,1043.3965 c -1.0956404,-1.0549 -0.8219101,-4.8624 0.1969175,-3.035 0.6240051,1.4251 0.4952187,1.2932 0.4922972,1.953 -0.00299,0.6727 -0.6892147,1.082 -0.6892147,1.082 z"
id="path3886-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccsc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB