-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
117 lines (80 loc) · 2.84 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
wbxFileBundle
=============
a Symfony2 Bundle to handle file upload
Installation
============
Bring in the vendor libraries
-----------------------------
This can be done in two different ways:
**Method #1**) Use composer
"require": {
"wbx/file-bundle": "*"
}
**Method #2**) Use deps file
[wbxFileBundle]
git=http://github.com/ma2thieu/wbxFileBundle.git
target=bundles/wbx/FileBundle
**Method #3**) Use git submodules
git submodule add git://github.com/ma2thieu/wbxFileBundle.git vendor/bundles/wbx/FileBundle
Register the wbxFileBundle namespaces (Not required for composer!)
------------------------------------------------------------------
// app/autoload.php
$loader->registerNamespaces(array(
'wbx' => __DIR__.'/../vendor/bundles',
// your other namespaces
));
Add wbxFileBundle to your application kernel
--------------------------------------------
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new wbx\FileBundle\wbxFileBundle(),
// ...
);
}
Usage example
=============
Entity
------
# /src/my/Bundle/Entity/File.php
namespace my\Bundle\Entity;
use wbx\FileBundle\Entity\File as wbxFile;
/**
* wbx\CoreBundle\Entity\File
*
* @Orm\Entity()
* @ORM\Table()
*/
class File extends wbxFile {
}
# /src/my/Bundle/Entity/Object.php
/**
* @var \my\Bundle\Entity\File $file
*
* @ORM\ManyToOne(targetEntity="\my\Bundle\Entity\File", cascade={"all"})
* @ORM\JoinColumn(name="file_id", referencedColumnName="id")
*/
private $file;
$mask_path can be used to point to a bitmap file that will be used as a mask.
the image will be resized and cropped to the mask dimensions
(only work with imagick extension)
Form
----
$builder
->add('file', new \wbx\FileBundle\Form\FileType($with_empty, $with_name))
* $with_empty (true|false) : display or not the "empty" checkbox to remove the uploaded file
* $with_name (true|false) : display or not the "name" field. Name default to the uploaded filename
* If the php imagick extension is available it is used to create a png preview of uploaded pdf files. $file->getWebPath() will automatically return the preview file.
View
----
{% include 'wbxFileBundle:File:embed.html.twig' with {
'form' : edit_form.image,
'class' : "myBundle:File",
'imagine_filter' : "my_thumb_filter"
} %}
* `form` is mandatory
* `class` is mandatory (used for the download link)
* `imagine_filter` is optional: if set the bundle [LiipImagineBundle](http://github.com/liip/LiipImagineBundle) is needed and the value of `imagine_filter` will be used as a the name of the Imagine filter to be called to create and display a thumbnail of the picture.
If `imagine_filter` is not defined or == "" a link to the file will be displayed