Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eseperio/yii2-avatar
Module and widgets to use custom avatars
https://github.com/eseperio/yii2-avatar
Last synced: about 2 months ago
JSON representation
Module and widgets to use custom avatars
- Host: GitHub
- URL: https://github.com/eseperio/yii2-avatar
- Owner: Eseperio
- Created: 2018-08-29T08:36:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-22T14:42:21.000Z (9 months ago)
- Last Synced: 2024-04-23T15:33:43.083Z (9 months ago)
- Language: PHP
- Homepage:
- Size: 43.9 KB
- Stars: 2
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# yii2 avatar
**1.0.0**Allows upload of a custom avatar without dependency on any extension rather than yii2.
Includes a widget to manage upload by users and management by admins.The intention of this library is add the ability to upload a profile picture via a simple widget.
It must not be dependent from another user management library.
## Usage
Add the module to your configuration like follows:
```php
'modules' => [
'avatar' => [
'class' => 'eseperio\avatar\Module',
'adminPermission' => 'admin',
]
]
```Now place the included widget where you want to display the avatar.
```php
= \eseperio\avatar\widgets\Avatar::widget([
'avatarId' => Yii::$app->user->id
]) ?>```
##### Advanced configuration
|Param|Default|Description|
|-----|-------|-----------|
|$avatarFileName|null|The name to be used on generated files. If `null` then id property from `userComponent` will be used. If it is a string then will be considered like a route to a property within `userComponent`. If can be also a closure or a reference to a class method. Signature of method must be `function($id, $module){}`. See source code for more information.|
|userComponent|`'user'`| component to be used when generating avatar id. Ignored if $avatarFilename is a closure|
|defaultImage|`false`|array the path to default image|
|createDirectories|`true`| whether create the target directories if they do not exists.|
|thumbWidth|`250`| size of thumbnail size|
|thumbHeight|`250`| size of thumbnail size|
|outputFormat|`2` (jpeg)| Format for generated images
|keepOriginal|`true`| whether keep the original uploaded file|
|originalSuffix|`'or'`| suffix to be appended to original files. If keep original enabled|
|uploadDir|`'@app/uploads'`| directory to store thumbs generated without trailing slash. You can set a non web visible folder and get the pictures via link to `['/avatar/default/picture','id'=> $id ]`.|
|thumbsDir|`'@app/images/thumbs'`| directory where the files will be uploaded without trailing slash|
|attributeName|`'image'`| name of the attribute to be used on forms|
|imageValidator|see code| name of the attribute to be used on forms validator to be used for image uploaded|
|mimeTypes|see code| list of allowed mimetypes|
|glue|`'_'`| to be used when joining avatar name parts|
|adminPermission|`null`| users with this permissions will be able to update avatars from other users.|
## EventsThere are available some events.
| Event | Description |
|-------|-------------|
|`UploadEvent::EVENT_AFTER_UPLOAD`| Triggered just after saving original image. Use this event to generate thumbnails in other sizes.## JqueryPlugin
This module includes a custom made jquery plugin to manage the upload process.
You can configure it via widget through `pluginOptions`There are many events available in the plugin. All events must return a boolean
and have access to all the params of the parent function. See code to know more.#### Available events in jQuery plugin
|Name|Description|
|----|-----------|
|beforeUpload|Triggered on the beforeSend event|
|afterUpload|Triggered when ajax response is full ok (status code and server response)|
|onFail|Triggered when status code is 200 but server response is not ok|
|onAjaxFail|Triggered when communication with server fails|