crimagify 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +56 -0
- data/Rakefile +40 -0
- data/app/assets/images/crimagify/Jcrop.gif +0 -0
- data/app/assets/javascripts/crimagify/actions_cropper.js.erb +174 -0
- data/app/assets/javascripts/crimagify/application.js +15 -0
- data/app/assets/javascripts/crimagify/jquery.Jcrop.js +1694 -0
- data/app/assets/javascripts/crimagify/jquery.color.js +661 -0
- data/app/assets/stylesheets/crimagify/application.css +13 -0
- data/app/assets/stylesheets/crimagify/cropper.css.scss +75 -0
- data/app/assets/stylesheets/crimagify/jquery.Jcrop.css +165 -0
- data/app/assets/stylesheets/crimagify/mixin.css.scss +191 -0
- data/app/controllers/crimagify/application_controller.rb +4 -0
- data/app/controllers/crimagify/cropper_controller.rb +64 -0
- data/app/helpers/crimagify/application_helper.rb +28 -0
- data/app/models/crimagify/image.rb +27 -0
- data/app/uploaders/crimagify/image_uploader.rb +131 -0
- data/app/views/crimagify/crop_partials/_crop.html.erb +24 -0
- data/app/views/crimagify/crop_partials/_fields_cropper.html.erb +21 -0
- data/app/views/crimagify/crop_partials/_img_final.html.erb +11 -0
- data/app/views/crimagify/cropper/params_cropper.js.erb +22 -0
- data/app/views/crimagify/cropper/partial_cropper.js.erb +8 -0
- data/app/views/layouts/crimagify/application.html.erb +14 -0
- data/config/initializers/load_variables.rb +5 -0
- data/config/routes.rb +4 -0
- data/db/migrate/20130422223133_create_crimagify_images.rb +13 -0
- data/db/seeds.rb +6 -0
- data/lib/crimagify/dinamic_image_methods.rb +49 -0
- data/lib/crimagify/engine.rb +26 -0
- data/lib/crimagify/image_functions.rb +104 -0
- data/lib/crimagify/version.rb +3 -0
- data/lib/crimagify.rb +6 -0
- data/lib/generators/crimagify/generate_views/generate_views_generator.rb +13 -0
- data/lib/generators/crimagify/install/install_generator.rb +17 -0
- data/lib/generators/crimagify/install/templates/crimagify_settings.yml +4 -0
- data/lib/generators/crimagify/install/templates/crimagify_versions.yml +52 -0
- data/lib/tasks/crimagify_tasks.rake +4 -0
- data/test/crimagify_test.rb +7 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/images/rails.png +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/0/imgA/2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgA/2013-04-24-Product-imgA-7.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgA/2013-04-24-Product-imgA-7.png +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgA/2013-04-25-Product-imgA-7.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgB/2013-04-25-Product-imgB-7.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/Product/image_temporal/7/imgC/2013-04-25-Product-imgC-7.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/0/imgA/2013-04-24-User-imgA-0.png +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/2/imgA/2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/2/imgA/2013-04-24-User-imgA-2.png +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/2/imgB/2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/3/imgA/2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/3/imgA/2013-04-24-User-imgA-3.png +0 -0
- data/test/dummy/app/assets/images/tmps_cropper/User/image_temporal/3/imgB/2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/app/assets/javascripts/application.js +16 -0
- data/test/dummy/app/assets/javascripts/products.js +2 -0
- data/test/dummy/app/assets/javascripts/users.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +14 -0
- data/test/dummy/app/assets/stylesheets/products.css.scss +3 -0
- data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/test/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/test/dummy/app/assets/stylesheets/users.css +4 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/products_controller.rb +85 -0
- data/test/dummy/app/controllers/users_controller.rb +87 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/products_helper.rb +2 -0
- data/test/dummy/app/helpers/users_helper.rb +2 -0
- data/test/dummy/app/models/product.rb +10 -0
- data/test/dummy/app/models/user.rb +12 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/products/_form.html.erb +32 -0
- data/test/dummy/app/views/products/edit.html.erb +6 -0
- data/test/dummy/app/views/products/index.html.erb +25 -0
- data/test/dummy/app/views/products/new.html.erb +5 -0
- data/test/dummy/app/views/products/show.html.erb +15 -0
- data/test/dummy/app/views/users/_form.html.erb +34 -0
- data/test/dummy/app/views/users/edit.html.erb +6 -0
- data/test/dummy/app/views/users/index.html.erb +28 -0
- data/test/dummy/app/views/users/new.html.erb +5 -0
- data/test/dummy/app/views/users/show.html.erb +20 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/crimagify_settings.yml +4 -0
- data/test/dummy/config/crimagify_versions.yml +80 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +11 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130423160421_create_crimagify_images.crimagify.rb +14 -0
- data/test/dummy/db/migrate/20130423164431_create_users.rb +11 -0
- data/test/dummy/db/migrate/20130424155649_create_products.rb +10 -0
- data/test/dummy/db/schema.rb +43 -0
- data/test/dummy/log/development.log +22235 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/2/2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/2/big_2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/2/gigant_2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/2/user_2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/3/2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/3/big_2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/3/gigant_2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/3/user_2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/4/2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/4/big_2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/4/gigant_2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/4/user_2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/5/2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/5/big_2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/5/gigant_2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/5/user_2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/6/2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/6/big_2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/6/gigant_2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/6/user_2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/7/2013-04-24-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/7/big_2013-04-24-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/7/gigant_2013-04-24-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image/7/user_2013-04-24-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/1/2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/1/big_2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/1/gigant_2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/1/user_2013-04-24-Product-imgA-0.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/2/2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/2/big_2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/2/gigant_2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/2/user_2013-04-24-User-imgA-2.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/3/2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/3/big_2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/3/gigant_2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/3/user_2013-04-24-User-imgB-2.png +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/4/2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/4/big_2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/4/gigant_2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/4/user_2013-04-24-User-imgA-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/5/2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/5/big_2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/5/gigant_2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/5/user_2013-04-24-User-imgB-3.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/7/2013-04-25-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/7/big_2013-04-25-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/7/gigant_2013-04-25-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/7/user_2013-04-25-Product-imgA-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/8/2013-04-25-Product-imgB-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/8/big_2013-04-25-Product-imgB-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/8/gigant_2013-04-25-Product-imgB-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/8/user_2013-04-25-Product-imgB-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/9/2013-04-25-Product-imgC-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/9/big_2013-04-25-Product-imgC-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/9/gigant_2013-04-25-Product-imgC-7.jpeg +0 -0
- data/test/dummy/public/uploads/crimagify/image/image_temporal/9/user_2013-04-25-Product-imgC-7.jpeg +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/products.yml +9 -0
- data/test/dummy/test/fixtures/users.yml +11 -0
- data/test/dummy/test/functional/products_controller_test.rb +49 -0
- data/test/dummy/test/functional/users_controller_test.rb +49 -0
- data/test/dummy/test/unit/helpers/products_helper_test.rb +4 -0
- data/test/dummy/test/unit/helpers/users_helper_test.rb +4 -0
- data/test/dummy/test/unit/product_test.rb +7 -0
- data/test/dummy/test/unit/user_test.rb +7 -0
- data/test/dummy/tmp/cache/assets/C23/400/sprockets%2F31710301f0d68b89727f5de964446610 +0 -0
- data/test/dummy/tmp/cache/assets/CB2/7F0/sprockets%2F9d79a842f086f17d3420e5cb88710c10 +0 -0
- data/test/dummy/tmp/cache/assets/CD7/6F0/sprockets%2Fbd3936370d0f952ada5774e2230046ed +0 -0
- data/test/dummy/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
- data/test/dummy/tmp/cache/assets/D15/750/sprockets%2F4cc25a6e69224dc83fed65a4242479c5 +0 -0
- data/test/dummy/tmp/cache/assets/D9C/4A0/sprockets%2Fc15750bf0161f2878cf9da9bb1a84ecb +0 -0
- data/test/dummy/tmp/cache/assets/E19/2A0/sprockets%2F10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
- data/test/dummy/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6 +0 -0
- data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/products.css.scssc +0 -0
- data/test/dummy/tmp/cache/sass/505fb9771aab716ad3a4fa9aa21be52c17294224/scaffolds.css.scssc +0 -0
- data/test/fixtures/crimagify/images.yml +13 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/crimagify/image_test.rb +9 -0
- metadata +464 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
@import 'mixin.css.scss';
|
2
|
+
div#parent_image{
|
3
|
+
position:relative !important;
|
4
|
+
z-index:500 !important;
|
5
|
+
}
|
6
|
+
div#cropper_div{
|
7
|
+
position: absolute !important;
|
8
|
+
top: 0 !important;
|
9
|
+
left: 0 !important;
|
10
|
+
//display: none !important;
|
11
|
+
padding:0 0 85px 0 !important;
|
12
|
+
z-index:500 !important;
|
13
|
+
div.cropper_container{
|
14
|
+
position:relative !important;
|
15
|
+
div.image_cropper{
|
16
|
+
@include rounded(3px 3px 0 3px);
|
17
|
+
background:#FFF !important;
|
18
|
+
//@include boxShadow(0px 0px 6px,#222) !important;
|
19
|
+
z-index: 1000 !important;
|
20
|
+
@include dropShadow();
|
21
|
+
border:1px solid #777 !important;
|
22
|
+
padding:10px !important;
|
23
|
+
z-index:10 !important;
|
24
|
+
position:relative !important;
|
25
|
+
}
|
26
|
+
div.actions{
|
27
|
+
padding:8px 0 !important;
|
28
|
+
background:#FFF !important;
|
29
|
+
padding:10px !important;
|
30
|
+
margin-top:0 !important;
|
31
|
+
border:1px solid #777 !important;
|
32
|
+
border-top:none !important;
|
33
|
+
@include rounded(0 0 3px 3px);
|
34
|
+
//@include boxShadow(1px 4px 6px,#666) !important;
|
35
|
+
position:absolute !important;
|
36
|
+
right:-1px !important;
|
37
|
+
bottom:-57px !important;
|
38
|
+
z-index:15 !important;
|
39
|
+
a{
|
40
|
+
text-decoration:none !important;
|
41
|
+
font-size:12px !important;
|
42
|
+
font-weight:bold !important;
|
43
|
+
@include rounded(5px);
|
44
|
+
margin:0 10px 0 0 !important;
|
45
|
+
float:right !important;
|
46
|
+
}
|
47
|
+
a#crop_image{
|
48
|
+
color:#FFFFFF !important;
|
49
|
+
padding:7px 10px !important;
|
50
|
+
@include blue_skye_to_blue_hard_vert;
|
51
|
+
@include boxShadow(1px 1px 4px,#000);
|
52
|
+
}
|
53
|
+
a#cancel_crop{
|
54
|
+
color:#FFFFFF !important;
|
55
|
+
padding:7px 10px !important;
|
56
|
+
@include black_easy_to_black_dark;
|
57
|
+
@include boxShadow(1px 1px 4px,#000);
|
58
|
+
margin:0 !important;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
}
|
64
|
+
.cropper_element{
|
65
|
+
position: relative !important;
|
66
|
+
}
|
67
|
+
.refresh_image{
|
68
|
+
position: relative !important;
|
69
|
+
}
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
@@ -0,0 +1,165 @@
|
|
1
|
+
/* jquery.Jcrop.css v0.9.12 - MIT License */
|
2
|
+
/*
|
3
|
+
The outer-most container in a typical Jcrop instance
|
4
|
+
If you are having difficulty with formatting related to styles
|
5
|
+
on a parent element, place any fixes here or in a like selector
|
6
|
+
|
7
|
+
You can also style this element if you want to add a border, etc
|
8
|
+
A better method for styling can be seen below with .jcrop-light
|
9
|
+
(Add a class to the holder and style elements for that extended class)
|
10
|
+
*/
|
11
|
+
.jcrop-holder {
|
12
|
+
direction: ltr;
|
13
|
+
text-align: left;
|
14
|
+
}
|
15
|
+
/* Selection Border */
|
16
|
+
.jcrop-vline,
|
17
|
+
.jcrop-hline {
|
18
|
+
background: #ffffff url("Jcrop.gif");
|
19
|
+
font-size: 0;
|
20
|
+
position: absolute;
|
21
|
+
}
|
22
|
+
.jcrop-vline {
|
23
|
+
height: 100%;
|
24
|
+
width: 1px !important;
|
25
|
+
}
|
26
|
+
.jcrop-vline.right {
|
27
|
+
right: 0;
|
28
|
+
}
|
29
|
+
.jcrop-hline {
|
30
|
+
height: 1px !important;
|
31
|
+
width: 100%;
|
32
|
+
}
|
33
|
+
.jcrop-hline.bottom {
|
34
|
+
bottom: 0;
|
35
|
+
}
|
36
|
+
/* Invisible click targets */
|
37
|
+
.jcrop-tracker {
|
38
|
+
height: 100%;
|
39
|
+
width: 100%;
|
40
|
+
/* "turn off" link highlight */
|
41
|
+
-webkit-tap-highlight-color: transparent;
|
42
|
+
/* disable callout, image save panel */
|
43
|
+
-webkit-touch-callout: none;
|
44
|
+
/* disable cut copy paste */
|
45
|
+
-webkit-user-select: none;
|
46
|
+
}
|
47
|
+
/* Selection Handles */
|
48
|
+
.jcrop-handle {
|
49
|
+
background-color: #333333;
|
50
|
+
border: 1px #eeeeee solid;
|
51
|
+
width: 7px;
|
52
|
+
height: 7px;
|
53
|
+
font-size: 1px;
|
54
|
+
}
|
55
|
+
.jcrop-handle.ord-n {
|
56
|
+
left: 50%;
|
57
|
+
margin-left: -4px;
|
58
|
+
margin-top: -4px;
|
59
|
+
top: 0;
|
60
|
+
}
|
61
|
+
.jcrop-handle.ord-s {
|
62
|
+
bottom: 0;
|
63
|
+
left: 50%;
|
64
|
+
margin-bottom: -4px;
|
65
|
+
margin-left: -4px;
|
66
|
+
}
|
67
|
+
.jcrop-handle.ord-e {
|
68
|
+
margin-right: -4px;
|
69
|
+
margin-top: -4px;
|
70
|
+
right: 0;
|
71
|
+
top: 50%;
|
72
|
+
}
|
73
|
+
.jcrop-handle.ord-w {
|
74
|
+
left: 0;
|
75
|
+
margin-left: -4px;
|
76
|
+
margin-top: -4px;
|
77
|
+
top: 50%;
|
78
|
+
}
|
79
|
+
.jcrop-handle.ord-nw {
|
80
|
+
left: 0;
|
81
|
+
margin-left: -4px;
|
82
|
+
margin-top: -4px;
|
83
|
+
top: 0;
|
84
|
+
}
|
85
|
+
.jcrop-handle.ord-ne {
|
86
|
+
margin-right: -4px;
|
87
|
+
margin-top: -4px;
|
88
|
+
right: 0;
|
89
|
+
top: 0;
|
90
|
+
}
|
91
|
+
.jcrop-handle.ord-se {
|
92
|
+
bottom: 0;
|
93
|
+
margin-bottom: -4px;
|
94
|
+
margin-right: -4px;
|
95
|
+
right: 0;
|
96
|
+
}
|
97
|
+
.jcrop-handle.ord-sw {
|
98
|
+
bottom: 0;
|
99
|
+
left: 0;
|
100
|
+
margin-bottom: -4px;
|
101
|
+
margin-left: -4px;
|
102
|
+
}
|
103
|
+
/* Dragbars */
|
104
|
+
.jcrop-dragbar.ord-n,
|
105
|
+
.jcrop-dragbar.ord-s {
|
106
|
+
height: 7px;
|
107
|
+
width: 100%;
|
108
|
+
}
|
109
|
+
.jcrop-dragbar.ord-e,
|
110
|
+
.jcrop-dragbar.ord-w {
|
111
|
+
height: 100%;
|
112
|
+
width: 7px;
|
113
|
+
}
|
114
|
+
.jcrop-dragbar.ord-n {
|
115
|
+
margin-top: -4px;
|
116
|
+
}
|
117
|
+
.jcrop-dragbar.ord-s {
|
118
|
+
bottom: 0;
|
119
|
+
margin-bottom: -4px;
|
120
|
+
}
|
121
|
+
.jcrop-dragbar.ord-e {
|
122
|
+
margin-right: -4px;
|
123
|
+
right: 0;
|
124
|
+
}
|
125
|
+
.jcrop-dragbar.ord-w {
|
126
|
+
margin-left: -4px;
|
127
|
+
}
|
128
|
+
/* The "jcrop-light" class/extension */
|
129
|
+
.jcrop-light .jcrop-vline,
|
130
|
+
.jcrop-light .jcrop-hline {
|
131
|
+
background: #ffffff;
|
132
|
+
filter: alpha(opacity=70) !important;
|
133
|
+
opacity: .70!important;
|
134
|
+
}
|
135
|
+
.jcrop-light .jcrop-handle {
|
136
|
+
-moz-border-radius: 3px;
|
137
|
+
-webkit-border-radius: 3px;
|
138
|
+
background-color: #000000;
|
139
|
+
border-color: #ffffff;
|
140
|
+
border-radius: 3px;
|
141
|
+
}
|
142
|
+
/* The "jcrop-dark" class/extension */
|
143
|
+
.jcrop-dark .jcrop-vline,
|
144
|
+
.jcrop-dark .jcrop-hline {
|
145
|
+
background: #000000;
|
146
|
+
filter: alpha(opacity=70) !important;
|
147
|
+
opacity: 0.7 !important;
|
148
|
+
}
|
149
|
+
.jcrop-dark .jcrop-handle {
|
150
|
+
-moz-border-radius: 3px;
|
151
|
+
-webkit-border-radius: 3px;
|
152
|
+
background-color: #ffffff;
|
153
|
+
border-color: #000000;
|
154
|
+
border-radius: 3px;
|
155
|
+
}
|
156
|
+
/* Simple macro to turn off the antlines */
|
157
|
+
.solid-line .jcrop-vline,
|
158
|
+
.solid-line .jcrop-hline {
|
159
|
+
background: #ffffff;
|
160
|
+
}
|
161
|
+
/* Fix for twitter bootstrap et al. */
|
162
|
+
.jcrop-holder img,
|
163
|
+
img.jcrop-preview {
|
164
|
+
max-width: none;
|
165
|
+
}
|
@@ -0,0 +1,191 @@
|
|
1
|
+
@mixin opacity($n:1,$ie:100){
|
2
|
+
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity="$n")";
|
3
|
+
moz-opacity:$n;
|
4
|
+
filter: alpha(opacity=$ie);
|
5
|
+
opacity:$n;
|
6
|
+
}
|
7
|
+
@mixin textShadow($px:2px 1px 1px,$color:#000000){
|
8
|
+
text-shadow: $px $color;
|
9
|
+
filter: dropshadow(color=$color, offx=2, offy=2);
|
10
|
+
}
|
11
|
+
@mixin rounded($rounded:5px){
|
12
|
+
-webkit-border-radius:$rounded;
|
13
|
+
-khtml-border-radius:$rounded;
|
14
|
+
-moz-border-radius:$rounded;
|
15
|
+
-o-border-radius:$rounded;
|
16
|
+
border-radius:$rounded;
|
17
|
+
}
|
18
|
+
@mixin spriteImages($padding:10px,$position:-10px -10px,$color:transparent){
|
19
|
+
padding:$padding;
|
20
|
+
background:$color url('/assets/sprite.png') $position no-repeat;
|
21
|
+
}
|
22
|
+
|
23
|
+
@mixin sampleSprite($x){
|
24
|
+
background:transparent image-url('/assets/sprite.png') $x no-repeat;
|
25
|
+
}
|
26
|
+
|
27
|
+
/**/
|
28
|
+
@mixin backgroundImage($imageName:no-logo,$format:png, $repeat:no-repeat,$color:transparent){
|
29
|
+
background:$color url(/assets/system/$imageName$format) $repeat !important;
|
30
|
+
}
|
31
|
+
/*store.scc.scss*/
|
32
|
+
@mixin tableCell(){
|
33
|
+
display:table-cell;
|
34
|
+
vertical-align:middle;
|
35
|
+
text-align:center;
|
36
|
+
}
|
37
|
+
@mixin animation($position:all, $time:0.5s, $move:ease-in-out){
|
38
|
+
-webkit-transition: $position $time $move;
|
39
|
+
-moz-transition: $position $time $move;
|
40
|
+
-o-transition: $position $time $move;
|
41
|
+
-ms-transition: $position $time $move;
|
42
|
+
transition: $position $time $move;
|
43
|
+
}
|
44
|
+
@mixin transformAnimation($scale:1.2){
|
45
|
+
-webkit-transform: scale($scale);
|
46
|
+
-moz-transform: scale($scale);
|
47
|
+
-o-transform: scale($scale);
|
48
|
+
-ms-transform: scale($scale);
|
49
|
+
transform: scale($scale);
|
50
|
+
}
|
51
|
+
@mixin animationdelay($time:0.1s){
|
52
|
+
-webkit-transition-delay: $time;
|
53
|
+
-moz-transition-delay: $time;
|
54
|
+
-o-transition-delay: $time;
|
55
|
+
-ms-transition-delay: $time;
|
56
|
+
transition-delay: $time;
|
57
|
+
|
58
|
+
}
|
59
|
+
@mixin boxShadow($size:1px 1px 1px, $color:#333){
|
60
|
+
-webkit-box-shadow: $size $color;
|
61
|
+
-moz-box-shadow: $size $color;
|
62
|
+
box-shadow: $size $color;
|
63
|
+
}
|
64
|
+
@mixin rotate($rotate:-180deg){
|
65
|
+
-webkit-transform:rotate($rotate);
|
66
|
+
-moz-transform:rotate($rotate);
|
67
|
+
-o-transform:rotate($rotate);
|
68
|
+
-ms-transform:rotate($rotate);
|
69
|
+
transform:rotate($rotate);
|
70
|
+
}
|
71
|
+
@mixin boderRadius($rad){
|
72
|
+
-webkit-border-radius:$rad;
|
73
|
+
-moz-border-radius:$rad;
|
74
|
+
border-radius:$rad;
|
75
|
+
}
|
76
|
+
@mixin dropShadow($size:2px 2px 12px,$op:0.8){
|
77
|
+
filter: drop-shadow($size rgba(0,0,0,$op));
|
78
|
+
-webkit-filter: drop-shadow($size rgba(0,0,0,$op));
|
79
|
+
-moz-filter: drop-shadow($size rgba(0,0,0,$op));
|
80
|
+
-o-filter: drop-shadow($size rgba(0,0,0,$op));
|
81
|
+
ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=135, Color='rgba(0,0,0,"$op")')";
|
82
|
+
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=5,Direction=135,Color='rgba(0,0,0,$op)');
|
83
|
+
//filter: url(#drop-shadow);
|
84
|
+
}
|
85
|
+
/*Degradiants*/
|
86
|
+
|
87
|
+
@mixin orange_easy_to_orange_hard_vert(){
|
88
|
+
background: #fbac37; /* Old browsers */
|
89
|
+
background: -moz-linear-gradient(top, #fbac37 0%, #f97c00 100%); /* FF3.6+ */
|
90
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fbac37), color-stop(100%,#f97c00)); /* Chrome,Safari4+ */
|
91
|
+
background: -webkit-linear-gradient(top, #fbac37 0%,#f97c00 100%); /* Chrome10+,Safari5.1+ */
|
92
|
+
background: -o-linear-gradient(top, #fbac37 0%,#f97c00 100%); /* Opera 11.10+ */
|
93
|
+
background: -ms-linear-gradient(top, #fbac37 0%,#f97c00 100%); /* IE10+ */
|
94
|
+
background: linear-gradient(to bottom, #fbac37 0%,#f97c00 100%); /* W3C */
|
95
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbac37', endColorstr='#f97c00',GradientType=0 ); /* IE6-9 */
|
96
|
+
|
97
|
+
}
|
98
|
+
@mixin blue_skye_to_blue_hard_vert(){
|
99
|
+
background: #3399ff; /* Old browsers */
|
100
|
+
background: -moz-linear-gradient(top, #3399ff 0%, #2268ff 100%); /* FF3.6+ */
|
101
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3399ff), color-stop(100%,#2268ff)); /* Chrome,Safari4+ */
|
102
|
+
background: -webkit-linear-gradient(top, #3399ff 0%,#2268ff 100%); /* Chrome10+,Safari5.1+ */
|
103
|
+
background: -o-linear-gradient(top, #3399ff 0%,#2268ff 100%); /* Opera 11.10+ */
|
104
|
+
background: -ms-linear-gradient(top, #3399ff 0%,#2268ff 100%); /* IE10+ */
|
105
|
+
background: linear-gradient(to bottom, #3399ff 0%,#2268ff 100%); /* W3C */
|
106
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3399ff', endColorstr='#2268ff',GradientType=0 ); /* IE6-9 */
|
107
|
+
|
108
|
+
}
|
109
|
+
@mixin blue_easy_to_blue_hard_vert(){
|
110
|
+
background: #0099ff; /* Old browsers */
|
111
|
+
background: -moz-linear-gradient(top, #0099ff 0%, #0e68ab 100%); /* FF3.6+ */
|
112
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#0099ff), color-stop(100%,#0e68ab)); /* Chrome,Safari4+ */
|
113
|
+
background: -webkit-linear-gradient(top, #0099ff 0%,#0e68ab 100%); /* Chrome10+,Safari5.1+ */
|
114
|
+
background: -o-linear-gradient(top, #0099ff 0%,#0e68ab 100%); /* Opera 11.10+ */
|
115
|
+
background: -ms-linear-gradient(top, #0099ff 0%,#0e68ab 100%); /* IE10+ */
|
116
|
+
background: linear-gradient(to bottom, #0099ff 0%,#0e68ab 100%); /* W3C */
|
117
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0099ff', endColorstr='#0e68ab',GradientType=0 ); /* IE6-9 */
|
118
|
+
|
119
|
+
}
|
120
|
+
@mixin black_easy_to_black_dark(){
|
121
|
+
background: #828c95; /* Old browsers */
|
122
|
+
background: -moz-linear-gradient(top, #828c95 0%, #28343b 100%); /* FF3.6+ */
|
123
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#828c95), color-stop(100%,#28343b)); /* Chrome,Safari4+ */
|
124
|
+
background: -webkit-linear-gradient(top, #828c95 0%,#28343b 100%); /* Chrome10+,Safari5.1+ */
|
125
|
+
background: -o-linear-gradient(top, #828c95 0%,#28343b 100%); /* Opera 11.10+ */
|
126
|
+
background: -ms-linear-gradient(top, #828c95 0%,#28343b 100%); /* IE10+ */
|
127
|
+
background: linear-gradient(to bottom, #828c95 0%,#28343b 100%); /* W3C */
|
128
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#828c95', endColorstr='#28343b',GradientType=0 ); /* IE6-9 */
|
129
|
+
|
130
|
+
}
|
131
|
+
|
132
|
+
@mixin generar_triangulo_bottom($lados:50px,$base:100px,$color:#000){
|
133
|
+
width: 0;
|
134
|
+
height: 0;
|
135
|
+
border-left: $lados solid transparent;
|
136
|
+
border-right: $lados solid transparent;
|
137
|
+
border-top: $base solid $color;
|
138
|
+
}
|
139
|
+
|
140
|
+
@mixin generar_triangulo_top($lados:50px,$base:100px,$color:#000){
|
141
|
+
width: 0;
|
142
|
+
height: 0;
|
143
|
+
border-left: $lados solid transparent;
|
144
|
+
border-right: $lados solid transparent;
|
145
|
+
border-bottom: $base solid $color;
|
146
|
+
}
|
147
|
+
|
148
|
+
@mixin generar_triangulo_right($lados:50px,$base:100px,$color:#000){
|
149
|
+
width: 0;
|
150
|
+
height: 0;
|
151
|
+
border-left: $base solid $color;
|
152
|
+
border-bottom: $lados solid transparent;
|
153
|
+
border-top: $lados solid transparent;
|
154
|
+
}
|
155
|
+
|
156
|
+
@mixin generar_triangulo_left($lados:50px,$base:100px,$color:#000){
|
157
|
+
width: 0;
|
158
|
+
height: 0;
|
159
|
+
border-right: $base solid $color;
|
160
|
+
border-bottom: $lados solid transparent;
|
161
|
+
border-top: $lados solid transparent;
|
162
|
+
}
|
163
|
+
@mixin red_degradiant_error(){
|
164
|
+
background: -moz-linear-gradient(top, rgba(255,69,48,1) 0%, rgba(255,39,20,0.7) 100%); /* FF3.6+ */
|
165
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,69,48,1)), color-stop(100%,rgba(255,39,20,0.7))); /* Chrome,Safari4+ */
|
166
|
+
background: -webkit-linear-gradient(top, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* Chrome10+,Safari5.1+ */
|
167
|
+
background: -o-linear-gradient(top, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* Opera 11.10+ */
|
168
|
+
background: -ms-linear-gradient(top, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* IE10+ */
|
169
|
+
background: linear-gradient(to bottom, rgba(255,69,48,1) 0%,rgba(255,39,20,0.7) 100%); /* W3C */
|
170
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff4530', endColorstr='#b3ff2714',GradientType=0 ); /* IE6-9 */
|
171
|
+
}
|
172
|
+
@mixin green_degradian_validate(){
|
173
|
+
background: -moz-linear-gradient(top, rgba(150,197,111,0.9) 0%, rgba(150,197,111,0.9) 34%, rgba(150,197,111,0.6) 100%); /* FF3.6+ */
|
174
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(150,197,111,0.9)), color-stop(34%,rgba(150,197,111,0.9)), color-stop(100%,rgba(150,197,111,0.6))); /* Chrome,Safari4+ */
|
175
|
+
background: -webkit-linear-gradient(top, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* Chrome10+,Safari5.1+ */
|
176
|
+
background: -o-linear-gradient(top, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* Opera 11.10+ */
|
177
|
+
background: -ms-linear-gradient(top, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* IE10+ */
|
178
|
+
background: linear-gradient(to bottom, rgba(150,197,111,0.9) 0%,rgba(150,197,111,0.9) 34%,rgba(150,197,111,0.6) 100%); /* W3C */
|
179
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e696c56f', endColorstr='#9996c56f',GradientType=0 ); /* IE6-9 */
|
180
|
+
}
|
181
|
+
|
182
|
+
@mixin desabled_submit_Color(){
|
183
|
+
background: rgb(101,130,181); /* Old browsers */
|
184
|
+
background: -moz-linear-gradient(top, rgba(101,130,181,1) 0%, rgba(121,143,181,1) 100%); /* FF3.6+ */
|
185
|
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(101,130,181,1)), color-stop(100%,rgba(121,143,181,1))); /* Chrome,Safari4+ */
|
186
|
+
background: -webkit-linear-gradient(top, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* Chrome10+,Safari5.1+ */
|
187
|
+
background: -o-linear-gradient(top, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* Opera 11.10+ */
|
188
|
+
background: -ms-linear-gradient(top, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* IE10+ */
|
189
|
+
background: linear-gradient(to bottom, rgba(101,130,181,1) 0%,rgba(121,143,181,1) 100%); /* W3C */
|
190
|
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6582b5', endColorstr='#798fb5',GradientType=0 ); /* IE6-9 */
|
191
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
include Crimagify::ImageFunctions
|
2
|
+
module Crimagify
|
3
|
+
class CropperController < ApplicationController
|
4
|
+
#================================================================CropperAjaxActions================================================================#
|
5
|
+
def partial_cropper
|
6
|
+
@params = params[:image]
|
7
|
+
@parent_element_id = params[:parent_element_id]
|
8
|
+
end
|
9
|
+
|
10
|
+
def params_cropper
|
11
|
+
@parent_element_id = params[:parent_element_id]
|
12
|
+
@img = []
|
13
|
+
@img << ImageFunctions::get_data_parent(params[:parent], params[:parent_id]) #0
|
14
|
+
@image_generated = ImageFunctions::write_tmp_image(params[:image], params[:parent_id].to_i, params[:parent], @parent_element_id)
|
15
|
+
@img << @image_generated #1
|
16
|
+
@img << params[:crop_x] #2
|
17
|
+
@img << params[:crop_y] #3
|
18
|
+
@img << params[:crop_w] #4
|
19
|
+
@img << params[:crop_h] #5
|
20
|
+
@img << params[:parent] #6
|
21
|
+
@img << params[:parent_element_id] #7
|
22
|
+
|
23
|
+
if File.exist?(@image_generated)
|
24
|
+
if @img[0] == 0
|
25
|
+
@img_new = Crimagify::Image.find_by_parent_id(@img[0])
|
26
|
+
@img_new.update_attributes(:image_temporal => File.open(@image_generated),
|
27
|
+
:crop_x => params[:crop_x],
|
28
|
+
:crop_y => params[:crop_y],
|
29
|
+
:crop_w => params[:crop_w],
|
30
|
+
:crop_h => params[:crop_h])
|
31
|
+
@img_new.crop_avatar_temporal
|
32
|
+
else
|
33
|
+
if @img[0].crimagify_images != []
|
34
|
+
@cond = true
|
35
|
+
@img[0].crimagify_images.map{ |image|
|
36
|
+
if image.image_name == @parent_element_id
|
37
|
+
image.update_attributes(:image_temporal => File.open(@image_generated),
|
38
|
+
:crop_x => params[:crop_x],
|
39
|
+
:crop_y => params[:crop_y],
|
40
|
+
:crop_w => params[:crop_w],
|
41
|
+
:crop_h => params[:crop_h])
|
42
|
+
image.crop_avatar_temporal
|
43
|
+
@cond = false
|
44
|
+
end
|
45
|
+
}
|
46
|
+
if @cond
|
47
|
+
img = ImageFunctions::save_new_image(@image_generated, params[:crop_x], params[:crop_y], params[:crop_w], params[:crop_h], params[:parent], @img[0].id, @parent_element_id, true)
|
48
|
+
img.save!
|
49
|
+
img.crop_avatar_temporal
|
50
|
+
@img[0] = ImageFunctions::get_data_parent(params[:parent], params[:parent_id]) #0
|
51
|
+
end
|
52
|
+
else
|
53
|
+
img = ImageFunctions::save_new_image(@image_generated, params[:crop_x], params[:crop_y], params[:crop_w], params[:crop_h], params[:parent], @img[0].id, @parent_element_id, true)
|
54
|
+
img.save!
|
55
|
+
img.crop_avatar_temporal
|
56
|
+
@img[0] = ImageFunctions::get_data_parent(params[:parent], params[:parent_id]) #0
|
57
|
+
end
|
58
|
+
end
|
59
|
+
else
|
60
|
+
puts "No existe el directorio: #{@image_generated}"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Crimagify
|
2
|
+
module ApplicationHelper
|
3
|
+
|
4
|
+
def image_cropper(object, options, image_options = {})
|
5
|
+
image_options[:class] = "#{image_options[:class]} img_start"
|
6
|
+
img = object.crimagify_images.where("image_name=?", options[:image_name])
|
7
|
+
version_name = options[:ratio]
|
8
|
+
if img == []
|
9
|
+
url_image = "rails.png"
|
10
|
+
else
|
11
|
+
url_image = img.first.image_url(options[:ratio]).to_s rescue ""
|
12
|
+
end
|
13
|
+
if url_image == ""
|
14
|
+
url_image = "rails.png"
|
15
|
+
end
|
16
|
+
render(:partial => "crimagify/crop_partials/fields_cropper", :locals => { id_image: options[:image_name], url_image: url_image, image_options: image_options, version_name: version_name })
|
17
|
+
end
|
18
|
+
|
19
|
+
def images_id(object)
|
20
|
+
html = ""
|
21
|
+
html << content_tag(:input, nil, :id => :parent, :name => :parent, :type => :hidden, :value => "#{object.class.name}")
|
22
|
+
html << content_tag(:input, nil, :id => :parent_id, :name => :parent_id, :type => :hidden, :value => "#{object.id}")
|
23
|
+
html << content_tag(:input, nil, :id => :id_images, :name => :id_images, :type => :hidden, :value => "")
|
24
|
+
return raw html
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Crimagify
|
2
|
+
class Image < ActiveRecord::Base
|
3
|
+
require 'carrierwave/orm/activerecord'
|
4
|
+
extend Crimagify::DinamicImageMethods
|
5
|
+
|
6
|
+
mount_uploader :image, Crimagify::ImageUploader
|
7
|
+
mount_uploader :image_temporal, Crimagify::ImageUploader
|
8
|
+
|
9
|
+
belongs_to :parent, polymorphic: true
|
10
|
+
attr_accessible :image, :image_name, :image_temporal, :parent_id, :parent_type, :crop_x, :crop_y, :crop_w, :crop_h
|
11
|
+
|
12
|
+
attr_accessor :crop_x, :crop_y, :crop_w, :crop_h
|
13
|
+
|
14
|
+
def crop_avatar_temporal
|
15
|
+
if image_temporal.present?
|
16
|
+
image_temporal.recreate_versions! if crop_x.present?
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def crop_avatar_real
|
21
|
+
image.recreate_versions! if crop_x.present?
|
22
|
+
end
|
23
|
+
|
24
|
+
build_sizes_images
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module Crimagify
|
3
|
+
class ImageUploader < CarrierWave::Uploader::Base
|
4
|
+
|
5
|
+
# Include RMagick or MiniMagick support:
|
6
|
+
include CarrierWave::RMagick
|
7
|
+
# Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
|
8
|
+
# include Sprockets::Helpers::RailsHelper
|
9
|
+
# include Sprockets::Helpers::IsolatedHelper
|
10
|
+
|
11
|
+
|
12
|
+
# Choose what kind of storage to use for this uploader:
|
13
|
+
storage :file
|
14
|
+
# storage :fog
|
15
|
+
|
16
|
+
# Override the directory where uploaded files will be stored.
|
17
|
+
# This is a sensible default for uploaders that are meant to be mounted:
|
18
|
+
def store_dir
|
19
|
+
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
20
|
+
end
|
21
|
+
|
22
|
+
# Provide a default URL as a default if there hasn't been a file uploaded:
|
23
|
+
# def default_url
|
24
|
+
# # For Rails 3.1+ asset pipeline compatibility:
|
25
|
+
# # asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
|
26
|
+
#
|
27
|
+
# "/images/fallback/" + [version_name, "default.png"].compact.join('_')
|
28
|
+
# end
|
29
|
+
|
30
|
+
#==========================ThisAreaIsForSizeVersions==========================================================
|
31
|
+
|
32
|
+
def self.enable_processing(value=nil)
|
33
|
+
array_versions = []
|
34
|
+
CRIMAGIFY_ENV.each do |image_name|
|
35
|
+
image_name[1].each do |name|
|
36
|
+
name_version = name[1]
|
37
|
+
name_version.each do |item|
|
38
|
+
array_versions << item.first
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
return array_versions
|
43
|
+
end
|
44
|
+
|
45
|
+
array_versions = enable_processing.uniq
|
46
|
+
array_versions.each do |item|
|
47
|
+
puts "creando la version de imagen #{item}.."
|
48
|
+
item = item.to_sym
|
49
|
+
version item do
|
50
|
+
process :crop
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
################ ORIGINAL
|
55
|
+
|
56
|
+
# version :aux_medium do
|
57
|
+
# process :crop
|
58
|
+
# resize_to_fit(158, 236)
|
59
|
+
# end
|
60
|
+
|
61
|
+
# version :aux_thumb do
|
62
|
+
# process :crop
|
63
|
+
# resize_to_fit(57, 85)
|
64
|
+
# end
|
65
|
+
|
66
|
+
|
67
|
+
# version :medium, :from_version => :aux_medium do
|
68
|
+
# process :crop_medium# => [158,236]
|
69
|
+
# resize_to_limit(158,161)
|
70
|
+
# end
|
71
|
+
|
72
|
+
# version :thumb, :from_version => :aux_thumb do
|
73
|
+
# process :crop_thumb
|
74
|
+
# resize_to_fit(57,59)
|
75
|
+
# end
|
76
|
+
|
77
|
+
################ ORIGINAL
|
78
|
+
|
79
|
+
# Add a white list of extensions which are allowed to be uploaded.
|
80
|
+
# For images you might use something like this:
|
81
|
+
def extension_white_list
|
82
|
+
%w(jpg jpeg gif png)
|
83
|
+
end
|
84
|
+
|
85
|
+
def crop
|
86
|
+
width = 0
|
87
|
+
heigth = 0
|
88
|
+
parent = model.parent_type
|
89
|
+
image_name = model.image_name
|
90
|
+
if parent == ""
|
91
|
+
aux_name = original_filename.split("-")
|
92
|
+
parent = aux_name[3].to_s
|
93
|
+
image_name = aux_name[4].to_s
|
94
|
+
end
|
95
|
+
|
96
|
+
CRIMAGIFY_ENV["#{parent}"]["#{image_name}"].each do |size_name|
|
97
|
+
if size_name.first == "#{version_name}"
|
98
|
+
if model.crop_x.present?
|
99
|
+
manipulate! do |img|
|
100
|
+
x = model.crop_x.to_i
|
101
|
+
y = model.crop_y.to_i
|
102
|
+
w = model.crop_w.to_i
|
103
|
+
h = model.crop_h.to_i
|
104
|
+
img.crop!(x, y, w, h)
|
105
|
+
|
106
|
+
width = CRIMAGIFY_ENV["#{parent}"]["#{image_name}"]["#{version_name}"]['width'].to_i
|
107
|
+
height = CRIMAGIFY_ENV["#{parent}"]["#{image_name}"]["#{version_name}"]['height'].to_i
|
108
|
+
img.resize_to_fit(width, height)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
# def crop_medium#(width, height)
|
116
|
+
# manipulate! do |img|
|
117
|
+
# x = 0
|
118
|
+
# y = (236 - 161)/2
|
119
|
+
# img.crop!(x, y, 158, 161)
|
120
|
+
# end
|
121
|
+
# end
|
122
|
+
|
123
|
+
# def crop_thumb
|
124
|
+
# manipulate! do |img|
|
125
|
+
# x = 0
|
126
|
+
# y = (85 - 59)/2
|
127
|
+
# img.crop!(x, y, 57, 59)
|
128
|
+
# end
|
129
|
+
# end
|
130
|
+
end
|
131
|
+
end
|