redditor 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +0,0 @@
1
- window.FileAPI =
2
- debug: false
3
- pingUrl: false
4
- flashUrl: '<%= asset_path 'fileapi/FileAPI.flash.swf' %>'
5
- flashImageUrl: '<%= asset_path 'fileapi/FileAPI.flash.image.swf' %>'
@@ -1,19 +0,0 @@
1
- <?xml version="1.0"?>
2
- <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
3
-
4
- <cross-domain-policy>
5
- <site-control permitted-cross-domain-policies="all"/>
6
- <allow-access-from domain="local.git" secure="false"/>
7
- <allow-access-from domain="local.evil" secure="false"/>
8
- <allow-access-from domain="rubaxa.org" secure="false"/>
9
- <allow-access-from domain="*.rubaxa.org" secure="false"/>
10
- <allow-access-from domain="github.com" secure="false"/>
11
- <allow-access-from domain="*.github.com" secure="false"/>
12
- <allow-access-from domain="mail.ru" secure="false"/>
13
- <allow-access-from domain="*.mail.ru" secure="false"/>
14
- <allow-access-from domain="imgsmail.ru" secure="false"/>
15
- <allow-access-from domain="*.imgsmail.ru" secure="false"/>
16
- <allow-access-from domain="img.imgsmail.ru" secure="false"/>
17
- <allow-access-from domain="*.img.imgsmail.ru" secure="false"/>
18
- <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
19
- </cross-domain-policy>
@@ -1,212 +0,0 @@
1
- <!DOCTYPE html>
2
- <!--
3
-
4
-
5
- ~~~ Это пример создания загрузки фото! ~~~
6
-
7
-
8
- 1. Скопируйте исходники себе в проект
9
- 2. Разместите crossdomain.xml на домене, куда будут грузиться файлы
10
- 3. Укажите правильный путь к флешкам, он задаётся через "staticPath"
11
- 4. ...
12
- 5. Profit!
13
-
14
-
15
-
16
- -->
17
- <html>
18
- <head>
19
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
20
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
21
-
22
- <meta name="viewport" content="user-scalable=no, width=400, initial-scale=0.8, maximum-scale=0.8" />
23
- <meta name="apple-mobile-web-app-capable" content="yes" />
24
- <meta name="apple-mobile-web-app-status-bar-style" content="yes" />
25
- <meta name="format-detection" content="email=no" />
26
- <meta name="HandheldFriendly" content="true" />
27
-
28
- <title>FileAPI :: UserPic :: example</title>
29
-
30
- <script>
31
- // Объект настройки
32
- var FileAPI = {
33
- debug: false, // режим отладки
34
- staticPath: './' // путь до флешек
35
- };
36
- </script>
37
- <script src="./FileAPI.min.js"></script>
38
-
39
- <style>
40
- .upload-link {
41
- color: #36c;
42
- display: inline-block;
43
- *zoom: 1;
44
- *display: inline;
45
- overflow: hidden;
46
- position: relative;
47
- text-decoration: none;
48
- background-color: #fff;
49
- background-color: rgba(255,255,255,.85);
50
- padding: 3px 8px;
51
- }
52
- .upload-link__txt {
53
- z-index: 1;
54
- position: relative;
55
- border-bottom: 1px dotted #36c;
56
- }
57
- .upload-link:hover .upload-link__txt {
58
- color: #f00;
59
- border-bottom-color: #f00;
60
- }
61
-
62
- .upload-link__inp {
63
- top: -10px;
64
- right: -40px;
65
- z-index: 2;
66
- position: absolute;
67
- cursor: pointer;
68
- opacity: 0;
69
- filter: alpha(opacity=0);
70
- font-size: 50px;
71
- }
72
-
73
-
74
- .upload {
75
- width: 230px;
76
- height: 200px;
77
- border: 2px solid #ccc;
78
- position: relative;
79
- background-color: #fff;
80
- }
81
- .upload__preview {
82
- -webkit-transition: opacity .3s ease;
83
- -moz-transition: opacity .3s ease;
84
- transition: opacity .3s ease;
85
- }
86
-
87
- .upload__progress {
88
- color: #fff;
89
- }
90
-
91
- .upload__link,
92
- .upload__progress {
93
- top: 45%;
94
- width: 100%;
95
- position: absolute;
96
- text-align: center;
97
- }
98
-
99
- .upload__progress,
100
- .upload_active .upload__link { display: none; }
101
-
102
- .upload_active .upload__preview { opacity: .75; }
103
- .upload_active .upload__progress { display: block; }
104
- </style>
105
- </head>
106
- <body>
107
-
108
- <form name="userpic" class="upload">
109
- <div id="preview" class="upload__preview"></div>
110
-
111
- <div class="upload__progress">Uploading&hellip;</div>
112
-
113
- <div class="upload__link">
114
- <a class="upload-link js-fileapi-wrapper">
115
- <span class="upload-link__txt">Browse pic</span>
116
- <input class="upload-link__inp" name="photo" type="file" accept=".jpg,.jpeg,.gif" />
117
- </a>
118
- </div>
119
- </form>
120
-
121
- <script>
122
- (function (){
123
- // Ссылка на uploader
124
- var form = document.forms.userpic;
125
-
126
- // Ссылка на инпут, через который юзер будет выбирать файл
127
- var input = form.photo;
128
-
129
- // Ссылка на DOM-элемент, где будем отображать preview
130
- var preview = document.getElementById('preview');
131
-
132
- // Параметры предварительного просмотра
133
- var previewOpts = {
134
- width: 230
135
- , height: 200
136
- };
137
-
138
- // Параметры загрузки
139
- var uploadOpts = {
140
- url: 'http://www.rubaxa.org/index.php' // куда грузить
141
- , data: {} // дополнительный POST-параметры
142
- , name: 'userpic' // название POST-параметра загружаемого файла
143
- , activeClassName: 'upload_active' // класс, который будем добавлять общему контейнеру при загрузке
144
- };
145
-
146
- // Функция, которая будет срабатывать при выборе файла
147
- var _onSelectFile = function (evt/**Event*/){
148
- // Получаем выбранный файл
149
- var file = FileAPI.getFiles(evt)[0];
150
-
151
- if( file ){
152
- // Строим preview для изображений
153
- _createPreview(file);
154
-
155
- // Загружаем файл на сервер
156
- _uploadFile(file);
157
- }
158
- };
159
-
160
- // Функция создающая preview для изображения
161
- var _createPreview = function (file/**File*/){
162
- FileAPI.Image(file)
163
- .preview(previewOpts.width, previewOpts.height)
164
- .get(function (err, image){
165
- // Если не было ошибок, то вставляем изображение
166
- if( !err ){
167
- // Отчищаем контейнер от текущего изображения
168
- preview.innerHTML = '';
169
-
170
- // Вставляем новое
171
- preview.appendChild(image);
172
- }
173
- })
174
- ;
175
- };
176
-
177
- // Функция загрузки файла на сервер
178
- var _uploadFile = function (file){
179
- // Подготавливаем опции для загрузки
180
- var opts = FileAPI.extend(uploadOpts, {
181
- files: {},
182
-
183
- // событие "начало загрузки"
184
- upload: function (){
185
- form.className += ' '+uploadOpts.activeClassName;
186
- },
187
-
188
- // событие "конец загрузки"
189
- complete: function (err, xhr){
190
- form.className = (' '+form.className+' ').replace(' '+uploadOpts.activeClassName+' ', ' ');
191
-
192
- if( err ){
193
- alert('Увы, произошла ошибка сервера.');
194
- } else {
195
- // всё успешно загрузилось
196
- }
197
- }
198
- });
199
-
200
- // Добавляем файл
201
- opts.files[opts.name] = file;
202
-
203
- // Загружаем на сервер
204
- FileAPI.upload(opts);
205
- };
206
-
207
- // Подписываемся на событие "change", оно будет срабатывать при выборе файла
208
- FileAPI.event.on(input, "change", _onSelectFile);
209
- })();
210
- </script>
211
- </body>
212
- </html>