Commit 9796d5e31fb63967dce3323ad0a0fde4862bc01b
1 parent
83f37f7a
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
refactoring block store to make images path available for plugins and themes
Showing
23 changed files
with
838 additions
and
17 deletions
Show diff stats
app/helpers/box_organizer_helper.rb
| ... | ... | @@ -4,6 +4,34 @@ module BoxOrganizerHelper |
| 4 | 4 | 7 |
| 5 | 5 | end |
| 6 | 6 | |
| 7 | + #FIXME make this test | |
| 8 | + def display_icon(block) | |
| 9 | + | |
| 10 | + image_path = nil | |
| 11 | + plugin = @plugins.fetch_first_plugin(:has_block?, block) | |
| 12 | + | |
| 13 | + theme = Theme.new(environment.theme) # remove this | |
| 14 | + if File.exists?(File.join(theme.filesystem_path, 'images', block.icon_path)) | |
| 15 | + image_path = File.join(theme.public_path, 'images', block.icon_path) | |
| 16 | + elsif plugin && File.exists?(File.join(Rails.root, 'public', plugin.public_path, 'images', block.icon_path)) | |
| 17 | + image_path = File.join('/', plugin.public_path, 'images', block.icon_path) | |
| 18 | + elsif File.exists?(File.join(Rails.root, 'public', 'images', block.icon_path)) | |
| 19 | + image_path = block.icon_path | |
| 20 | + else | |
| 21 | + image_path = block.default_icon_path | |
| 22 | + end | |
| 23 | + | |
| 24 | + image_tag(image_path, height: '48', width: '48', class: 'block-type-icon', alt: '' ) | |
| 25 | + end | |
| 26 | + | |
| 27 | + def display_previews(block) | |
| 28 | +# def self.previews_path | |
| 29 | +# previews = Dir.glob(File.join(images_filesystem_path, 'previews/*')).map do |path| | |
| 30 | +# File.join(images_base_url_path, 'previews', File.basename(path)) | |
| 31 | +# end | |
| 32 | + '' | |
| 33 | + end | |
| 34 | + | |
| 7 | 35 | def icon_selector(icon = 'no-ico') |
| 8 | 36 | render :partial => 'icon_selector', :locals => { :icon => icon } |
| 9 | 37 | end | ... | ... |
app/models/block.rb
| ... | ... | @@ -116,7 +116,7 @@ class Block < ActiveRecord::Base |
| 116 | 116 | # Must be redefined in subclasses to match the description of each block |
| 117 | 117 | # type. |
| 118 | 118 | def self.description |
| 119 | - '(dummy)' | |
| 119 | + _('nothing') | |
| 120 | 120 | end |
| 121 | 121 | |
| 122 | 122 | # returns a short description of the block, used when the user sees a list of |
| ... | ... | @@ -125,20 +125,32 @@ class Block < ActiveRecord::Base |
| 125 | 125 | # Must be redefined in subclasses to match the short description of each block |
| 126 | 126 | # type. |
| 127 | 127 | def self.short_description |
| 128 | - _('(dummy)') | |
| 128 | + self.pretty_name | |
| 129 | 129 | end |
| 130 | 130 | |
| 131 | - def self.default_preview | |
| 132 | - "/images/block_preview.png" | |
| 131 | + def self.pretty_name | |
| 132 | + self.name.gsub('Block','') | |
| 133 | 133 | end |
| 134 | 134 | |
| 135 | - def self.previews | |
| 136 | - [] | |
| 135 | + #FIXME make this test | |
| 136 | + def self.default_preview | |
| 137 | + "/images/block_preview.png" | |
| 137 | 138 | end |
| 138 | 139 | |
| 139 | - def self.icon | |
| 140 | - "/images/icon_block.png" | |
| 141 | - end | |
| 140 | +# #FIXME remove this code | |
| 141 | +# def self.previews_path | |
| 142 | +# previews = Dir.glob(File.join(images_filesystem_path, 'previews/*')).map do |path| | |
| 143 | +# File.join(images_base_url_path, 'previews', File.basename(path)) | |
| 144 | +# end | |
| 145 | +# end | |
| 146 | + | |
| 147 | +# #FIXME remove this code | |
| 148 | +# def self.icon_path | |
| 149 | +# icon_path = File.join(images_base_url_path, 'icon.png') | |
| 150 | +#puts File.join(images_filesystem_path, 'icon.png').inspect | |
| 151 | +##"/plugins/container_block/images/handle_e.png" | |
| 152 | +# File.exists?(File.join(images_filesystem_path, 'icon.png')) ? icon_path : default_icon_path | |
| 153 | +# end | |
| 142 | 154 | |
| 143 | 155 | # Returns the content to be used for this block. |
| 144 | 156 | # |
| ... | ... | @@ -255,4 +267,21 @@ class Block < ActiveRecord::Base |
| 255 | 267 | duplicated_block |
| 256 | 268 | end |
| 257 | 269 | |
| 270 | + #FIXME make this test | |
| 271 | + def self.previews_path | |
| 272 | + base_name = self.name.split('::').last.underscore | |
| 273 | + Dir.glob(File.join('blocks', base_name,'previews/*')) | |
| 274 | + end | |
| 275 | + | |
| 276 | + #FIXME make this test | |
| 277 | + def self.icon_path | |
| 278 | + basename = self.name.split('::').last.underscore | |
| 279 | + File.join('blocks', basename, 'icon.png') | |
| 280 | + end | |
| 281 | + | |
| 282 | + #FIXME make this test | |
| 283 | + def self.default_icon_path | |
| 284 | + 'icon_block.png' | |
| 285 | + end | |
| 286 | + | |
| 258 | 287 | end | ... | ... |
app/models/communities_block.rb
| ... | ... | @@ -3,9 +3,18 @@ class CommunitiesBlock < ProfileListBlock |
| 3 | 3 | attr_accessible :accessor_id, :accessor_type, :role_id, :resource_id, :resource_type |
| 4 | 4 | |
| 5 | 5 | def self.description |
| 6 | + _("<p>Display all of your communities.</p><p>You could choose the amount of communities will be displayed and you could priorize that profiles with images.</p> <p>The view all button is always present in the block.</p>") | |
| 7 | + end | |
| 8 | + | |
| 9 | + | |
| 10 | + def self.short_description | |
| 6 | 11 | _('Communities') |
| 7 | 12 | end |
| 8 | 13 | |
| 14 | + def self.pretty_name | |
| 15 | + _('Communities Block') | |
| 16 | + end | |
| 17 | + | |
| 9 | 18 | def default_title |
| 10 | 19 | n_('{#} community', '{#} communities', profile_count) |
| 11 | 20 | end | ... | ... |
app/models/theme.rb
| ... | ... | @@ -13,8 +13,14 @@ class Theme |
| 13 | 13 | Rails.root.join('public', 'user_themes') |
| 14 | 14 | end |
| 15 | 15 | |
| 16 | + #FIXME make this test changed | |
| 16 | 17 | def system_themes_dir |
| 17 | - Rails.root.join('public', 'designs', 'themes') | |
| 18 | + Rails.root.join('public', relative_themes_dir) | |
| 19 | + end | |
| 20 | + | |
| 21 | + #FIXME make this test | |
| 22 | + def relative_themes_dir | |
| 23 | + File.join('designs', 'themes') | |
| 18 | 24 | end |
| 19 | 25 | |
| 20 | 26 | def create(id, attributes = {}) |
| ... | ... | @@ -93,6 +99,16 @@ class Theme |
| 93 | 99 | config['public'] = value |
| 94 | 100 | end |
| 95 | 101 | |
| 102 | + #FIXME make this test | |
| 103 | + def public_path | |
| 104 | + File.join('/', self.class.relative_themes_dir, self.id) | |
| 105 | + end | |
| 106 | + | |
| 107 | + #FIXME make this test | |
| 108 | + def filesystem_path | |
| 109 | + File.join(self.class.system_themes_dir, self.id) | |
| 110 | + end | |
| 111 | + | |
| 96 | 112 | def ==(other) |
| 97 | 113 | other.is_a?(self.class) && (other.id == self.id) |
| 98 | 114 | end | ... | ... |
app/views/box_organizer/index.html.erb
| ... | ... | @@ -30,9 +30,9 @@ |
| 30 | 30 | <br style="clear: left"> |
| 31 | 31 | </div> |
| 32 | 32 | <div> |
| 33 | - <%= image_tag(block.icon, height: '48', width: '48', class: 'block-type-icon', alt: '' ) %> | |
| 33 | + <%= display_icon(block) %> | |
| 34 | 34 | </div> |
| 35 | - <span><%= _(block.description) %></span> | |
| 35 | + <span><%= _(block.short_description) %></span> | |
| 36 | 36 | </div> |
| 37 | 37 | |
| 38 | 38 | <%= draggable_element("block-#{block.name}", :revert => true) %> | ... | ... |
app/views/box_organizer/show_block_type_info.html.erb
| 1 | 1 | <div id="block-info-container"> |
| 2 | 2 | |
| 3 | 3 | <div id="bs-block-header"> |
| 4 | - <%= image_tag(@block.icon, height: '48', width: '48', id: 'block-info-icon', alt: '' ) %> | |
| 5 | - <h1><%= @block.name %></h1> | |
| 4 | + <%= display_icon(@block) %> | |
| 5 | + <h1><%= @block.pretty_name %></h1> | |
| 6 | 6 | <p><%= @block.short_description %></p> |
| 7 | 7 | </div> |
| 8 | 8 | |
| 9 | 9 | <div id="block-info-images"> |
| 10 | 10 | <div style="white-space: nowrap;"> |
| 11 | - <% if @block.previews.empty? %> | |
| 11 | + <% if @block.previews_path.empty? %> | |
| 12 | 12 | <% for i in 0..2 %> |
| 13 | 13 | <%= image_tag(@block.default_preview, height: '240', width: '384', alt: '') %> |
| 14 | 14 | <% end %> |
| 15 | 15 | <% else %> |
| 16 | - <% @block.previews.each do |preview| %> | |
| 16 | + <% @block.previews_path.each do |preview| %> | |
| 17 | 17 | <%= image_tag(preview, height: '240', width: '384', alt: '') %> |
| 18 | 18 | <% end %> |
| 19 | 19 | <% end %> | ... | ... |
lib/noosfero/plugin.rb
| ... | ... | @@ -116,7 +116,7 @@ class Noosfero::Plugin |
| 116 | 116 | def available_plugin_names |
| 117 | 117 | available_plugins.map { |f| File.basename(f).camelize } |
| 118 | 118 | end |
| 119 | - | |
| 119 | + | |
| 120 | 120 | def all |
| 121 | 121 | @all ||= available_plugins.map{ |dir| (File.basename(dir) + "_plugin").camelize } |
| 122 | 122 | end |
| ... | ... | @@ -154,6 +154,13 @@ class Noosfero::Plugin |
| 154 | 154 | File.exists?(File.join(root_path, 'controllers', "#{name.underscore}_admin_controller.rb")) |
| 155 | 155 | end |
| 156 | 156 | end |
| 157 | + | |
| 158 | + | |
| 159 | + #FIXME make this test | |
| 160 | + def has_block?(block) | |
| 161 | + self.class.extra_blocks.keys.include?(block) | |
| 162 | + end | |
| 163 | + | |
| 157 | 164 | |
| 158 | 165 | def expanded_template(file_path, locals = {}) |
| 159 | 166 | views_path = Rails.root.join('plugins', "#{self.class.public_name}", 'views') | ... | ... |
3.77 KB
plugins/breadcrumbs/public/images/blocks/communities_block/previews/edit_block.png
0 → 100644
27.9 KB
plugins/breadcrumbs/public/images/blocks/communities_block/previews/view_block.png
0 → 100644
16.1 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/icon.png
0 → 100644
3.77 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/icon2.png
0 → 100644
6.9 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/previews/edit_block.png
0 → 100644
27.9 KB
plugins/breadcrumbs/public/images/blocks/content_breadcrumbs_block/previews/view_block.png
0 → 100644
16.1 KB
public/designs/themes/noosfero/images/blocks/communities_block/icon.png
0 → 100644
3.5 KB
public/designs/themes/noosfero/images/blocks/communities_block/previews/edit_block.png
0 → 100644
27.1 KB
public/designs/themes/noosfero/images/blocks/communities_block/previews/view_block.png
0 → 100644
16 KB
3.98 KB
| ... | ... | @@ -0,0 +1,643 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> | |
| 3 | + | |
| 4 | +<svg | |
| 5 | + xmlns:dc="http://purl.org/dc/elements/1.1/" | |
| 6 | + xmlns:cc="http://creativecommons.org/ns#" | |
| 7 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
| 8 | + xmlns:svg="http://www.w3.org/2000/svg" | |
| 9 | + xmlns="http://www.w3.org/2000/svg" | |
| 10 | + xmlns:xlink="http://www.w3.org/1999/xlink" | |
| 11 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |
| 12 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |
| 13 | + width="48px" | |
| 14 | + height="48px" | |
| 15 | + id="svg2108" | |
| 16 | + sodipodi:version="0.32" | |
| 17 | + inkscape:version="0.48.3.1 r9886" | |
| 18 | + sodipodi:docname="icon.svg" | |
| 19 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" | |
| 20 | + version="1.1"> | |
| 21 | + <defs | |
| 22 | + id="defs3"> | |
| 23 | + <linearGradient | |
| 24 | + id="linearGradient2966"> | |
| 25 | + <stop | |
| 26 | + style="stop-color:#ffd1d1;stop-opacity:1;" | |
| 27 | + offset="0" | |
| 28 | + id="stop2968" /> | |
| 29 | + <stop | |
| 30 | + id="stop3006" | |
| 31 | + offset="0.5" | |
| 32 | + style="stop-color:#ff1d1d;stop-opacity:1;" /> | |
| 33 | + <stop | |
| 34 | + style="stop-color:#6f0000;stop-opacity:1;" | |
| 35 | + offset="1" | |
| 36 | + id="stop2970" /> | |
| 37 | + </linearGradient> | |
| 38 | + <linearGradient | |
| 39 | + id="linearGradient2974"> | |
| 40 | + <stop | |
| 41 | + style="stop-color:#c1c1c1;stop-opacity:1;" | |
| 42 | + offset="0" | |
| 43 | + id="stop2976" /> | |
| 44 | + <stop | |
| 45 | + style="stop-color:#acacac;stop-opacity:1;" | |
| 46 | + offset="1" | |
| 47 | + id="stop2978" /> | |
| 48 | + </linearGradient> | |
| 49 | + <linearGradient | |
| 50 | + inkscape:collect="always" | |
| 51 | + id="linearGradient2984"> | |
| 52 | + <stop | |
| 53 | + style="stop-color:#e7e2b8;stop-opacity:1;" | |
| 54 | + offset="0" | |
| 55 | + id="stop2986" /> | |
| 56 | + <stop | |
| 57 | + style="stop-color:#e7e2b8;stop-opacity:0;" | |
| 58 | + offset="1" | |
| 59 | + id="stop2988" /> | |
| 60 | + </linearGradient> | |
| 61 | + <linearGradient | |
| 62 | + id="linearGradient2994"> | |
| 63 | + <stop | |
| 64 | + style="stop-color:#000000;stop-opacity:1;" | |
| 65 | + offset="0" | |
| 66 | + id="stop2996" /> | |
| 67 | + <stop | |
| 68 | + style="stop-color:#c9c9c9;stop-opacity:1;" | |
| 69 | + offset="1" | |
| 70 | + id="stop2998" /> | |
| 71 | + </linearGradient> | |
| 72 | + <inkscape:perspective | |
| 73 | + sodipodi:type="inkscape:persp3d" | |
| 74 | + inkscape:vp_x="0 : 24 : 1" | |
| 75 | + inkscape:vp_y="0 : 1000 : 0" | |
| 76 | + inkscape:vp_z="48 : 24 : 1" | |
| 77 | + inkscape:persp3d-origin="24 : 16 : 1" | |
| 78 | + id="perspective72" /> | |
| 79 | + <linearGradient | |
| 80 | + inkscape:collect="always" | |
| 81 | + id="linearGradient4356"> | |
| 82 | + <stop | |
| 83 | + style="stop-color:#000000;stop-opacity:1;" | |
| 84 | + offset="0" | |
| 85 | + id="stop4358" /> | |
| 86 | + <stop | |
| 87 | + style="stop-color:#000000;stop-opacity:0;" | |
| 88 | + offset="1" | |
| 89 | + id="stop4360" /> | |
| 90 | + </linearGradient> | |
| 91 | + <linearGradient | |
| 92 | + id="linearGradient4344"> | |
| 93 | + <stop | |
| 94 | + style="stop-color:#727e0a;stop-opacity:1;" | |
| 95 | + offset="0" | |
| 96 | + id="stop4346" /> | |
| 97 | + <stop | |
| 98 | + style="stop-color:#5b6508;stop-opacity:1.0000000;" | |
| 99 | + offset="1.0000000" | |
| 100 | + id="stop4348" /> | |
| 101 | + </linearGradient> | |
| 102 | + <linearGradient | |
| 103 | + id="linearGradient4338"> | |
| 104 | + <stop | |
| 105 | + id="stop4340" | |
| 106 | + offset="0.0000000" | |
| 107 | + style="stop-color:#e9b15e;stop-opacity:1.0000000;" /> | |
| 108 | + <stop | |
| 109 | + id="stop4342" | |
| 110 | + offset="1.0000000" | |
| 111 | + style="stop-color:#966416;stop-opacity:1.0000000;" /> | |
| 112 | + </linearGradient> | |
| 113 | + <linearGradient | |
| 114 | + id="linearGradient4163"> | |
| 115 | + <stop | |
| 116 | + style="stop-color:#3b74bc;stop-opacity:1.0000000;" | |
| 117 | + offset="0.0000000" | |
| 118 | + id="stop4165" /> | |
| 119 | + <stop | |
| 120 | + style="stop-color:#2d5990;stop-opacity:1.0000000;" | |
| 121 | + offset="1.0000000" | |
| 122 | + id="stop4167" /> | |
| 123 | + </linearGradient> | |
| 124 | + <linearGradient | |
| 125 | + id="linearGradient3824"> | |
| 126 | + <stop | |
| 127 | + style="stop-color:#ffffff;stop-opacity:1;" | |
| 128 | + offset="0" | |
| 129 | + id="stop3826" /> | |
| 130 | + <stop | |
| 131 | + style="stop-color:#c9c9c9;stop-opacity:1.0000000;" | |
| 132 | + offset="1.0000000" | |
| 133 | + id="stop3828" /> | |
| 134 | + </linearGradient> | |
| 135 | + <linearGradient | |
| 136 | + inkscape:collect="always" | |
| 137 | + id="linearGradient3816"> | |
| 138 | + <stop | |
| 139 | + style="stop-color:#000000;stop-opacity:1;" | |
| 140 | + offset="0" | |
| 141 | + id="stop3818" /> | |
| 142 | + <stop | |
| 143 | + style="stop-color:#000000;stop-opacity:0;" | |
| 144 | + offset="1" | |
| 145 | + id="stop3820" /> | |
| 146 | + </linearGradient> | |
| 147 | + <linearGradient | |
| 148 | + id="linearGradient3800"> | |
| 149 | + <stop | |
| 150 | + style="stop-color:#f4d9b1;stop-opacity:1.0000000;" | |
| 151 | + offset="0.0000000" | |
| 152 | + id="stop3802" /> | |
| 153 | + <stop | |
| 154 | + style="stop-color:#df9725;stop-opacity:1.0000000;" | |
| 155 | + offset="1.0000000" | |
| 156 | + id="stop3804" /> | |
| 157 | + </linearGradient> | |
| 158 | + <radialGradient | |
| 159 | + inkscape:collect="always" | |
| 160 | + xlink:href="#linearGradient3800" | |
| 161 | + id="radialGradient3806" | |
| 162 | + cx="29.344931" | |
| 163 | + cy="17.064077" | |
| 164 | + fx="29.344931" | |
| 165 | + fy="17.064077" | |
| 166 | + r="9.1620579" | |
| 167 | + gradientUnits="userSpaceOnUse" /> | |
| 168 | + <radialGradient | |
| 169 | + inkscape:collect="always" | |
| 170 | + xlink:href="#linearGradient3816" | |
| 171 | + id="radialGradient3822" | |
| 172 | + cx="31.112698" | |
| 173 | + cy="19.008621" | |
| 174 | + fx="31.112698" | |
| 175 | + fy="19.008621" | |
| 176 | + r="8.6620579" | |
| 177 | + gradientUnits="userSpaceOnUse" /> | |
| 178 | + <linearGradient | |
| 179 | + inkscape:collect="always" | |
| 180 | + xlink:href="#linearGradient3824" | |
| 181 | + id="linearGradient3830" | |
| 182 | + x1="30.935921" | |
| 183 | + y1="29.553486" | |
| 184 | + x2="30.935921" | |
| 185 | + y2="35.803486" | |
| 186 | + gradientUnits="userSpaceOnUse" /> | |
| 187 | + <radialGradient | |
| 188 | + inkscape:collect="always" | |
| 189 | + xlink:href="#linearGradient4163" | |
| 190 | + id="radialGradient4169" | |
| 191 | + cx="28.089741" | |
| 192 | + cy="27.203083" | |
| 193 | + fx="28.089741" | |
| 194 | + fy="27.203083" | |
| 195 | + r="13.565360" | |
| 196 | + gradientTransform="matrix(1.297564,2.881172e-16,-1.964720e-16,0.884831,-8.358505,4.940469)" | |
| 197 | + gradientUnits="userSpaceOnUse" /> | |
| 198 | + <radialGradient | |
| 199 | + inkscape:collect="always" | |
| 200 | + xlink:href="#linearGradient3800" | |
| 201 | + id="radialGradient4171" | |
| 202 | + gradientUnits="userSpaceOnUse" | |
| 203 | + cx="29.344931" | |
| 204 | + cy="17.064077" | |
| 205 | + fx="29.344931" | |
| 206 | + fy="17.064077" | |
| 207 | + r="9.1620579" | |
| 208 | + gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" /> | |
| 209 | + <linearGradient | |
| 210 | + inkscape:collect="always" | |
| 211 | + xlink:href="#linearGradient3824" | |
| 212 | + id="linearGradient4175" | |
| 213 | + gradientUnits="userSpaceOnUse" | |
| 214 | + x1="30.935921" | |
| 215 | + y1="29.553486" | |
| 216 | + x2="30.935921" | |
| 217 | + y2="35.803486" | |
| 218 | + gradientTransform="translate(0.707108,0.000000)" /> | |
| 219 | + <radialGradient | |
| 220 | + inkscape:collect="always" | |
| 221 | + xlink:href="#linearGradient3816" | |
| 222 | + id="radialGradient4179" | |
| 223 | + gradientUnits="userSpaceOnUse" | |
| 224 | + cx="31.112698" | |
| 225 | + cy="19.008621" | |
| 226 | + fx="31.112698" | |
| 227 | + fy="19.008621" | |
| 228 | + r="8.6620579" /> | |
| 229 | + <linearGradient | |
| 230 | + inkscape:collect="always" | |
| 231 | + xlink:href="#linearGradient3824" | |
| 232 | + id="linearGradient4326" | |
| 233 | + gradientUnits="userSpaceOnUse" | |
| 234 | + gradientTransform="translate(-12.41789,-7.000000)" | |
| 235 | + x1="30.935921" | |
| 236 | + y1="29.553486" | |
| 237 | + x2="30.935921" | |
| 238 | + y2="35.803486" /> | |
| 239 | + <radialGradient | |
| 240 | + inkscape:collect="always" | |
| 241 | + xlink:href="#linearGradient4338" | |
| 242 | + id="radialGradient4328" | |
| 243 | + gradientUnits="userSpaceOnUse" | |
| 244 | + gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" | |
| 245 | + cx="29.344931" | |
| 246 | + cy="17.064077" | |
| 247 | + fx="29.344931" | |
| 248 | + fy="17.064077" | |
| 249 | + r="9.1620579" /> | |
| 250 | + <radialGradient | |
| 251 | + inkscape:collect="always" | |
| 252 | + xlink:href="#linearGradient3816" | |
| 253 | + id="radialGradient4330" | |
| 254 | + gradientUnits="userSpaceOnUse" | |
| 255 | + cx="31.112698" | |
| 256 | + cy="19.008621" | |
| 257 | + fx="31.112698" | |
| 258 | + fy="19.008621" | |
| 259 | + r="8.6620579" /> | |
| 260 | + <linearGradient | |
| 261 | + inkscape:collect="always" | |
| 262 | + xlink:href="#linearGradient3824" | |
| 263 | + id="linearGradient4332" | |
| 264 | + gradientUnits="userSpaceOnUse" | |
| 265 | + x1="30.935921" | |
| 266 | + y1="29.553486" | |
| 267 | + x2="30.935921" | |
| 268 | + y2="35.803486" | |
| 269 | + gradientTransform="translate(-13.12500,-7.000000)" /> | |
| 270 | + <radialGradient | |
| 271 | + inkscape:collect="always" | |
| 272 | + xlink:href="#linearGradient3816" | |
| 273 | + id="radialGradient4336" | |
| 274 | + gradientUnits="userSpaceOnUse" | |
| 275 | + cx="31.112698" | |
| 276 | + cy="19.008621" | |
| 277 | + fx="31.112698" | |
| 278 | + fy="19.008621" | |
| 279 | + r="8.6620579" /> | |
| 280 | + <radialGradient | |
| 281 | + inkscape:collect="always" | |
| 282 | + xlink:href="#linearGradient4344" | |
| 283 | + id="radialGradient4350" | |
| 284 | + cx="16.214741" | |
| 285 | + cy="19.836468" | |
| 286 | + fx="16.214741" | |
| 287 | + fy="19.836468" | |
| 288 | + r="13.565360" | |
| 289 | + gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)" | |
| 290 | + gradientUnits="userSpaceOnUse" /> | |
| 291 | + <linearGradient | |
| 292 | + inkscape:collect="always" | |
| 293 | + xlink:href="#linearGradient4356" | |
| 294 | + id="linearGradient4362" | |
| 295 | + x1="20.661695" | |
| 296 | + y1="35.817974" | |
| 297 | + x2="22.626925" | |
| 298 | + y2="36.217758" | |
| 299 | + gradientUnits="userSpaceOnUse" | |
| 300 | + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" /> | |
| 301 | + <linearGradient | |
| 302 | + inkscape:collect="always" | |
| 303 | + xlink:href="#linearGradient4356" | |
| 304 | + id="linearGradient4366" | |
| 305 | + gradientUnits="userSpaceOnUse" | |
| 306 | + x1="22.686766" | |
| 307 | + y1="36.390400" | |
| 308 | + x2="21.408455" | |
| 309 | + y2="35.739632" | |
| 310 | + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.10960,-3.945209)" /> | |
| 311 | + <linearGradient | |
| 312 | + inkscape:collect="always" | |
| 313 | + xlink:href="#linearGradient4356" | |
| 314 | + id="linearGradient4372" | |
| 315 | + gradientUnits="userSpaceOnUse" | |
| 316 | + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)" | |
| 317 | + x1="20.661695" | |
| 318 | + y1="35.817974" | |
| 319 | + x2="22.626925" | |
| 320 | + y2="36.217758" /> | |
| 321 | + <linearGradient | |
| 322 | + inkscape:collect="always" | |
| 323 | + xlink:href="#linearGradient4356" | |
| 324 | + id="linearGradient4374" | |
| 325 | + gradientUnits="userSpaceOnUse" | |
| 326 | + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" | |
| 327 | + x1="22.686766" | |
| 328 | + y1="36.390400" | |
| 329 | + x2="21.408455" | |
| 330 | + y2="35.739632" /> | |
| 331 | + <linearGradient | |
| 332 | + inkscape:collect="always" | |
| 333 | + xlink:href="#linearGradient4356" | |
| 334 | + id="linearGradient1366" | |
| 335 | + gradientUnits="userSpaceOnUse" | |
| 336 | + gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)" | |
| 337 | + x1="22.686766" | |
| 338 | + y1="36.390400" | |
| 339 | + x2="21.408455" | |
| 340 | + y2="35.739632" /> | |
| 341 | + <linearGradient | |
| 342 | + inkscape:collect="always" | |
| 343 | + xlink:href="#linearGradient4356" | |
| 344 | + id="linearGradient1369" | |
| 345 | + gradientUnits="userSpaceOnUse" | |
| 346 | + gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)" | |
| 347 | + x1="20.661695" | |
| 348 | + y1="35.817974" | |
| 349 | + x2="22.626925" | |
| 350 | + y2="36.217758" /> | |
| 351 | + <linearGradient | |
| 352 | + inkscape:collect="always" | |
| 353 | + xlink:href="#linearGradient3824" | |
| 354 | + id="linearGradient1372" | |
| 355 | + gradientUnits="userSpaceOnUse" | |
| 356 | + gradientTransform="translate(-12.41789,-7.000000)" | |
| 357 | + x1="30.935921" | |
| 358 | + y1="29.553486" | |
| 359 | + x2="30.935921" | |
| 360 | + y2="35.803486" /> | |
| 361 | + <radialGradient | |
| 362 | + inkscape:collect="always" | |
| 363 | + xlink:href="#linearGradient4344" | |
| 364 | + id="radialGradient1381" | |
| 365 | + gradientUnits="userSpaceOnUse" | |
| 366 | + gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)" | |
| 367 | + cx="16.214741" | |
| 368 | + cy="19.836468" | |
| 369 | + fx="16.214741" | |
| 370 | + fy="19.836468" | |
| 371 | + r="13.565360" /> | |
| 372 | + <linearGradient | |
| 373 | + inkscape:collect="always" | |
| 374 | + xlink:href="#linearGradient2966" | |
| 375 | + id="linearGradient2682" | |
| 376 | + gradientUnits="userSpaceOnUse" | |
| 377 | + gradientTransform="translate(-22.726626,3.0433486)" | |
| 378 | + x1="48.90625" | |
| 379 | + y1="17.376184" | |
| 380 | + x2="50.988335" | |
| 381 | + y2="22.250591" /> | |
| 382 | + <linearGradient | |
| 383 | + inkscape:collect="always" | |
| 384 | + xlink:href="#linearGradient2974" | |
| 385 | + id="linearGradient2684" | |
| 386 | + gradientUnits="userSpaceOnUse" | |
| 387 | + gradientTransform="translate(-22.726626,3.0433486)" | |
| 388 | + x1="46" | |
| 389 | + y1="19.8125" | |
| 390 | + x2="47.6875" | |
| 391 | + y2="22.625" /> | |
| 392 | + <radialGradient | |
| 393 | + inkscape:collect="always" | |
| 394 | + xlink:href="#linearGradient2984" | |
| 395 | + id="radialGradient2686" | |
| 396 | + gradientUnits="userSpaceOnUse" | |
| 397 | + gradientTransform="matrix(2.923565,0,0,2.029717,-78.612654,-24.840821)" | |
| 398 | + cx="29.053354" | |
| 399 | + cy="27.640751" | |
| 400 | + fx="29.053354" | |
| 401 | + fy="27.640751" | |
| 402 | + r="3.2408544" /> | |
| 403 | + <linearGradient | |
| 404 | + inkscape:collect="always" | |
| 405 | + xlink:href="#linearGradient2994" | |
| 406 | + id="linearGradient2688" | |
| 407 | + gradientUnits="userSpaceOnUse" | |
| 408 | + gradientTransform="translate(-22.882876,3.1683486)" | |
| 409 | + x1="25.71875" | |
| 410 | + y1="31.046875" | |
| 411 | + x2="25.514589" | |
| 412 | + y2="30.703125" /> | |
| 413 | + </defs> | |
| 414 | + <sodipodi:namedview | |
| 415 | + inkscape:showpageshadow="false" | |
| 416 | + id="base" | |
| 417 | + pagecolor="#ffffff" | |
| 418 | + bordercolor="#666666" | |
| 419 | + borderopacity="1.0" | |
| 420 | + inkscape:pageopacity="0.0" | |
| 421 | + inkscape:pageshadow="2" | |
| 422 | + inkscape:zoom="5.6568542" | |
| 423 | + inkscape:cx="35.364423" | |
| 424 | + inkscape:cy="14.908213" | |
| 425 | + inkscape:current-layer="layer2" | |
| 426 | + showgrid="true" | |
| 427 | + inkscape:grid-bbox="true" | |
| 428 | + inkscape:document-units="px" | |
| 429 | + fill="#9db029" | |
| 430 | + stroke="#727e0a" | |
| 431 | + inkscape:window-width="1280" | |
| 432 | + inkscape:window-height="749" | |
| 433 | + inkscape:window-x="65" | |
| 434 | + inkscape:window-y="24" | |
| 435 | + gridtolerance="9" | |
| 436 | + inkscape:window-maximized="0"> | |
| 437 | + <inkscape:grid | |
| 438 | + type="xygrid" | |
| 439 | + id="grid3460" | |
| 440 | + visible="true" | |
| 441 | + enabled="true" /> | |
| 442 | + </sodipodi:namedview> | |
| 443 | + <metadata | |
| 444 | + id="metadata4"> | |
| 445 | + <rdf:RDF> | |
| 446 | + <cc:Work | |
| 447 | + rdf:about=""> | |
| 448 | + <dc:format>image/svg+xml</dc:format> | |
| 449 | + <dc:type | |
| 450 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |
| 451 | + <dc:title></dc:title> | |
| 452 | + <dc:creator> | |
| 453 | + <cc:Agent> | |
| 454 | + <dc:title>Jakub Steiner</dc:title> | |
| 455 | + </cc:Agent> | |
| 456 | + </dc:creator> | |
| 457 | + <dc:source>http://jimmac.musichall.cz</dc:source> | |
| 458 | + <dc:subject> | |
| 459 | + <rdf:Bag> | |
| 460 | + <rdf:li>users</rdf:li> | |
| 461 | + <rdf:li>people</rdf:li> | |
| 462 | + </rdf:Bag> | |
| 463 | + </dc:subject> | |
| 464 | + <cc:license | |
| 465 | + rdf:resource="http://creativecommons.org/licenses/publicdomain/" /> | |
| 466 | + </cc:Work> | |
| 467 | + <cc:License | |
| 468 | + rdf:about="http://creativecommons.org/licenses/publicdomain/"> | |
| 469 | + <cc:permits | |
| 470 | + rdf:resource="http://creativecommons.org/ns#Reproduction" /> | |
| 471 | + <cc:permits | |
| 472 | + rdf:resource="http://creativecommons.org/ns#Distribution" /> | |
| 473 | + <cc:permits | |
| 474 | + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> | |
| 475 | + </cc:License> | |
| 476 | + </rdf:RDF> | |
| 477 | + </metadata> | |
| 478 | + <g | |
| 479 | + id="layer1" | |
| 480 | + inkscape:label="cipek" | |
| 481 | + inkscape:groupmode="layer" | |
| 482 | + style="display:inline" /> | |
| 483 | + <g | |
| 484 | + inkscape:groupmode="layer" | |
| 485 | + id="layer2" | |
| 486 | + inkscape:label="dalsi cipek" | |
| 487 | + style="display:inline"> | |
| 488 | + <g | |
| 489 | + id="g3104" | |
| 490 | + inkscape:export-filename="/home/81665687568/Owncloud/projetos/noosfero/public/images/blocks/communities_block/icon.png" | |
| 491 | + inkscape:export-xdpi="98.441032" | |
| 492 | + inkscape:export-ydpi="98.441032"> | |
| 493 | + <path | |
| 494 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
| 495 | + sodipodi:ry="8.6620579" | |
| 496 | + sodipodi:rx="8.6620579" | |
| 497 | + sodipodi:cy="19.008621" | |
| 498 | + sodipodi:cx="31.112698" | |
| 499 | + id="path4177" | |
| 500 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient4336);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 501 | + sodipodi:type="arc" | |
| 502 | + transform="matrix(1.77551,0,0,0.959183,-37.37822,11.77153)" /> | |
| 503 | + <path | |
| 504 | + sodipodi:nodetypes="cczcczc" | |
| 505 | + id="path2329" | |
| 506 | + d="M 12.861174,34.636039 L 23.467776,34.636039 C 26.472980,34.636039 29.448260,33.534107 30.538843,30.393398 C 31.574482,27.410922 30.715620,21.731340 23.998106,17.135146 L 11.446960,17.135146 C 4.7294460,21.377786 3.8899690,27.179977 5.4365530,30.570174 C 7.0121480,34.023964 9.6791930,34.636039 12.861174,34.636039 z " | |
| 507 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient1381);fill-opacity:1;fill-rule:evenodd;stroke:#404604;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
| 508 | + <path | |
| 509 | + style="display:inline;opacity:1;color:#000000;fill:#9db029;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 510 | + d="M 17.932367,19.786797 C 17.932367,19.786797 15.781044,21.447132 15.966376,23.447330 C 13.925150,21.646536 13.866503,18.195806 13.866503,18.195806 L 17.932367,19.786797 z " | |
| 511 | + id="path3812" | |
| 512 | + sodipodi:nodetypes="cccc" /> | |
| 513 | + <path | |
| 514 | + style="display:inline;opacity:0.21518983000000000;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976000000002px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 515 | + d="M 12.966639,33.571836 L 23.283309,33.571836 C 25.923032,33.571836 28.536470,32.603917 29.494421,29.845169 C 30.404110,27.225409 29.399699,22.236555 23.499142,18.199332 L 11.974417,18.199332 C 6.0738600,21.925999 5.0864770,27.022551 6.4449710,30.000446 C 7.8289490,33.034200 10.171638,33.571836 12.966639,33.571836 z " | |
| 516 | + id="path3838" | |
| 517 | + sodipodi:nodetypes="cczcczc" /> | |
| 518 | + <path | |
| 519 | + sodipodi:nodetypes="cccc" | |
| 520 | + id="path3810" | |
| 521 | + d="M 18.910795,19.786797 C 18.910795,19.786797 21.062118,21.447132 20.876786,23.447330 C 22.918012,21.646536 22.976659,18.195806 22.976659,18.195806 L 18.910795,19.786797 z " | |
| 522 | + style="display:inline;opacity:1;color:#000000;fill:#9db029;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
| 523 | + <path | |
| 524 | + transform="translate(-13.25,-3.5)" | |
| 525 | + sodipodi:type="arc" | |
| 526 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient4330);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 527 | + id="path3814" | |
| 528 | + sodipodi:cx="31.112698" | |
| 529 | + sodipodi:cy="19.008621" | |
| 530 | + sodipodi:rx="8.6620579" | |
| 531 | + sodipodi:ry="8.6620579" | |
| 532 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
| 533 | + <path | |
| 534 | + transform="translate(-13.125,-7)" | |
| 535 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
| 536 | + sodipodi:ry="8.6620579" | |
| 537 | + sodipodi:rx="8.6620579" | |
| 538 | + sodipodi:cy="19.008621" | |
| 539 | + sodipodi:cx="31.112698" | |
| 540 | + id="path2327" | |
| 541 | + style="display:inline;opacity:1;color:#000000;fill:url(#radialGradient4328);fill-opacity:1;fill-rule:evenodd;stroke:#6f4709;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 542 | + sodipodi:type="arc" /> | |
| 543 | + <path | |
| 544 | + transform="matrix(0.877095,0,0,0.877095,-9.301073,-4.663733)" | |
| 545 | + sodipodi:type="arc" | |
| 546 | + style="display:inline;opacity:0.12658227999999999;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.14012829999999998px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 547 | + id="path3834" | |
| 548 | + sodipodi:cx="31.112698" | |
| 549 | + sodipodi:cy="19.008621" | |
| 550 | + sodipodi:rx="8.6620579" | |
| 551 | + sodipodi:ry="8.6620579" | |
| 552 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
| 553 | + <path | |
| 554 | + id="path4173" | |
| 555 | + d="M 22.583894,27.034641 L 26.826534,27.034641 L 24.351661,24.736544 L 23.821331,25.443651 L 23.291000,24.913321 L 22.583894,27.034641 z " | |
| 556 | + style="display:inline;opacity:1;color:#000000;fill:url(#linearGradient1372);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
| 557 | + <path | |
| 558 | + sodipodi:nodetypes="cccc" | |
| 559 | + id="path4368" | |
| 560 | + d="M 8.5479535,33.601747 C 7.3003465,33.056778 6.7419595,31.743470 6.7419595,31.743470 C 7.5832405,27.674334 10.461885,24.697254 10.461885,24.697254 C 10.461885,24.697254 8.1825635,31.108768 8.5479535,33.601747 z " | |
| 561 | + style="display:inline;opacity:0.22784807000000001;color:#000000;fill:url(#linearGradient1369);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" /> | |
| 562 | + <path | |
| 563 | + style="display:inline;opacity:0.22784807000000001;color:#000000;fill:url(#linearGradient1366);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;overflow:visible" | |
| 564 | + d="M 27.453661,32.743396 C 28.684912,32.162418 29.258041,30.741075 29.258041,30.741075 C 28.298921,26.698092 25.281892,23.898254 25.281892,23.898254 C 25.281892,23.898254 27.746485,30.240856 27.453661,32.743396 z " | |
| 565 | + id="path4370" | |
| 566 | + sodipodi:nodetypes="cccc" /> | |
| 567 | + <path | |
| 568 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
| 569 | + sodipodi:ry="8.6620579" | |
| 570 | + sodipodi:rx="8.6620579" | |
| 571 | + sodipodi:cy="19.008621" | |
| 572 | + sodipodi:cx="31.112698" | |
| 573 | + id="path4306" | |
| 574 | + style="opacity:1;color:black;fill:url(#radialGradient4179);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | |
| 575 | + sodipodi:type="arc" | |
| 576 | + transform="matrix(1.77551,0,0,0.583984,-24.25322,28.27856)" /> | |
| 577 | + <path | |
| 578 | + sodipodi:nodetypes="cczcczc" | |
| 579 | + id="path4308" | |
| 580 | + d="M 25.986174,41.636039 L 36.592776,41.636039 C 39.597980,41.636039 42.573260,40.534107 43.663843,37.393398 C 44.699482,34.410922 43.840620,28.731340 37.123106,24.135146 L 24.571960,24.135146 C 17.854446,28.377786 17.014969,34.179977 18.561553,37.570174 C 20.137148,41.023964 22.804193,41.636039 25.986174,41.636039 z " | |
| 581 | + style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4169);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#204a87;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
| 582 | + <path | |
| 583 | + sodipodi:nodetypes="cccc" | |
| 584 | + id="path4310" | |
| 585 | + d="M 26.693281,25.726136 C 29.875261,28.554563 31.289475,38.807612 31.289475,38.807612 C 31.289475,38.807612 32.703688,28.554564 35.178562,25.549360 L 26.693281,25.726136 z " | |
| 586 | + style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3830);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
| 587 | + <path | |
| 588 | + style="opacity:1.0000000;color:#000000;fill:#729fcf;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
| 589 | + d="M 28.972721,26.786797 C 28.972721,26.786797 26.821398,28.447132 27.006730,30.447330 C 24.965504,28.646536 24.906857,25.195806 24.906857,25.195806 L 28.972721,26.786797 z " | |
| 590 | + id="path4312" | |
| 591 | + sodipodi:nodetypes="cccc" /> | |
| 592 | + <path | |
| 593 | + style="opacity:0.21518983;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
| 594 | + d="M 25.914862,40.593933 L 36.408309,40.571836 C 39.048032,40.571836 41.661470,39.603917 42.619421,36.845169 C 43.529110,34.225409 42.524699,29.236555 36.624142,25.199332 L 25.099417,24.956264 C 19.198860,28.682931 18.056797,33.779483 19.437388,37.000446 C 20.817980,40.221409 22.832599,40.571836 25.914862,40.593933 z " | |
| 595 | + id="path4314" | |
| 596 | + sodipodi:nodetypes="cczcczc" /> | |
| 597 | + <path | |
| 598 | + sodipodi:nodetypes="cccc" | |
| 599 | + id="path4316" | |
| 600 | + d="M 33.410795,26.786797 C 33.410795,26.786797 35.562118,28.447132 35.376786,30.447330 C 37.418012,28.646536 37.476659,25.195806 37.476659,25.195806 L 33.410795,26.786797 z " | |
| 601 | + style="opacity:1.0000000;color:#000000;fill:#729fcf;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
| 602 | + <path | |
| 603 | + transform="translate(-0.125000,3.500000)" | |
| 604 | + sodipodi:type="arc" | |
| 605 | + style="opacity:1.0000000;color:#000000;fill:url(#radialGradient3822);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
| 606 | + id="path4318" | |
| 607 | + sodipodi:cx="31.112698" | |
| 608 | + sodipodi:cy="19.008621" | |
| 609 | + sodipodi:rx="8.6620579" | |
| 610 | + sodipodi:ry="8.6620579" | |
| 611 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
| 612 | + <path | |
| 613 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" | |
| 614 | + sodipodi:ry="8.6620579" | |
| 615 | + sodipodi:rx="8.6620579" | |
| 616 | + sodipodi:cy="19.008621" | |
| 617 | + sodipodi:cx="31.112698" | |
| 618 | + id="path4320" | |
| 619 | + style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4171);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#c17d11;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
| 620 | + sodipodi:type="arc" /> | |
| 621 | + <path | |
| 622 | + transform="matrix(0.877095,0.000000,0.000000,0.877095,3.823927,2.336267)" | |
| 623 | + sodipodi:type="arc" | |
| 624 | + style="opacity:0.19620253;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1401283px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
| 625 | + id="path4322" | |
| 626 | + sodipodi:cx="31.112698" | |
| 627 | + sodipodi:cy="19.008621" | |
| 628 | + sodipodi:rx="8.6620579" | |
| 629 | + sodipodi:ry="8.6620579" | |
| 630 | + d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> | |
| 631 | + <path | |
| 632 | + sodipodi:nodetypes="cccc" | |
| 633 | + id="path4354" | |
| 634 | + d="M 21.851790,40.775197 C 20.604183,40.230228 20.045796,38.916920 20.045796,38.916920 C 20.887077,34.847784 23.765721,31.870704 23.765721,31.870704 C 23.765721,31.870704 21.486400,38.282218 21.851790,40.775197 z " | |
| 635 | + style="opacity:0.22784807;color:#000000;fill:url(#linearGradient4362);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" /> | |
| 636 | + <path | |
| 637 | + style="opacity:0.22784807;color:#000000;fill:url(#linearGradient4366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" | |
| 638 | + d="M 40.757497,39.916846 C 41.988748,39.335868 42.561877,37.914525 42.561877,37.914525 C 41.602757,33.871542 38.585728,31.071704 38.585728,31.071704 C 38.585728,31.071704 41.050321,37.414306 40.757497,39.916846 z " | |
| 639 | + id="path4364" | |
| 640 | + sodipodi:nodetypes="cccc" /> | |
| 641 | + </g> | |
| 642 | + </g> | |
| 643 | +</svg> | ... | ... |
27.6 KB
15.7 KB
test/unit/block_test.rb
| ... | ... | @@ -7,6 +7,10 @@ class BlockTest < ActiveSupport::TestCase |
| 7 | 7 | assert_kind_of String, Block.description |
| 8 | 8 | end |
| 9 | 9 | |
| 10 | + should 'describe shotly itself' do | |
| 11 | + assert_kind_of String, Block.short_description | |
| 12 | + end | |
| 13 | + | |
| 10 | 14 | should 'access owner through box' do |
| 11 | 15 | user = create_user('testinguser').person |
| 12 | 16 | |
| ... | ... | @@ -284,4 +288,80 @@ class BlockTest < ActiveSupport::TestCase |
| 284 | 288 | assert_equal block.cache_key('en'), block.cache_key('en', person) |
| 285 | 289 | end |
| 286 | 290 | |
| 291 | + should 'pretty_name method defined' do | |
| 292 | + assert Block.respond_to?(:pretty_name) | |
| 293 | + end | |
| 294 | + | |
| 295 | + should 'previews_path return the array of preview images' do | |
| 296 | + class NewBlock < Block; end | |
| 297 | + Dir.stubs(:glob).returns(['/path/1', 'path/2']) | |
| 298 | + expected = ['blocks/block_test/new_block/previews/1', 'blocks/block_test/new_block/previews/2'] | |
| 299 | + assert_equivalent expected, NewBlock.previews_path | |
| 300 | + end | |
| 301 | + | |
| 302 | + should 'return the icon block path' do | |
| 303 | + class NewBlock < Block; end | |
| 304 | + File.expects(:exists?).returns(true) | |
| 305 | + expected_path = 'path/icon.png' | |
| 306 | + File.stubs(:join).returns(expected_path) | |
| 307 | + assert_equal expected_path, NewBlock.icon_path | |
| 308 | + end | |
| 309 | + | |
| 310 | + should 'return the icon block path for plugin blocks' do | |
| 311 | + module SomeContext class SomeContext::CustomBlock1 < Block; end;;end | |
| 312 | +# class SomeContext::CustomBlock2 < Block; end; | |
| 313 | +#BreadcrumbsPlugin::ContentBreadcrumbsBlock | |
| 314 | + class Plugin1 < Noosfero::Plugin | |
| 315 | + def self.extra_blocks | |
| 316 | + { | |
| 317 | + CustomBlock1 => {}, | |
| 318 | + CustomBlock2 => {} | |
| 319 | + } | |
| 320 | + end | |
| 321 | + end | |
| 322 | + | |
| 323 | +#Block.stubs(:images_filesystem_path).returns('/path') | |
| 324 | +#CustomBlock1.stubs(:images_filesystem_path).returns('/path') | |
| 325 | +File.stubs(:exists?).with('/home/81665687568/Owncloud/projetos/noosfero/public/images/blocks/block_test/custom_block1/icon.pn').returns(true) | |
| 326 | +# File.exists?(File.join(images_filesystem_path, 'icon.png')) ? icon_path : default_icon_path | |
| 327 | + | |
| 328 | + | |
| 329 | +# def self.images_filesystem_path | |
| 330 | +# Rails.root.join('public', 'images', images_base_url_path) | |
| 331 | +# end | |
| 332 | +# | |
| 333 | +# def self.images_base_url_path | |
| 334 | +# File.join('blocks', self.name.underscore) | |
| 335 | +# end | |
| 336 | + | |
| 337 | + | |
| 338 | + Environment.destroy_all | |
| 339 | + e = fast_create(Environment, :is_default => true) | |
| 340 | + | |
| 341 | +# Noosfero::Plugin.stubs(:all).returns(['ProfileTest::Plugin1', 'ProfileTest::Plugin2']) | |
| 342 | + e.enable_plugin(Plugin1) | |
| 343 | + | |
| 344 | +# class NewBlock < Block; end | |
| 345 | +# Dir.stubs(:glob).returns(['/path/1', 'path/2']) | |
| 346 | +# expected = ['blocks/block_test/new_block/previews/1', 'blocks/block_test/new_block/previews/2'] | |
| 347 | +# class NewBlock < Block; end | |
| 348 | +# File.expects(:exists?).returns(true) | |
| 349 | +# expected_path = 'path/icon.png' | |
| 350 | +# File.stubs(:join).returns(expected_path) | |
| 351 | +#/plugins/container_block/images/handle_e.png | |
| 352 | + assert_equal '', SomeContext::CustomBlock1.icon_path | |
| 353 | + end | |
| 354 | + | |
| 355 | + | |
| 356 | + should 'return the default icon for blocks without icon' do | |
| 357 | + class NewBlock < Block; end | |
| 358 | + File.expects(:exists?).returns(false) | |
| 359 | + assert_equal 'icon_block.png', NewBlock.icon_path | |
| 360 | + end | |
| 361 | + | |
| 362 | + should 'previews_path return an empty array if there is no preview image' do | |
| 363 | + class NewBlock < Block; end | |
| 364 | + assert_equivalent [], NewBlock.previews_path | |
| 365 | + end | |
| 366 | + | |
| 287 | 367 | end | ... | ... |
test/unit/communities_block_test.rb
| ... | ... | @@ -15,6 +15,15 @@ class CommunitiesBlockTest < ActiveSupport::TestCase |
| 15 | 15 | assert_not_equal ProfileListBlock.description, CommunitiesBlock.description |
| 16 | 16 | end |
| 17 | 17 | |
| 18 | + should 'describe shortly itself' do | |
| 19 | + assert_not_equal Block.short_description, CommunitiesBlock.short_description | |
| 20 | + end | |
| 21 | + | |
| 22 | + should 'have a pretty name defined' do | |
| 23 | + pretty_name = CommunitiesBlock.name.gsub('Block','') | |
| 24 | + assert_not_equal pretty_name, CommunitiesBlock.pretty_name | |
| 25 | + end | |
| 26 | + | |
| 18 | 27 | should 'list owner communities' do |
| 19 | 28 | block = CommunitiesBlock.new |
| 20 | 29 | ... | ... |