redditor 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +35 -1
- data/lib/redditor/version.rb +1 -1
- metadata +1 -15
- data/app/assets/javascripts/redditor/fileapi/FileAPI.exif.js +0 -59
- data/app/assets/javascripts/redditor/fileapi/FileAPI.flash.image.swf +0 -0
- data/app/assets/javascripts/redditor/fileapi/FileAPI.flash.swf +0 -0
- data/app/assets/javascripts/redditor/fileapi/FileAPI.id3.js +0 -67
- data/app/assets/javascripts/redditor/fileapi/FileAPI.min.js +0 -72
- data/app/assets/javascripts/redditor/fileapi/README.md +0 -724
- data/app/assets/javascripts/redditor/fileapi/config.js.coffee.erb +0 -5
- data/app/assets/javascripts/redditor/fileapi/crossdomain.xml +0 -19
- data/app/assets/javascripts/redditor/fileapi/example.userpic.html +0 -212
- data/app/assets/javascripts/redditor/fileapi/index.html +0 -548
- data/app/assets/javascripts/redditor/fileapi/mailru.js +0 -6
- data/app/assets/javascripts/redditor/fileapi/mailru_front.js.coffee +0 -143
- data/app/assets/javascripts/redditor/fileapi/tmpl.js +0 -35
- data/app/assets/javascripts/redditor/fileapi/uploader.coffee +0 -139
@@ -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…</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>
|