Skip to content

Commit 042781d

Browse files
committed
Merge pull request #6 from ojhaujjwal/master
Removed dependancy on WebinoImageThumb, Added dependency on HtImgModule, Enable caching
2 parents 965e4a6 + d1769ca commit 042781d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1297
-655
lines changed

Module.php

Lines changed: 6 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,7 @@
11
<?php
2-
3-
namespace HtProfileImage;
4-
5-
use HtProfileImage\Form\GenderForm;
6-
use Zend\Mvc\MvcEvent;
7-
8-
class Module
9-
{
10-
public function getConfig()
11-
{
12-
return include __DIR__."/config/module.config.php";
13-
}
14-
15-
public function onBootstrap(MvcEvent $e)
16-
{
17-
$app = $e->getApplication();
18-
$serviceManager = $app->getServiceManager();
19-
$eventManager = $app->getEventManager();
20-
$sharedManager = $eventManager->getSharedManager();
21-
if ($serviceManager->get("HtProfileImage\ModuleOptions")->getEnableGender()) {
22-
$sharedManager->attach('ZfcUser\Form\Register', 'init', function ($e) {
23-
$form = $e->getTarget();
24-
$genderForm = new GenderForm();
25-
$form->add($genderForm->get('gender'));
26-
}, 1000);
27-
}
28-
}
29-
30-
31-
public function getAutoloaderConfig()
32-
{
33-
return array(
34-
'Zend\Loader\ClassMapAutoloader' => array(
35-
__DIR__ . '/autoload_classmap.php',
36-
),
37-
'Zend\Loader\StandardAutoloader' => array(
38-
'namespaces' => array(
39-
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
40-
),
41-
),
42-
);
43-
}
44-
45-
public function getServiceConfig()
46-
{
47-
return array(
48-
'factories' => array(
49-
'HtProfileImage\ModuleOptions' => 'HtProfileImage\Factory\ModuleOptionsFactory',
50-
'HtProfileImage\StorageModel' => 'HtProfileImage\Factory\StorageModelFactory',
51-
'HtProfileImage\ImageUploadService' => 'HtProfileImage\Factory\ImageUploadServiceFactory',
52-
'HtProfileImage\StorageResizerProvider' => 'HtProfileImage\Factory\StorageResizerProviderFactory',
53-
)
54-
);
55-
}
56-
57-
58-
public function getViewHelperConfig()
59-
{
60-
return array(
61-
'factories' => array(
62-
'htProfileImage' => function ($sm) {
63-
$serviceLocator = $sm->getServiceLocator();
64-
$htProfileImage = new View\Helper\ProfileImage($serviceLocator->get('HtProfileImage\ModuleOptions'));
65-
$htProfileImage->setUserMapper($serviceLocator->get('zfcuser_user_mapper'));
66-
$htProfileImage->setStorageModel($serviceLocator->get('HtProfileImage\StorageModel'));
67-
return $htProfileImage;
68-
}
69-
)
70-
);
71-
}
72-
}
2+
/**
3+
* This file is placed here for compatibility with Zendframework 2's ModuleManager.
4+
* It allows usage of this module even without composer.
5+
* The original Module.php is in 'src/HtProfileImage' in order to respect PSR-0
6+
*/
7+
require_once __DIR__ . '/src/HtProfileImage/Module.php';

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ A Zend framework 2 module which adds profile image upload functionality to ZfcUs
1111
* Useful view helpers to get user images from view templates
1212

1313
## Installation
14-
* Add `"webino/webino-image-thumb": "dev-master",` && `"hrevert/ht-profile-image": "1.0.*",` to your composer.json and run `php composer.phar update`
15-
* Enable this module && `WebinoPhpThumb` in `config/application.config.php`
14+
* Add `"hrevert/ht-profile-image": "1.0.*",` to your composer.json and run `php composer.phar update`
15+
* Enable this module in `config/application.config.php`
1616
* Copy file located in `config/htprofileimage.global.php` to `./config/autoload/htprofileimage.global.php` and change the values as you wish
1717

1818
## How To

autoload_classmap.php

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
11
<?php
22
// Generated by ZF2's ./bin/classmap_generator.php
33
return array(
4-
'HtProfileImage\Module' => __DIR__ . '/Module.php',
5-
'HtProfileImage\Controller\HtProfileImageController' => __DIR__ . '/src/HtProfileImage/Controller/HtProfileImageController.php',
6-
'HtProfileImage\Entity\User' => __DIR__ . '/src/HtProfileImage/Entity/User.php',
7-
'HtProfileImage\Exception\InvalidArgumentException' => __DIR__ . '/src/HtProfileImage/Exception/InvalidArgumentException.php',
8-
'HtProfileImage\Factory\ImageUploadServiceFactory' => __DIR__ . '/src/HtProfileImage/Factory/ImageUploadServiceFactory.php',
9-
'HtProfileImage\Factory\ModuleOptionsFactory' => __DIR__ . '/src/HtProfileImage/Factory/ModuleOptionsFactory.php',
10-
'HtProfileImage\Factory\StorageModelFactory' => __DIR__ . '/src/HtProfileImage/Factory/StorageModelFactory.php',
11-
'HtProfileImage\Factory\StorageResizerProviderFactory' => __DIR__ . '/src/HtProfileImage/Factory/StorageResizerProviderFactory.php',
12-
'HtProfileImage\Form\GenderForm' => __DIR__ . '/src/HtProfileImage/Form/GenderForm.php',
13-
'HtProfileImage\Form\ProfileImageForm' => __DIR__ . '/src/HtProfileImage/Form/ProfileImageForm.php',
14-
'HtProfileImage\Form\ProfileImageInputFilter' => __DIR__ . '/src/HtProfileImage/Form/ProfileImageInputFilter.php',
15-
'HtProfileImage\Form\ProfileImageValidator' => __DIR__ . '/src/HtProfileImage/Form/ProfileImageValidator.php',
16-
'HtProfileImage\Model\StorageModel' => __DIR__ . '/src/HtProfileImage/Model/StorageModel.php',
17-
'HtProfileImage\Model\StorageModelInterface' => __DIR__ . '/src/HtProfileImage/Model/StorageModelInterface.php',
18-
'HtProfileImage\Model\StorageResizerProvider' => __DIR__ . '/src/HtProfileImage/Model/StorageResizerProvider.php',
19-
'HtProfileImage\Options\DisplayOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/DisplayOptionsInterface.php',
20-
'HtProfileImage\Options\ModuleOptions' => __DIR__ . '/src/HtProfileImage/Options/ModuleOptions.php',
21-
'HtProfileImage\Options\StorageOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/StorageOptionsInterface.php',
22-
'HtProfileImage\Service\ImageUpload' => __DIR__ . '/src/HtProfileImage/Service/ImageUpload.php',
23-
'HtProfileImage\View\Helper\ProfileImage' => __DIR__ . '/src/HtProfileImage/View/Helper/ProfileImage.php',
4+
'HtProfileImage\Module' => __DIR__ . '/Module.php',
5+
'HtProfileImage\Controller\Factory\ProfileImageControllerFactory' => __DIR__ . '/src/HtProfileImage/Controller/Factory/ProfileImageControllerFactory.php',
6+
'HtProfileImage\Controller\ProfileImageController' => __DIR__ . '/src/HtProfileImage/Controller/ProfileImageController.php',
7+
'HtProfileImage\Entity\User' => __DIR__ . '/src/HtProfileImage/Entity/User.php',
8+
'HtProfileImage\Exception\ExceptionInterface' => __DIR__ . '/src/HtProfileImage/Exception/ExceptionInterface.php',
9+
'HtProfileImage\Exception\InvalidArgumentException' => __DIR__ . '/src/HtProfileImage/Exception/InvalidArgumentException.php',
10+
'HtProfileImage\Factory\CacheManagerFactory' => __DIR__ . '/src/HtProfileImage/Factory/CacheManagerFactory.php',
11+
'HtProfileImage\Factory\ModuleOptionsFactory' => __DIR__ . '/src/HtProfileImage/Factory/ModuleOptionsFactory.php',
12+
'HtProfileImage\Factory\ProfileImageServiceFactory' => __DIR__ . '/src/HtProfileImage/Factory/ProfileImageServiceFactory.php',
13+
'HtProfileImage\Factory\StorageModelFactory' => __DIR__ . '/src/HtProfileImage/Factory/StorageModelFactory.php',
14+
'HtProfileImage\Factory\StorageResizerProviderFactory' => __DIR__ . '/src/HtProfileImage/Factory/StorageResizerProviderFactory.php',
15+
'HtProfileImage\Form\GenderForm' => __DIR__ . '/src/HtProfileImage/Form/GenderForm.php',
16+
'HtProfileImage\Form\ProfileImageForm' => __DIR__ . '/src/HtProfileImage/Form/ProfileImageForm.php',
17+
'HtProfileImage\Form\ProfileImageInputFilter' => __DIR__ . '/src/HtProfileImage/Form/ProfileImageInputFilter.php',
18+
'HtProfileImage\Form\ProfileImageValidator' => __DIR__ . '/src/HtProfileImage/Form/ProfileImageValidator.php',
19+
'HtProfileImage\Model\StorageModel' => __DIR__ . '/src/HtProfileImage/Model/StorageModel.php',
20+
'HtProfileImage\Model\StorageModelInterface' => __DIR__ . '/src/HtProfileImage/Model/StorageModelInterface.php',
21+
'HtProfileImage\Options\CacheOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/CacheOptionsInterface.php',
22+
'HtProfileImage\Options\DefaultImageOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/DefaultImageOptionsInterface.php',
23+
'HtProfileImage\Options\DisplayOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/DisplayOptionsInterface.php',
24+
'HtProfileImage\Options\ModuleOptions' => __DIR__ . '/src/HtProfileImage/Options/ModuleOptions.php',
25+
'HtProfileImage\Options\ModuleOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/ModuleOptionsInterface.php',
26+
'HtProfileImage\Options\StorageOptionsInterface' => __DIR__ . '/src/HtProfileImage/Options/StorageOptionsInterface.php',
27+
'HtProfileImage\Service\CacheManager' => __DIR__ . '/src/HtProfileImage/Service/CacheManager.php',
28+
'HtProfileImage\Service\CacheManagerInterface' => __DIR__ . '/src/HtProfileImage/Service/CacheManagerInterface.php',
29+
'HtProfileImage\Service\ProfileImageService' => __DIR__ . '/src/HtProfileImage/Service/ProfileImageService.php',
30+
'HtProfileImage\Service\ProfileImageServiceInterface' => __DIR__ . '/src/HtProfileImage/Service/ProfileImageServiceInterface.php',
31+
'HtProfileImage\View\Helper\Factory\ProfileImageFactory' => __DIR__ . '/src/HtProfileImage/View/Helper/Factory/ProfileImageFactory.php',
32+
'HtProfileImage\View\Helper\ProfileImage' => __DIR__ . '/src/HtProfileImage/View/Helper/ProfileImage.php',
2433
);

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
],
2121
"require": {
2222
"php": ">=5.4",
23-
"zendframework/zendframework": "2.*",
23+
"zendframework/zendframework": "~2.1",
2424
"zf-commons/zfc-user": "0.1.*",
25-
"ujjwal/h-commons": "1.3.*"
25+
"hrevert/ht-img-module": "dev-master"
2626
},
2727
"autoload": {
2828
"psr-0": {

config/htprofileimage.global.php

Lines changed: 19 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,11 @@
1515
//'upload_directory' => 'data/uploads/profile-images',
1616

1717
/**
18-
* Default Image Size
18+
* Storage Filter
1919
*
20-
* Default size of image rendered in view templates
21-
* You can also pass this value from view helper(profileImage)
22-
*
23-
* Default value: 80
24-
* Accepted values: size (in pixel)
20+
* Filter Alias for new uploading images
2521
*/
26-
//'default_image_size' => 80,
27-
28-
/**
29-
* Size of image to store
30-
*
31-
* The size of image(of newly uploaded images) to store
32-
*
33-
* Default value: 160
34-
* Accepted values: size (in pixel)
35-
*/
36-
//'stored_image_size' => 160,
22+
//'storage_filter' => 'htprofileimage_store,
3723

3824
/**
3925
* Alternative when no image is found
@@ -44,12 +30,12 @@
4430
* Default value: true
4531
* Accepted values: boolean true or false
4632
*/
47-
//'enableGravatarAlternative' => true,
33+
//'enable_gravatar_alternative' => true,
4834

4935
/**
5036
* Alternative when no image is found
5137
*
52-
* Whether or not to set gender-wise default image
38+
* Whether or not to set gender-wise default image
5339
* When gravatar is disabled and user has not uploaded his image
5440
*
5541
* Default value: false
@@ -60,7 +46,7 @@
6046
/**
6147
* Alternative when no image is found
6248
*
63-
* Default image
49+
* Default image
6450
* When gravatar is disabled and user has not uploaded his image and gender-wise image is disabled
6551
*
6652
* Accepted values: "path/to/image.ext"
@@ -88,55 +74,31 @@
8874
//'female_image' => '',
8975

9076
/**
91-
* Crop image or not
77+
* Display Filter
9278
*
93-
* Whether or not to crop image when called from view helper(profileImage)
94-
*
95-
* Default value: true
96-
* Accepted values: boolean true or false
79+
* Filter Alias for for display images
80+
* You can also pass this value from view helper(profileImage)
9781
*/
98-
//'serve_cropped_image' => true
82+
//'storage_filter' => 'htprofileimage_display,
9983

10084
/**
10185
* Post Upload Route
10286
*
103-
* Route to redirect after a user has uploaded his/her image
87+
* Route to redirect after a user has uploaded his/her image
10488
* Default value: 'zfcuser'
10589
* If set to null, user will not be redirected
10690
*/
10791
//'post_upload_route' => 'zfcuser',
10892

10993
/**
110-
* Resizing Image for storage
111-
*
112-
* How do you want to store a newly uploaded image? Store as it is?
113-
* If you want to crop(in square), then use the above `stored_image_size` option
114-
* Else use the below options to resize a newly uploaded image
115-
*
116-
*/
117-
'storage_resizer' => array(
118-
/*
119-
* Resizer Name
120-
*
121-
* Fully Qualified ClassName of Resizer
122-
* It should implement HCommons\Image\ResizingInterface
123-
*
124-
* Available Resizers
125-
* 1) HCommons\Image\BasicResizing
126-
* 2) HCommons\Image\Crop
127-
* 3) HCommons\Image\CropFromCenter
128-
* 4) HCommons\Image\AdaptiveResizing
129-
* 5) HCommons\Image\FitToWidth
130-
* 6) HCommons\Image\FitToHeight
131-
*
132-
*/
133-
//'name' => '',//
134-
135-
136-
/*'options' => array(
137-
138-
)*/
139-
)
94+
* Enable Cache
95+
*
96+
* Do you want to store cache of filtered image in the web directory
97+
*
98+
* Default: value
99+
* Accepted Values: bool
100+
*/
101+
// 'enable_cache' => true,
140102
);
141103

142104
/**

config/module.config.php

Lines changed: 58 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,65 @@
11
<?php
22

3-
return array(
4-
'controllers' => array(
5-
'invokables' => array(
6-
'HtProfileImage\HtProfileImage' => 'HtProfileImage\Controller\HtProfileImageController'
7-
),
8-
),
9-
'router' => array(
10-
'routes' => array(
11-
'zfcuser' => array(
12-
'child_routes' => array(
13-
'htimageupload' => array(
3+
return [
4+
'controllers' => [
5+
'factories' => [
6+
'HtProfileImage\ProfileImage' => 'HtProfileImage\Controller\Factory\ProfileImageControllerFactory'
7+
],
8+
],
9+
'router' => [
10+
'routes' => [
11+
'zfcuser' => [
12+
'child_routes' => [
13+
'htimageupload' => [
1414
'type' => 'Segment',
15-
'options' => array(
15+
'options' => [
1616
'route' => '/upload-image',
17-
'defaults' => array(
18-
'controller' => 'HtProfileImage\HtProfileImage',
19-
'action' => 'profile'
20-
)
21-
)
22-
),
23-
'htimagedisplay' => array(
17+
'defaults' => [
18+
'controller' => 'HtProfileImage\ProfileImage',
19+
'action' => 'upload'
20+
]
21+
]
22+
],
23+
'htimagedisplay' => [
2424
'type' => 'Segment',
25-
'options' => array(
26-
'route' => '/display-image/:id/[:size/][:gender/]',
27-
'defaults' => array(
28-
'controller' => 'HtProfileImage\HtProfileImage',
29-
'action' => 'display-image'
30-
)
31-
)
32-
),
33-
)
34-
)
35-
)
36-
),
37-
'view_manager' => array(
38-
'template_path_stack' => array(
25+
'options' => [
26+
'route' => '/display-image/:id[/]',
27+
'defaults' => [
28+
'controller' => 'HtProfileImage\ProfileImage',
29+
'action' => 'display'
30+
]
31+
]
32+
],
33+
]
34+
]
35+
]
36+
],
37+
'view_manager' => [
38+
'template_path_stack' => [
3939
'HtProfileImage' => __DIR__ . '/../view',
40-
),
41-
'template_map' => array(
40+
],
41+
'template_map' => [
4242
'zfc-user/user/index' => __DIR__ . '/../view/zfc-user/user/index.phtml'
43-
)
44-
),
45-
);
43+
]
44+
],
45+
'htimg' => [
46+
'filters' => [
47+
'htprofileimage_store' => [
48+
'type' => 'thumbnail',
49+
'options' => [
50+
'width' => 120,
51+
'height' => 120,
52+
'mode' => 'outbound '
53+
]
54+
],
55+
'htprofileimage_display' => [
56+
'type' => 'thumbnail',
57+
'options' => [
58+
'width' => 100,
59+
'height' => 100,
60+
'mode' => 'outbound '
61+
]
62+
],
63+
]
64+
]
65+
];

0 commit comments

Comments
 (0)