Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Apache
: 10.120.20.2 | : 216.73.216.49
Cant Read [ /etc/named.conf ]
8.5.7
verseaumee
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
verseaumee /
123click /
assets /
[ HOME SHELL ]
Name
Size
Permission
Action
css
[ DIR ]
drwx---r-x
fonts
[ DIR ]
drwx---r-x
images
[ DIR ]
drwx---r-x
js
[ DIR ]
drwx---r-x
.bash_logout.bash_logout.tar.g...
126
B
-rw-r--r--
.bash_logout.tar
2
KB
-rw-r--r--
.bash_profile.bash_profile.tar...
273
B
-rw-r--r--
.bash_profile.tar
2
KB
-rw-r--r--
.bashrc.bashrc.tar.gz
190
B
-rw-r--r--
.bashrc.tar
2
KB
-rw-r--r--
.ftpquota.ftpquota.tar.gz
135
B
-rw-r--r--
.ftpquota.tar
2
KB
-rw-r--r--
.hta.hta.tar.gz
3.15
KB
-rw-r--r--
.hta.tar
6
KB
-rw-r--r--
.htaccess.bak.htaccess.bak.tar...
428
B
-rw-r--r--
.htaccess.bak.tar
2.5
KB
-rw-r--r--
.htaccess.htaccess.tar.gz
194
B
-rw-r--r--
.htaccess.tar
41.5
KB
-rw-r--r--
.htaccess_10125.htaccess_10125...
1.93
KB
-rw-r--r--
.htaccess_10125.tar
6
KB
-rw-r--r--
.htaccess_2608.htaccess_2608.t...
1.83
KB
-rw-r--r--
.htaccess_2608.tar
5.5
KB
-rw-r--r--
.htaccess_old.htaccess_old.tar...
1.71
KB
-rw-r--r--
.htaccess_old.tar
9.5
KB
-rw-r--r--
.htaccess_old2.htaccess_old2.t...
1.81
KB
-rw-r--r--
.htaccess_old2.tar
5.5
KB
-rw-r--r--
.htaccessx.htaccessx.tar.gz
479
B
-rw-r--r--
.htaccessx.tar
2.5
KB
-rw-r--r--
.htaccessxx.htaccessxx.tar.gz
427
B
-rw-r--r--
.htaccessxx.tar
2.5
KB
-rw-r--r--
.mad-root
0
B
-rw-r--r--
.ovhconfig.ovhconfig.tar.gz
188
B
-rw-r--r--
.ovhconfig.tar
2
KB
-rw-r--r--
.tmb.tar
221
KB
-rw-r--r--
.tmb.tar.gz
41.33
KB
-rw-r--r--
.tmb.zip
201.6
KB
-rw-r--r--
.user.ini.tar
3
KB
-rw-r--r--
.user.ini.user.ini.tar.gz
220
B
-rw-r--r--
.well-known.tar
158.5
KB
-rw-r--r--
.well-known.tar.gz
69.8
KB
-rw-r--r--
.well-known.zip
152.89
KB
-rw-r--r--
----index.html.html.tar.gz
8.28
KB
-rw-r--r--
----index.html.tar
40
KB
-rw-r--r--
01.jpg.jpg.tar.gz
2.27
KB
-rw-r--r--
01.jpg.tar
4
KB
-rw-r--r--
10pourcent.zip
212.54
MB
-rw-r--r--
404.html.html.tar.gz
1.19
KB
-rw-r--r--
404.html.tar
5
KB
-rw-r--r--
888index.php.php.tar.gz
8.52
KB
-rw-r--r--
888index.php.tar
42.5
KB
-rw-r--r--
ANE_MOULIN.jpg.jpg.tar.gz
12.53
KB
-rw-r--r--
ANE_MOULIN.jpg.tar
14
KB
-rw-r--r--
Association.zip
6.54
KB
-rw-r--r--
CALES.jpg.jpg.tar.gz
13.84
KB
-rw-r--r--
CALES.jpg.tar
15.5
KB
-rw-r--r--
CONDITIONS.pdf.pdf.tar.gz
592.22
KB
-rw-r--r--
CONDITIONS.pdf.tar
753.5
KB
-rw-r--r--
Cache.zip
39.59
KB
-rw-r--r--
Demo.tar
17.37
MB
-rw-r--r--
Demo.tar.gz
16.59
MB
-rw-r--r--
Demo.zip
17.31
MB
-rw-r--r--
Diff.php.php.tar.gz
3.15
KB
-rw-r--r--
Diff.php.tar
14.5
KB
-rw-r--r--
Downloads.tar
868.5
KB
-rw-r--r--
Downloads.tar.gz
790.18
KB
-rw-r--r--
Downloads.zip
865.8
KB
-rw-r--r--
Filter.zip
41.03
KB
-rw-r--r--
FontAwesome.otf.otf.tar.gz
108.08
KB
-rw-r--r--
FontAwesome.otf.tar
133.5
KB
-rw-r--r--
HTTP.tar
13
KB
-rw-r--r--
HTTP.tar.gz
3.32
KB
-rw-r--r--
ID3.tar
1.12
MB
-rw-r--r--
ID3.tar.gz
233.46
KB
-rw-r--r--
ID3.zip
1.1
MB
-rw-r--r--
IXR.tar
43
KB
-rw-r--r--
IXR.tar.gz
7.69
KB
-rw-r--r--
IXR.zip
34.92
KB
-rw-r--r--
JEANJEAN.jpg.jpg.tar.gz
14.03
KB
-rw-r--r--
JEANJEAN.jpg.tar
15.5
KB
-rw-r--r--
LA.png.png.tar.gz
3.38
KB
-rw-r--r--
LA.png.tar
5
KB
-rw-r--r--
LICENSE.txt.tar
93.5
KB
-rw-r--r--
LICENSE.txt.txt.tar.gz
6.78
KB
-rw-r--r--
LOGO A LA MAZE ON 17 NOVEMBRE ...
1.36
MB
-rw-r--r--
LOGO A LA MAZE ON 17 NOVEMBRE ...
1.41
MB
-rw-r--r--
LOGO ARCEP 2.jpg.jpg.tar.gz
399.9
KB
-rw-r--r--
LOGO ARCEP 2.jpg.tar
1.38
MB
-rw-r--r--
LOGO ARCEP 2.psd.psd.tar.gz
3.66
MB
-rw-r--r--
LOGO ARCEP 2.psd.tar
9.75
MB
-rw-r--r--
Log.tar
45
KB
-rw-r--r--
Log.tar.gz
8.58
KB
-rw-r--r--
Log.zip
37.62
KB
-rw-r--r--
Net.tar
9
KB
-rw-r--r--
Net.tar.gz
2.68
KB
-rw-r--r--
PHPMailer.tar
227.5
KB
-rw-r--r--
PHPMailer.tar.gz
47.75
KB
-rw-r--r--
PHPMailer.zip
223.7
KB
-rw-r--r--
PTITE_FERME.png.png.tar.gz
70.39
KB
-rw-r--r--
PTITE_FERME.png.tar
73.5
KB
-rw-r--r--
PayPal.PNG.PNG.tar.gz
18.47
KB
-rw-r--r--
PayPal.PNG.tar
24
KB
-rw-r--r--
README.txt.tar
34
KB
-rw-r--r--
README.txt.txt.tar.gz
1.83
KB
-rw-r--r--
Requests.tar
427
KB
-rw-r--r--
Requests.tar.gz
30.97
KB
-rw-r--r--
Requests.zip
220.53
KB
-rw-r--r--
SimplePie.tar
474
KB
-rw-r--r--
SimplePie.tar.gz
77.41
KB
-rw-r--r--
SimplePie.zip
456.69
KB
-rw-r--r--
TF89388.tar
958.4
MB
-rw-r--r--
TF89388.tar.gz
20
B
-rw-r--r--
Tate-tuker-web.jpg.jpg.tar.gz
97.22
KB
-rw-r--r--
Tate-tuker-web.jpg.tar
101
KB
-rw-r--r--
Text.tar
63.5
KB
-rw-r--r--
Text.tar.gz
12.67
KB
-rw-r--r--
Text.zip
57.09
KB
-rw-r--r--
UA.png.png.tar.gz
3.24
KB
-rw-r--r--
UA.png.tar
5
KB
-rw-r--r--
XML.zip
7.11
KB
-rw-r--r--
_contact.html.html.tar.gz
4.61
KB
-rw-r--r--
_contact.html.tar
17.5
KB
-rw-r--r--
_index.html.html.tar.gz
8.52
KB
-rw-r--r--
_index.html.tar
40.5
KB
-rw-r--r--
ab1.jpg.jpg.tar.gz
19.2
KB
-rw-r--r--
ab1.jpg.tar
21
KB
-rw-r--r--
ab2.jpg.jpg.tar.gz
19.28
KB
-rw-r--r--
ab2.jpg.tar
21
KB
-rw-r--r--
about-blog.jpg.jpg.tar.gz
61
KB
-rw-r--r--
about-blog.jpg.tar
65.5
KB
-rw-r--r--
about-us.jpg.jpg.tar.gz
27.54
KB
-rw-r--r--
about-us.jpg.tar
31
KB
-rw-r--r--
about.html.html.tar.gz
3.86
KB
-rw-r--r--
about.html.tar
38.5
KB
-rw-r--r--
about.php.php.tar.gz
5.35
KB
-rw-r--r--
about.php.tar
80
KB
-rw-r--r--
actionlog.tar
40
KB
-rw-r--r--
actionlog.tar.gz
4.46
KB
-rw-r--r--
actionlog.zip
36.47
KB
-rw-r--r--
actionlogs.tar
18.5
KB
-rw-r--r--
actionlogs.tar.gz
1.25
KB
-rw-r--r--
actionlogs.zip
2.82
KB
-rw-r--r--
acymailing.tar
338.5
KB
-rw-r--r--
acymailing.tar.gz
48.94
KB
-rw-r--r--
acymailing.zip
308.85
KB
-rw-r--r--
admin-ajax.php.php.tar.gz
1.89
KB
-rw-r--r--
admin-ajax.php.tar
7
KB
-rw-r--r--
admin-bar.php.php.tar.gz
8.22
KB
-rw-r--r--
admin-bar.php.tar
38
KB
-rw-r--r--
admin-footer.php.php.tar.gz
1.14
KB
-rw-r--r--
admin-footer.php.tar
4.5
KB
-rw-r--r--
admin-functions.php.php.tar.gz
333
B
-rw-r--r--
admin-functions.php.tar
3
KB
-rw-r--r--
admin-get.php.php.tar.gz
980
B
-rw-r--r--
admin-get.php.tar
3.5
KB
-rw-r--r--
admin-header.php.php.tar.gz
2.97
KB
-rw-r--r--
admin-header.php.tar
30
KB
-rw-r--r--
admin-post.php.php.tar.gz
847
B
-rw-r--r--
admin-post.php.tar
4
KB
-rw-r--r--
admin.php.php.tar.gz
3.79
KB
-rw-r--r--
admin.php.tar
27
KB
-rw-r--r--
adminer.php
0
B
-rw-r--r--
administrator.tar
83.32
MB
-rw-r--r--
administrator.tar.gz
4.57
MB
-rw-r--r--
administrator.zip
41.74
MB
-rw-r--r--
afrikavio.jpg.jpg.tar.gz
300.69
KB
-rw-r--r--
afrikavio.jpg.tar
323.5
KB
-rw-r--r--
ai1wm-backups.tar
717.78
MB
-rw-r--r--
ai1wm-backups.tar.gz
20
B
-rw-r--r--
akismet.tar
258
KB
-rw-r--r--
akismet.tar.gz
67.37
KB
-rw-r--r--
akismet.zip
240.29
KB
-rw-r--r--
all.js.js.tar.gz
818
B
-rw-r--r--
all.js.tar
3.5
KB
-rw-r--r--
android-chrome-192x192.png.png...
5.04
KB
-rw-r--r--
android-chrome-192x192.png.tar
7
KB
-rw-r--r--
android-chrome-512x512.png.png...
18.64
KB
-rw-r--r--
android-chrome-512x512.png.tar
23.5
KB
-rw-r--r--
android-icon-144x144.png.png.t...
14.3
KB
-rw-r--r--
android-icon-144x144.png.tar
16
KB
-rw-r--r--
android-icon-192x192.png.png.t...
19.65
KB
-rw-r--r--
android-icon-192x192.png.tar
21.5
KB
-rw-r--r--
android-icon-36x36.png.png.tar...
2.67
KB
-rw-r--r--
android-icon-36x36.png.tar
4.5
KB
-rw-r--r--
android-icon-48x48.png.png.tar...
3.76
KB
-rw-r--r--
android-icon-48x48.png.tar
5.5
KB
-rw-r--r--
android-icon-72x72.png.png.tar...
5.93
KB
-rw-r--r--
android-icon-72x72.png.tar
7.5
KB
-rw-r--r--
android-icon-96x96.png.png.tar...
8.36
KB
-rw-r--r--
android-icon-96x96.png.tar
10
KB
-rw-r--r--
android.png.png.tar.gz
2.47
KB
-rw-r--r--
android.png.tar
4
KB
-rw-r--r--
angular-icon.svg.svg.tar.gz
559
B
-rw-r--r--
angular-icon.svg.tar
2.5
KB
-rw-r--r--
angular.png.png.tar.gz
10.65
KB
-rw-r--r--
angular.png.tar
13
KB
-rw-r--r--
api.tar
383.5
KB
-rw-r--r--
api.tar.gz
77.41
KB
-rw-r--r--
api.zip
345.17
KB
-rw-r--r--
app.js.js.tar.gz
501
B
-rw-r--r--
app.js.tar
2.5
KB
-rw-r--r--
app.php.php.tar.gz
1.05
KB
-rw-r--r--
app.php.tar
4
KB
-rw-r--r--
app.tar
199
KB
-rw-r--r--
app.tar.gz
34.34
KB
-rw-r--r--
app.zip
171.56
KB
-rw-r--r--
apple-icon-114x114.png.png.tar...
10.47
KB
-rw-r--r--
apple-icon-114x114.png.tar
12
KB
-rw-r--r--
apple-icon-144x144.png.png.tar...
14.3
KB
-rw-r--r--
apple-icon-144x144.png.tar
16
KB
-rw-r--r--
apple-icon-152x152.png.png.tar...
15.31
KB
-rw-r--r--
apple-icon-152x152.png.tar
17
KB
-rw-r--r--
apple-icon-180x180.png.png.tar...
19.25
KB
-rw-r--r--
apple-icon-180x180.png.tar
21
KB
-rw-r--r--
apple-icon-57x57.png.png.tar.g...
4.53
KB
-rw-r--r--
apple-icon-57x57.png.tar
6
KB
-rw-r--r--
apple-icon-60x60.png.png.tar.g...
4.77
KB
-rw-r--r--
apple-icon-60x60.png.tar
6.5
KB
-rw-r--r--
apple-icon-76x76.png.png.tar.g...
6.29
KB
-rw-r--r--
apple-icon-76x76.png.tar
8
KB
-rw-r--r--
apple-icon-precomposed.png.png...
20.06
KB
-rw-r--r--
apple-icon-precomposed.png.tar
22
KB
-rw-r--r--
apple-touch-icon.png.png.tar.g...
3.99
KB
-rw-r--r--
apple-touch-icon.png.tar
11
KB
-rw-r--r--
apple.png.png.tar.gz
3.5
KB
-rw-r--r--
apple.png.tar
5.5
KB
-rw-r--r--
apps.tar
266
KB
-rw-r--r--
apps.tar.gz
223.94
KB
-rw-r--r--
apps.zip
251.66
KB
-rw-r--r--
archives.tar
11
KB
-rw-r--r--
archives.tar.gz
826
B
-rw-r--r--
archives.zip
2.92
KB
-rw-r--r--
assets.tar
151.49
MB
-rw-r--r--
assets.tar.gz
101.02
MB
-rw-r--r--
assets.zip
88.82
MB
-rw-r--r--
async-upload.php.php.tar.gz
1.96
KB
-rw-r--r--
async-upload.php.tar
12
KB
-rw-r--r--
atomlib.php.php.tar.gz
3.27
KB
-rw-r--r--
atomlib.php.tar
13.5
KB
-rw-r--r--
attachments.tar
2
KB
-rw-r--r--
attachments.tar.gz
124
B
-rw-r--r--
audio.tar
707.5
KB
-rw-r--r--
audio.tar.gz
674.05
KB
-rw-r--r--
authentication.tar
51
KB
-rw-r--r--
authentication.tar.gz
8.78
KB
-rw-r--r--
authentication.zip
40.29
KB
-rw-r--r--
authorize-application.php.php....
3.16
KB
-rw-r--r--
authorize-application.php.tar
12
KB
-rw-r--r--
avatar.zip
3.48
KB
-rw-r--r--
banners.tar
35
KB
-rw-r--r--
banners.tar.gz
29.58
KB
-rw-r--r--
banners.zip
31.48
KB
-rw-r--r--
beez3.tar
630.5
KB
-rw-r--r--
beez3.tar.gz
264.69
KB
-rw-r--r--
beez3.zip
535.04
KB
-rw-r--r--
bg-testinomial.jpg.jpg.tar.gz
461.34
KB
-rw-r--r--
bg-testinomial.jpg.tar
927
KB
-rw-r--r--
bg.jpg.jpg.tar.gz
110.06
KB
-rw-r--r--
bg.jpg.tar
112
KB
-rw-r--r--
bg1.jpg.jpg.tar.gz
150.09
KB
-rw-r--r--
bg1.jpg.tar
152
KB
-rw-r--r--
bg2.jpg.jpg.tar.gz
124.53
KB
-rw-r--r--
bg2.jpg.tar
127.5
KB
-rw-r--r--
bg3.jpg.jpg.tar.gz
669.84
KB
-rw-r--r--
bg3.jpg.tar
711
KB
-rw-r--r--
bg4.jpg.jpg.tar.gz
139.9
KB
-rw-r--r--
bg4.jpg.tar
142
KB
-rw-r--r--
bg5.jpg.jpg.tar.gz
192.52
KB
-rw-r--r--
bg5.jpg.tar
194.5
KB
-rw-r--r--
bighearts-child.tar
1.38
MB
-rw-r--r--
bighearts-child.tar.gz
1.37
MB
-rw-r--r--
bighearts-child.zip
1.37
MB
-rw-r--r--
bighearts.zip
34.41
MB
-rw-r--r--
bin.tar
107.5
KB
-rw-r--r--
bin.tar.gz
27.21
KB
-rw-r--r--
bin.zip
100.81
KB
-rw-r--r--
bizone.tar
4.88
MB
-rw-r--r--
bizone.tar.gz
1.62
MB
-rw-r--r--
bizone.zip
4.8
MB
-rw-r--r--
block-bindings.php.php.tar.gz
1.74
KB
-rw-r--r--
block-bindings.php.tar
7
KB
-rw-r--r--
block-bindings.tar
6
KB
-rw-r--r--
block-bindings.tar.gz
1.1
KB
-rw-r--r--
block-bindings.zip
3.83
KB
-rw-r--r--
block-editor.php.php.tar.gz
6.39
KB
-rw-r--r--
block-editor.php.tar
29.5
KB
-rw-r--r--
block-i18n.json.json.tar.gz
257
B
-rw-r--r--
block-i18n.json.tar
3
KB
-rw-r--r--
block-patterns.php.php.tar.gz
3.16
KB
-rw-r--r--
block-patterns.php.tar
14.5
KB
-rw-r--r--
block-patterns.tar
39.5
KB
-rw-r--r--
block-patterns.tar.gz
3.96
KB
-rw-r--r--
block-patterns.zip
28.32
KB
-rw-r--r--
block-supports.tar
145
KB
-rw-r--r--
block-supports.tar.gz
26.36
KB
-rw-r--r--
block-supports.zip
131.98
KB
-rw-r--r--
block-template-utils.php.php.t...
11.88
KB
-rw-r--r--
block-template-utils.php.tar
57
KB
-rw-r--r--
block-template.php.php.tar.gz
4.16
KB
-rw-r--r--
block-template.php.tar
14
KB
-rw-r--r--
blocks.php.php.tar.gz
4
KB
-rw-r--r--
blocks.php.tar
113
KB
-rw-r--r--
blocks.tar
1.96
MB
-rw-r--r--
blocks.tar.gz
235.75
KB
-rw-r--r--
blocks.zip
1.54
MB
-rw-r--r--
blog.html.html.tar.gz
2.52
KB
-rw-r--r--
blog.html.tar
13.5
KB
-rw-r--r--
blog.tar
5.77
MB
-rw-r--r--
blog.tar.gz
4.87
MB
-rw-r--r--
blog.zip
5.71
MB
-rw-r--r--
blueversiontg.tar
89.5
KB
-rw-r--r--
blueversiontg.tar.gz
26.37
KB
-rw-r--r--
blueversiontg.zip
85.9
KB
-rw-r--r--
bookmark-template.php.php.tar....
3.3
KB
-rw-r--r--
bookmark-template.php.tar
14.5
KB
-rw-r--r--
bookmark.php.php.tar.gz
4.24
KB
-rw-r--r--
bookmark.php.tar
17
KB
-rw-r--r--
bootstrap.min.js.min.js.tar.gz
15.19
KB
-rw-r--r--
bootstrap.min.js.tar
58.5
KB
-rw-r--r--
bootstrap.tar
535
KB
-rw-r--r--
bootstrap.tar.gz
90.49
KB
-rw-r--r--
bootstrap.zip
530.83
KB
-rw-r--r--
browserconfig.xml.tar
2
KB
-rw-r--r--
browserconfig.xml.xml.tar.gz
264
B
-rw-r--r--
button.zip
15.31
KB
-rw-r--r--
buttons.tar
19
KB
-rw-r--r--
buttons.tar.gz
1.45
KB
-rw-r--r--
bv_connector_a3384bc41af663dc2...
5.65
KB
-rw-r--r--
bv_connector_a3384bc41af663dc2...
20.5
KB
-rw-r--r--
c1.jpg.jpg.tar.gz
19.79
KB
-rw-r--r--
c1.jpg.tar
21.5
KB
-rw-r--r--
c2.jpg.jpg.tar.gz
18.15
KB
-rw-r--r--
c2.jpg.tar
20
KB
-rw-r--r--
c3.jpg.jpg.tar.gz
3.26
KB
-rw-r--r--
c3.jpg.tar
5
KB
-rw-r--r--
cache-compat.php.php.tar.gz
1.43
KB
-rw-r--r--
cache-compat.php.tar
7.5
KB
-rw-r--r--
cache.php.php.tar.gz
2.6
KB
-rw-r--r--
cache.php.tar
15
KB
-rw-r--r--
cache.tar
84
KB
-rw-r--r--
cache.tar.gz
24.89
KB
-rw-r--r--
cache.zip
11.15
MB
-rw-r--r--
calendar.zip
4.4
KB
-rw-r--r--
call-to-action-bg-2.jpg.jpg.ta...
68.28
KB
-rw-r--r--
call-to-action-bg-2.jpg.tar
88
KB
-rw-r--r--
call-to-action-bg-20.jpg.jpg.t...
150.06
KB
-rw-r--r--
call-to-action-bg-20.jpg.tar
169.5
KB
-rw-r--r--
call-to-action-bg-222.jpg.jpg....
855.71
KB
-rw-r--r--
call-to-action-bg-222.jpg.tar
873
KB
-rw-r--r--
call-to-action-bg.jpg.jpg.tar....
14.97
KB
-rw-r--r--
call-to-action-bg.jpg.tar
23.5
KB
-rw-r--r--
call-to-action.tar
1.57
MB
-rw-r--r--
call-to-action.tar.gz
1.51
MB
-rw-r--r--
capabilities.php.php.tar.gz
7.1
KB
-rw-r--r--
capabilities.php.tar
83.5
KB
-rw-r--r--
captcha.tar
26
KB
-rw-r--r--
captcha.tar.gz
5.67
KB
-rw-r--r--
captcha.zip
17.58
KB
-rw-r--r--
carapattes.jpg.jpg.tar.gz
184.61
KB
-rw-r--r--
carapattes.jpg.tar
200.5
KB
-rw-r--r--
carousel.less.less.tar.gz
985
B
-rw-r--r--
carousel.less.tar
10
KB
-rw-r--r--
category-template.php.php.tar....
13
KB
-rw-r--r--
category-template.php.tar
57.5
KB
-rw-r--r--
category.php.php.tar.gz
3.54
KB
-rw-r--r--
category.php.tar
41.5
KB
-rw-r--r--
certificates.tar
229.5
KB
-rw-r--r--
certificates.tar.gz
127.51
KB
-rw-r--r--
certificates.zip
227.92
KB
-rw-r--r--
certs.tar
83
KB
-rw-r--r--
certs.tar.gz
24.92
KB
-rw-r--r--
certs.zip
80.85
KB
-rw-r--r--
checkbex.php.php.tar.gz
10.37
KB
-rw-r--r--
checkbex.php.tar
145
KB
-rw-r--r--
class-IXR.php.php.tar.gz
1.19
KB
-rw-r--r--
class-IXR.php.tar
7.5
KB
-rw-r--r--
class-avif-info.php.php.tar.gz
6
KB
-rw-r--r--
class-avif-info.php.tar
30.5
KB
-rw-r--r--
class-feed.php.php.tar.gz
364
B
-rw-r--r--
class-feed.php.tar
5.5
KB
-rw-r--r--
class-http.php.php.tar.gz
341
B
-rw-r--r--
class-http.php.tar
4
KB
-rw-r--r--
class-json.php.php.tar.gz
8.54
KB
-rw-r--r--
class-json.php.tar
44.5
KB
-rw-r--r--
class-oembed.php.php.tar.gz
354
B
-rw-r--r--
class-oembed.php.tar
5
KB
-rw-r--r--
class-phpass.php.php.tar.gz
2.52
KB
-rw-r--r--
class-phpass.php.tar
16
KB
-rw-r--r--
class-phpmailer.php.php.tar.gz
394
B
-rw-r--r--
class-phpmailer.php.tar
4
KB
-rw-r--r--
class-pop3.php.php.tar.gz
4.79
KB
-rw-r--r--
class-pop3.php.tar
64.5
KB
-rw-r--r--
class-requests.php.php.tar.gz
954
B
-rw-r--r--
class-requests.php.tar
10
KB
-rw-r--r--
class-simplepie.php.php.tar.gz
20.46
KB
-rw-r--r--
class-simplepie.php.tar
388
KB
-rw-r--r--
class-smtp.php.php.tar.gz
341
B
-rw-r--r--
class-smtp.php.tar
4
KB
-rw-r--r--
class-snoopy.php.php.tar.gz
7.95
KB
-rw-r--r--
class-snoopy.php.tar
113.5
KB
-rw-r--r--
class-walker-category-dropdown...
1.16
KB
-rw-r--r--
class-walker-category-dropdown...
13
KB
-rw-r--r--
class-walker-category.php.php....
2.45
KB
-rw-r--r--
class-walker-category.php.tar
19
KB
-rw-r--r--
class-walker-comment.php.php.t...
3.27
KB
-rw-r--r--
class-walker-comment.php.tar
15.5
KB
-rw-r--r--
class-walker-nav-menu.php.php....
2.25
KB
-rw-r--r--
class-walker-nav-menu.php.tar
47.5
KB
-rw-r--r--
class-walker-page-dropdown.php...
1.2
KB
-rw-r--r--
class-walker-page-dropdown.php...
14.5
KB
-rw-r--r--
class-walker-page.php.php.tar....
2.11
KB
-rw-r--r--
class-walker-page.php.tar
25
KB
-rw-r--r--
class-wp-admin-bar.php.php.tar...
4.86
KB
-rw-r--r--
class-wp-admin-bar.php.tar
37
KB
-rw-r--r--
class-wp-ajax-response.php.php...
1.81
KB
-rw-r--r--
class-wp-ajax-response.php.tar
12.5
KB
-rw-r--r--
class-wp-application-passwords...
2.74
KB
-rw-r--r--
class-wp-application-passwords...
14.5
KB
-rw-r--r--
class-wp-block-bindings-regist...
2.38
KB
-rw-r--r--
class-wp-block-bindings-regist...
10.5
KB
-rw-r--r--
class-wp-block-bindings-source...
926
B
-rw-r--r--
class-wp-block-bindings-source...
4
KB
-rw-r--r--
class-wp-block-editor-context....
670
B
-rw-r--r--
class-wp-block-editor-context....
3
KB
-rw-r--r--
class-wp-block-list.php.php.ta...
1.26
KB
-rw-r--r--
class-wp-block-list.php.tar
17.5
KB
-rw-r--r--
class-wp-block-parser-block.ph...
880
B
-rw-r--r--
class-wp-block-parser-block.ph...
7
KB
-rw-r--r--
class-wp-block-parser-frame.ph...
680
B
-rw-r--r--
class-wp-block-parser-frame.ph...
6
KB
-rw-r--r--
class-wp-block-parser.php.php....
4.08
KB
-rw-r--r--
class-wp-block-parser.php.tar
52.5
KB
-rw-r--r--
class-wp-block-pattern-categor...
1.4
KB
-rw-r--r--
class-wp-block-pattern-categor...
13
KB
-rw-r--r--
class-wp-block-patterns-regist...
2.9
KB
-rw-r--r--
class-wp-block-patterns-regist...
13
KB
-rw-r--r--
class-wp-block-styles-registry...
1.59
KB
-rw-r--r--
class-wp-block-styles-registry...
21.5
KB
-rw-r--r--
class-wp-block-supports.php.ph...
1.7
KB
-rw-r--r--
class-wp-block-supports.php.ta...
19
KB
-rw-r--r--
class-wp-block-template.php.ph...
693
B
-rw-r--r--
class-wp-block-template.php.ta...
3.5
KB
-rw-r--r--
class-wp-block-type-registry.p...
1.41
KB
-rw-r--r--
class-wp-block-type-registry.p...
17.5
KB
-rw-r--r--
class-wp-block-type.php.php.ta...
3.95
KB
-rw-r--r--
class-wp-block-type.php.tar
36
KB
-rw-r--r--
class-wp-block.php.php.tar.gz
2.14
KB
-rw-r--r--
class-wp-block.php.tar
61
KB
-rw-r--r--
class-wp-classic-to-block-menu...
1.37
KB
-rw-r--r--
class-wp-classic-to-block-menu...
10
KB
-rw-r--r--
class-wp-comment-query.php.php...
10.21
KB
-rw-r--r--
class-wp-comment-query.php.tar
49
KB
-rw-r--r--
class-wp-comment.php.php.tar.g...
2.59
KB
-rw-r--r--
class-wp-comment.php.tar
31
KB
-rw-r--r--
class-wp-customize-control.php...
5.7
KB
-rw-r--r--
class-wp-customize-control.php...
27
KB
-rw-r--r--
class-wp-customize-manager.php...
44.55
KB
-rw-r--r--
class-wp-customize-manager.php...
199.5
KB
-rw-r--r--
class-wp-customize-nav-menu-se...
4.98
KB
-rw-r--r--
class-wp-customize-nav-menu-se...
20
KB
-rw-r--r--
class-wp-customize-panel.php.p...
3.12
KB
-rw-r--r--
class-wp-customize-panel.php.t...
23
KB
-rw-r--r--
class-wp-customize-section.php...
3.25
KB
-rw-r--r--
class-wp-customize-section.php...
12.5
KB
-rw-r--r--
class-wp-customize-setting.php...
6.58
KB
-rw-r--r--
class-wp-customize-setting.php...
31
KB
-rw-r--r--
class-wp-customize-widgets.php...
15.96
KB
-rw-r--r--
class-wp-customize-widgets.php...
277.5
KB
-rw-r--r--
class-wp-date-query.php.php.ta...
8.43
KB
-rw-r--r--
class-wp-date-query.php.tar
36.5
KB
-rw-r--r--
class-wp-dependencies.php.php....
3.37
KB
-rw-r--r--
class-wp-dependencies.php.tar
15.5
KB
-rw-r--r--
class-wp-dependency.php.php.ta...
1.01
KB
-rw-r--r--
class-wp-dependency.php.tar
4.5
KB
-rw-r--r--
class-wp-duotone.php.php.tar.g...
9.24
KB
-rw-r--r--
class-wp-duotone.php.tar
41.5
KB
-rw-r--r--
class-wp-editor.php.php.tar.gz
16.58
KB
-rw-r--r--
class-wp-editor.php.tar
285.5
KB
-rw-r--r--
class-wp-embed.php.php.tar.gz
4.77
KB
-rw-r--r--
class-wp-embed.php.tar
50.5
KB
-rw-r--r--
class-wp-error.php.php.tar.gz
1.93
KB
-rw-r--r--
class-wp-error.php.tar
9
KB
-rw-r--r--
class-wp-fatal-error-handler.p...
2.76
KB
-rw-r--r--
class-wp-fatal-error-handler.p...
9.5
KB
-rw-r--r--
class-wp-feed-cache-transient....
918
B
-rw-r--r--
class-wp-feed-cache-transient....
7.5
KB
-rw-r--r--
class-wp-feed-cache.php.php.ta...
631
B
-rw-r--r--
class-wp-feed-cache.php.tar
4
KB
-rw-r--r--
class-wp-hook.php.php.tar.gz
3.43
KB
-rw-r--r--
class-wp-hook.php.tar
48.5
KB
-rw-r--r--
class-wp-http-cookie.php.php.t...
2.55
KB
-rw-r--r--
class-wp-http-cookie.php.tar
9
KB
-rw-r--r--
class-wp-http-curl.php.php.tar...
3.68
KB
-rw-r--r--
class-wp-http-curl.php.tar
40
KB
-rw-r--r--
class-wp-http-encoding.php.php...
2.21
KB
-rw-r--r--
class-wp-http-encoding.php.tar
8.5
KB
-rw-r--r--
class-wp-http-ixr-client.php.p...
1.45
KB
-rw-r--r--
class-wp-http-ixr-client.php.t...
13
KB
-rw-r--r--
class-wp-http-netfilter.php.ph...
321
B
-rw-r--r--
class-wp-http-netfilter.php.ta...
2
KB
-rw-r--r--
class-wp-http-proxy.php.php.ta...
2.02
KB
-rw-r--r--
class-wp-http-proxy.php.tar
20.5
KB
-rw-r--r--
class-wp-http-requests-respons...
1.35
KB
-rw-r--r--
class-wp-http-requests-respons...
6
KB
-rw-r--r--
class-wp-http-response.php.php...
1.04
KB
-rw-r--r--
class-wp-http-response.php.tar
4.5
KB
-rw-r--r--
class-wp-http-streams.php.php....
4.62
KB
-rw-r--r--
class-wp-http-streams.php.tar
120
KB
-rw-r--r--
class-wp-http.php.php.tar.gz
11.09
KB
-rw-r--r--
class-wp-http.php.tar
123.5
KB
-rw-r--r--
class-wp-image-editor-gd.php.p...
3.94
KB
-rw-r--r--
class-wp-image-editor-gd.php.t...
16
KB
-rw-r--r--
class-wp-image-editor.php.php....
4.85
KB
-rw-r--r--
class-wp-image-editor.php.tar
19
KB
-rw-r--r--
class-wp-list-util.php.php.tar...
1.96
KB
-rw-r--r--
class-wp-list-util.php.tar
32
KB
-rw-r--r--
class-wp-locale-switcher.php.p...
1.87
KB
-rw-r--r--
class-wp-locale-switcher.php.t...
15.5
KB
-rw-r--r--
class-wp-locale.php.php.tar.gz
3.36
KB
-rw-r--r--
class-wp-locale.php.tar
67.5
KB
-rw-r--r--
class-wp-matchesmapregex.php.p...
818
B
-rw-r--r--
class-wp-matchesmapregex.php.t...
8.5
KB
-rw-r--r--
class-wp-meta-query.php.php.ta...
7.19
KB
-rw-r--r--
class-wp-meta-query.php.tar
170.5
KB
-rw-r--r--
class-wp-metadata-lazyloader.p...
1.75
KB
-rw-r--r--
class-wp-metadata-lazyloader.p...
32.5
KB
-rw-r--r--
class-wp-navigation-fallback.p...
2.33
KB
-rw-r--r--
class-wp-navigation-fallback.p...
20
KB
-rw-r--r--
class-wp-network-query.php.php...
4.88
KB
-rw-r--r--
class-wp-network-query.php.tar
39.5
KB
-rw-r--r--
class-wp-network.php.php.tar.g...
3.78
KB
-rw-r--r--
class-wp-network.php.tar
39
KB
-rw-r--r--
class-wp-object-cache.php.php....
3.76
KB
-rw-r--r--
class-wp-object-cache.php.tar
79
KB
-rw-r--r--
class-wp-oembed-controller.php...
2.19
KB
-rw-r--r--
class-wp-oembed-controller.php...
8.5
KB
-rw-r--r--
class-wp-oembed.php.php.tar.gz
7.33
KB
-rw-r--r--
class-wp-oembed.php.tar
185.5
KB
-rw-r--r--
class-wp-paused-extensions-sto...
1.33
KB
-rw-r--r--
class-wp-paused-extensions-sto...
6.5
KB
-rw-r--r--
class-wp-phpmailer.php.php.tar...
1.23
KB
-rw-r--r--
class-wp-phpmailer.php.tar
5.5
KB
-rw-r--r--
class-wp-plugin-dependencies.p...
5.1
KB
-rw-r--r--
class-wp-plugin-dependencies.p...
26.5
KB
-rw-r--r--
class-wp-post-type.php.php.tar...
6.61
KB
-rw-r--r--
class-wp-post-type.php.tar
31.5
KB
-rw-r--r--
class-wp-post.php.php.tar.gz
1.76
KB
-rw-r--r--
class-wp-post.php.tar
29
KB
-rw-r--r--
class-wp-query.php.php.tar.gz
29.76
KB
-rw-r--r--
class-wp-query.php.tar
734.5
KB
-rw-r--r--
class-wp-recovery-mode-email-s...
3.41
KB
-rw-r--r--
class-wp-recovery-mode-email-s...
34.5
KB
-rw-r--r--
class-wp-recovery-mode-key-ser...
1.38
KB
-rw-r--r--
class-wp-recovery-mode-key-ser...
6
KB
-rw-r--r--
class-wp-recovery-mode-link-se...
1.23
KB
-rw-r--r--
class-wp-recovery-mode-link-se...
5
KB
-rw-r--r--
class-wp-recovery-mode.php.php...
3.2
KB
-rw-r--r--
class-wp-recovery-mode.php.tar
13
KB
-rw-r--r--
class-wp-rewrite.php.php.tar.g...
14.56
KB
-rw-r--r--
class-wp-rewrite.php.tar
63.5
KB
-rw-r--r--
class-wp-role.php.php.tar.gz
868
B
-rw-r--r--
class-wp-role.php.tar
10
KB
-rw-r--r--
class-wp-roles.php.php.tar.gz
2.38
KB
-rw-r--r--
class-wp-roles.php.tar
28
KB
-rw-r--r--
class-wp-script-modules.php.ph...
3.02
KB
-rw-r--r--
class-wp-script-modules.php.ta...
35
KB
-rw-r--r--
class-wp-scripts.php.php.tar.g...
6.52
KB
-rw-r--r--
class-wp-scripts.php.tar
57.5
KB
-rw-r--r--
class-wp-session-tokens.php.ph...
1.95
KB
-rw-r--r--
class-wp-session-tokens.php.ta...
33
KB
-rw-r--r--
class-wp-simplepie-file.php.ph...
1.45
KB
-rw-r--r--
class-wp-simplepie-file.php.ta...
9
KB
-rw-r--r--
class-wp-simplepie-sanitize-ks...
964
B
-rw-r--r--
class-wp-simplepie-sanitize-ks...
6
KB
-rw-r--r--
class-wp-site-query.php.php.ta...
6.63
KB
-rw-r--r--
class-wp-site-query.php.tar
64
KB
-rw-r--r--
class-wp-site.php.php.tar.gz
2.12
KB
-rw-r--r--
class-wp-site.php.tar
33
KB
-rw-r--r--
class-wp-styles.php.php.tar.gz
3.06
KB
-rw-r--r--
class-wp-styles.php.tar
35.5
KB
-rw-r--r--
class-wp-tax-query.php.php.tar...
5.11
KB
-rw-r--r--
class-wp-tax-query.php.tar
60.5
KB
-rw-r--r--
class-wp-taxonomy.php.php.tar....
4.47
KB
-rw-r--r--
class-wp-taxonomy.php.tar
20
KB
-rw-r--r--
class-wp-term-query.php.php.ta...
8.14
KB
-rw-r--r--
class-wp-term-query.php.tar
71
KB
-rw-r--r--
class-wp-term.php.php.tar.gz
1.86
KB
-rw-r--r--
class-wp-term.php.tar
13
KB
-rw-r--r--
class-wp-text-diff-renderer-in...
611
B
-rw-r--r--
class-wp-text-diff-renderer-in...
2.5
KB
-rw-r--r--
class-wp-text-diff-renderer-ta...
4.78
KB
-rw-r--r--
class-wp-text-diff-renderer-ta...
37
KB
-rw-r--r--
class-wp-textdomain-registry.p...
2.92
KB
-rw-r--r--
class-wp-textdomain-registry.p...
22.5
KB
-rw-r--r--
class-wp-theme-json.php.php.ta...
13.41
KB
-rw-r--r--
class-wp-theme-json.php.tar
63
KB
-rw-r--r--
class-wp-theme.php.php.tar.gz
14.06
KB
-rw-r--r--
class-wp-theme.php.tar
65.5
KB
-rw-r--r--
class-wp-token-map.php.php.tar...
7.84
KB
-rw-r--r--
class-wp-token-map.php.tar
58
KB
-rw-r--r--
class-wp-user-meta-session-tok...
999
B
-rw-r--r--
class-wp-user-meta-session-tok...
22
KB
-rw-r--r--
class-wp-user-query.php.php.ta...
9.26
KB
-rw-r--r--
class-wp-user-query.php.tar
44.5
KB
-rw-r--r--
class-wp-user-request.php.php....
726
B
-rw-r--r--
class-wp-user-request.php.tar
13
KB
-rw-r--r--
class-wp-user.php.php.tar.gz
5.65
KB
-rw-r--r--
class-wp-user.php.tar
47
KB
-rw-r--r--
class-wp-walker.php.php.tar.gz
3.15
KB
-rw-r--r--
class-wp-walker.php.tar
42.5
KB
-rw-r--r--
class-wp-widget-factory.php.ph...
1.09
KB
-rw-r--r--
class-wp-widget-factory.php.ta...
5
KB
-rw-r--r--
class-wp-widget.php.php.tar.gz
4.41
KB
-rw-r--r--
class-wp-widget.php.tar
56.5
KB
-rw-r--r--
class-wp-xmlrpc-server.php.php...
34.01
KB
-rw-r--r--
class-wp-xmlrpc-server.php.tar
420
KB
-rw-r--r--
class-wp.php.php.tar.gz
7.18
KB
-rw-r--r--
class-wp.php.tar
131.5
KB
-rw-r--r--
class-wpdb.php.php.tar.gz
28.19
KB
-rw-r--r--
class-wpdb.php.tar
468
KB
-rw-r--r--
class.wp-dependencies.php.tar
2
KB
-rw-r--r--
class.wp-dependencies.php.wp-d...
321
B
-rw-r--r--
class.wp-scripts.php.tar
3
KB
-rw-r--r--
class.wp-scripts.php.wp-script...
318
B
-rw-r--r--
class.wp-styles.php.tar
4
KB
-rw-r--r--
class.wp-styles.php.wp-styles....
318
B
-rw-r--r--
cli.tar
133.5
KB
-rw-r--r--
cli.tar.gz
26.04
KB
-rw-r--r--
cli.zip
124.09
KB
-rw-r--r--
client-logo.tar
91
KB
-rw-r--r--
client-logo.tar.gz
49.92
KB
-rw-r--r--
client-logo.zip
84.41
KB
-rw-r--r--
clients.zip
28.76
KB
-rw-r--r--
clipboard.min.js.min.js.tar.gz
3.19
KB
-rw-r--r--
clipboard.min.js.tar
10.5
KB
-rw-r--r--
cms.tar
276.5
KB
-rw-r--r--
cms.tar.gz
1.01
KB
-rw-r--r--
cms.zip
3.35
KB
-rw-r--r--
code.tar
15
KB
-rw-r--r--
code.tar.gz
1.08
KB
-rw-r--r--
colors.tar
661.5
KB
-rw-r--r--
colors.tar.gz
56.18
KB
-rw-r--r--
com_acymailing.tar
1.73
MB
-rw-r--r--
com_acymailing.tar.gz
85.93
KB
-rw-r--r--
com_acymailing.zip
1.56
MB
-rw-r--r--
com_ajax.tar
8
KB
-rw-r--r--
com_ajax.tar.gz
2.12
KB
-rw-r--r--
com_ajax.zip
6.41
KB
-rw-r--r--
com_akeeba.tar
222.5
KB
-rw-r--r--
com_akeeba.tar.gz
0
B
-rw-r--r--
com_akeeba.zip
172.83
KB
-rw-r--r--
com_associations.tar
85.5
KB
-rw-r--r--
com_associations.tar.gz
18.65
KB
-rw-r--r--
com_associations.zip
68.85
KB
-rw-r--r--
com_banners.tar
24.5
KB
-rw-r--r--
com_banners.tar.gz
4.86
KB
-rw-r--r--
com_banners.zip
19.06
KB
-rw-r--r--
com_blue_pagebuilder.tar
33.5
KB
-rw-r--r--
com_blue_pagebuilder.tar.gz
5.23
KB
-rw-r--r--
com_blue_pagebuilder.zip
19.04
KB
-rw-r--r--
com_categories.tar
15
KB
-rw-r--r--
com_categories.tar.gz
3.24
KB
-rw-r--r--
com_config.tar
114.5
KB
-rw-r--r--
com_config.tar.gz
16.39
KB
-rw-r--r--
com_config.zip
89.48
KB
-rw-r--r--
com_contact.tar
523.5
KB
-rw-r--r--
com_contact.tar.gz
40.36
KB
-rw-r--r--
com_contact.zip
466.35
KB
-rw-r--r--
com_content.tar
365
KB
-rw-r--r--
com_content.tar.gz
59.99
KB
-rw-r--r--
com_content.zip
334.19
KB
-rw-r--r--
com_contenthistory.tar
3.5
KB
-rw-r--r--
com_contenthistory.tar.gz
603
B
-rw-r--r--
com_contenthistory.zip
839
B
-rw-r--r--
com_falang.tar
28
KB
-rw-r--r--
com_falang.tar.gz
6.08
KB
-rw-r--r--
com_fields.tar
12
KB
-rw-r--r--
com_fields.tar.gz
2.45
KB
-rw-r--r--
com_fields.zip
7.84
KB
-rw-r--r--
com_finder.tar
109
KB
-rw-r--r--
com_finder.tar.gz
20.25
KB
-rw-r--r--
com_finder.zip
121.6
KB
-rw-r--r--
com_gantry5.tar
14.5
KB
-rw-r--r--
com_gantry5.tar.gz
3.09
KB
-rw-r--r--
com_gantry5.zip
10.35
KB
-rw-r--r--
com_icagenda.tar
1.56
MB
-rw-r--r--
com_icagenda.tar.gz
252.83
KB
-rw-r--r--
com_icagenda.zip
1.4
MB
-rw-r--r--
com_jce.tar
4.82
MB
-rw-r--r--
com_jce.tar.gz
1.2
MB
-rw-r--r--
com_jce.zip
4.39
MB
-rw-r--r--
com_k2.tar
650
KB
-rw-r--r--
com_k2.tar.gz
115.57
KB
-rw-r--r--
com_k2.zip
587.73
KB
-rw-r--r--
com_login.zip
11.37
KB
-rw-r--r--
com_mailto.tar
23.5
KB
-rw-r--r--
com_mailto.tar.gz
4.42
KB
-rw-r--r--
com_mailto.zip
15.79
KB
-rw-r--r--
com_media.tar
2.5
KB
-rw-r--r--
com_media.tar.gz
484
B
-rw-r--r--
com_media.zip
776
B
-rw-r--r--
com_menus.tar
14
KB
-rw-r--r--
com_menus.tar.gz
1.34
KB
-rw-r--r--
com_menus.zip
10.05
KB
-rw-r--r--
com_messages.tar
80.5
KB
-rw-r--r--
com_messages.tar.gz
13.21
KB
-rw-r--r--
com_modules.tar
12.5
KB
-rw-r--r--
com_modules.tar.gz
1.75
KB
-rw-r--r--
com_modules.zip
8.49
KB
-rw-r--r--
com_newsfeeds.tar
98.5
KB
-rw-r--r--
com_newsfeeds.tar.gz
16.45
KB
-rw-r--r--
com_newsfeeds.zip
83.79
KB
-rw-r--r--
com_privacy.tar
109.5
KB
-rw-r--r--
com_privacy.tar.gz
7.42
KB
-rw-r--r--
com_privacy.zip
87.26
KB
-rw-r--r--
com_search.tar
38
KB
-rw-r--r--
com_search.tar.gz
8.07
KB
-rw-r--r--
com_search.zip
31.14
KB
-rw-r--r--
com_solidres.tar
1.65
MB
-rw-r--r--
com_solidres.tar.gz
264.5
KB
-rw-r--r--
com_solidres.zip
1.59
MB
-rw-r--r--
com_tags.tar
107.5
KB
-rw-r--r--
com_tags.tar.gz
16.49
KB
-rw-r--r--
com_tags.zip
90.96
KB
-rw-r--r--
com_templates.tar
69.5
KB
-rw-r--r--
com_templates.tar.gz
12.41
KB
-rw-r--r--
com_templates.zip
51.97
KB
-rw-r--r--
com_uniterevolution2.tar
1.08
MB
-rw-r--r--
com_uniterevolution2.tar.gz
425.96
KB
-rw-r--r--
com_uniterevolution2.zip
1.4
KB
-rw-r--r--
com_users.tar
201.5
KB
-rw-r--r--
com_users.tar.gz
27.25
KB
-rw-r--r--
com_users.zip
167.94
KB
-rw-r--r--
com_virtuemart_allinone.tar
35.5
KB
-rw-r--r--
com_virtuemart_allinone.tar.gz
8.84
KB
-rw-r--r--
com_wrapper.tar
21
KB
-rw-r--r--
com_wrapper.tar.gz
391
B
-rw-r--r--
com_wrapper.zip
13.73
KB
-rw-r--r--
coming_soon.zip
5.16
MB
-rw-r--r--
comment-reply-link.tar
2.5
KB
-rw-r--r--
comment-reply-link.tar.gz
515
B
-rw-r--r--
comment-template.php.php.tar.g...
8.54
KB
-rw-r--r--
comment-template.php.tar
239.5
KB
-rw-r--r--
comment.php.php.tar.gz
27.88
KB
-rw-r--r--
comment.php.tar
389.5
KB
-rw-r--r--
compat.php.php.tar.gz
4.28
KB
-rw-r--r--
compat.php.tar
34.5
KB
-rw-r--r--
components.html.html.tar.gz
3.12
KB
-rw-r--r--
components.html.tar
14.5
KB
-rw-r--r--
components.tar
52.99
MB
-rw-r--r--
components.tar.gz
3.27
MB
-rw-r--r--
components.zip
51.21
MB
-rw-r--r--
composer.json.json.tar.gz
168
B
-rw-r--r--
composer.json.tar
2
KB
-rw-r--r--
composer.lock.lock.tar.gz
1.38
KB
-rw-r--r--
composer.lock.tar
5.5
KB
-rw-r--r--
conditions.docx.docx.tar.gz
40.58
KB
-rw-r--r--
conditions.docx.tar
48.5
KB
-rw-r--r--
configuration.php.php.tar.gz
1.17
KB
-rw-r--r--
configuration.php.tar
28.5
KB
-rw-r--r--
configuration_old.php.php.tar....
1.18
KB
-rw-r--r--
configuration_old.php.tar
5
KB
-rw-r--r--
configuration_old2.php.php.tar...
1.25
KB
-rw-r--r--
configuration_old2.php.tar
5.5
KB
-rw-r--r--
configuration_old33.php.php.ta...
1.27
KB
-rw-r--r--
configuration_old33.php.tar
5.5
KB
-rw-r--r--
construction-prev-arrow.png.pn...
3.88
KB
-rw-r--r--
construction-prev-arrow.png.ta...
5.5
KB
-rw-r--r--
contact-sec.jpg.jpg.tar.gz
66.15
KB
-rw-r--r--
contact-sec.jpg.tar
67.5
KB
-rw-r--r--
contact.html.html.tar.gz
3.29
KB
-rw-r--r--
contact.html.tar
37
KB
-rw-r--r--
contact.php.php.tar.gz
5.84
KB
-rw-r--r--
contact.php.tar
28
KB
-rw-r--r--
contact.tar
4.5
KB
-rw-r--r--
contact.tar.gz
1.28
KB
-rw-r--r--
contactFR.html.html.tar.gz
3.18
KB
-rw-r--r--
contactFR.html.tar
12.5
KB
-rw-r--r--
contactform-fr.php.php.tar.gz
505
B
-rw-r--r--
contactform-fr.php.tar
2.5
KB
-rw-r--r--
contactfr.html.html.tar.gz
3.21
KB
-rw-r--r--
contactfr.html.tar
13
KB
-rw-r--r--
contacts.tar
5.34
MB
-rw-r--r--
contacts.tar.gz
2.1
MB
-rw-r--r--
contacts.zip
5.29
MB
-rw-r--r--
contacts_1.json.json.tar.gz
9.95
KB
-rw-r--r--
contacts_1.json.tar
63
KB
-rw-r--r--
content.tar
57
KB
-rw-r--r--
content.tar.gz
6.4
KB
-rw-r--r--
controller.php.php.tar.gz
897
B
-rw-r--r--
controller.php.tar
3
KB
-rw-r--r--
core.tar
1.05
MB
-rw-r--r--
core.tar.gz
197.59
KB
-rw-r--r--
core.zip
955.12
KB
-rw-r--r--
counterup.tar
30.5
KB
-rw-r--r--
counterup.tar.gz
7.66
KB
-rw-r--r--
counterup.zip
26.86
KB
-rw-r--r--
cover.tar
89.5
KB
-rw-r--r--
cover.tar.gz
5.54
KB
-rw-r--r--
cover.zip
82.63
KB
-rw-r--r--
credits.php.php.tar.gz
1.25
KB
-rw-r--r--
credits.php.tar
10
KB
-rw-r--r--
cron.php.php.tar.gz
162
B
-rw-r--r--
cron.php.tar
118
KB
-rw-r--r--
crystal.tar
24
KB
-rw-r--r--
crystal.tar.gz
15.15
KB
-rw-r--r--
css.png.png.tar.gz
2.8
KB
-rw-r--r--
css.png.tar
4.5
KB
-rw-r--r--
css.tar
11.84
MB
-rw-r--r--
css.tar.gz
44.02
KB
-rw-r--r--
css.zip
11.76
MB
-rw-r--r--
css1.tar
186.5
KB
-rw-r--r--
css1.tar.gz
41.71
KB
-rw-r--r--
css1.zip
183.94
KB
-rw-r--r--
css3.png.png.tar.gz
7.46
KB
-rw-r--r--
css3.png.tar
9.5
KB
-rw-r--r--
custom-background.php.php.tar....
376
B
-rw-r--r--
custom-background.php.tar
3
KB
-rw-r--r--
custom-header.php.php.tar.gz
10.61
KB
-rw-r--r--
custom-header.php.tar
48
KB
-rw-r--r--
customize-nav-menus.min.css.mi...
3.46
KB
-rw-r--r--
customize-nav-menus.min.css.ta...
19.5
KB
-rw-r--r--
customize.php.php.tar.gz
3.68
KB
-rw-r--r--
customize.php.tar
35.5
KB
-rw-r--r--
customize.tar
197.5
KB
-rw-r--r--
customize.tar.gz
38.7
KB
-rw-r--r--
customize.zip
173.55
KB
-rw-r--r--
d82fd3.tar
15.5
KB
-rw-r--r--
d82fd3.tar.gz
3.86
KB
-rw-r--r--
d82fd3.zip
13.78
KB
-rw-r--r--
dashboard.js.js.tar.gz
8.4
KB
-rw-r--r--
dashboard.js.tar
28.5
KB
-rw-r--r--
dashboard.min.js.min.js.tar.gz
3.11
KB
-rw-r--r--
dashboard.min.js.tar
10.5
KB
-rw-r--r--
dashicons.eot.eot.tar.gz
31.91
KB
-rw-r--r--
dashicons.eot.tar
57
KB
-rw-r--r--
dashicons.ttf.tar
57
KB
-rw-r--r--
dashicons.ttf.ttf.tar.gz
31.84
KB
-rw-r--r--
data.tar
230.5
KB
-rw-r--r--
data.tar.gz
11.82
KB
-rw-r--r--
data.zip
217.5
KB
-rw-r--r--
database.json.json.tar.gz
654
B
-rw-r--r--
database.json.tar
7
KB
-rw-r--r--
date.php.php.tar.gz
356
B
-rw-r--r--
date.php.tar
4
KB
-rw-r--r--
de-DE.tar
415.5
KB
-rw-r--r--
de-DE.tar.gz
92.58
KB
-rw-r--r--
default-constants.php.php.tar....
2.82
KB
-rw-r--r--
default-constants.php.tar
55.5
KB
-rw-r--r--
default-filters.php.php.tar.gz
7.89
KB
-rw-r--r--
default-filters.php.tar
223
KB
-rw-r--r--
default-widgets.php.php.tar.gz
508
B
-rw-r--r--
default-widgets.php.tar
16
KB
-rw-r--r--
default.php.php.tar.gz
1.45
KB
-rw-r--r--
default.php.tar
9
KB
-rw-r--r--
default.png.png.tar.gz
616
B
-rw-r--r--
default.png.tar
3
KB
-rw-r--r--
default1.jpg.jpg.tar.gz
322.01
KB
-rw-r--r--
default1.jpg.tar
335
KB
-rw-r--r--
defaults.php.php.tar.gz
826
B
-rw-r--r--
defaults.php.tar
3
KB
-rw-r--r--
deprecated.php.php.tar.gz
39.99
KB
-rw-r--r--
deprecated.php.tar
183.5
KB
-rw-r--r--
details.zip
3.22
KB
-rw-r--r--
devices.png.png.tar.gz
1.93
KB
-rw-r--r--
devices.png.tar
3.5
KB
-rw-r--r--
devices_2.png.png.tar.gz
1.89
KB
-rw-r--r--
devices_2.png.tar
3.5
KB
-rw-r--r--
dff24.jpg.jpg.tar.gz
302.87
KB
-rw-r--r--
dff24.jpg.tar
322
KB
-rw-r--r--
digital.tar
25.36
MB
-rw-r--r--
digital.tar.gz
0
B
-rw-r--r--
digital.zip
25.31
MB
-rw-r--r--
dimensions.php.php.tar.gz
1.72
KB
-rw-r--r--
dimensions.php.tar
13
KB
-rw-r--r--
dist.tar
23.44
MB
-rw-r--r--
dist.tar.gz
938.9
KB
-rw-r--r--
dist.zip
5.6
MB
-rw-r--r--
divider.png.png.tar.gz
5.7
KB
-rw-r--r--
divider.png.tar
8
KB
-rw-r--r--
document.html.html.tar.gz
1.79
KB
-rw-r--r--
document.html.tar
6
KB
-rw-r--r--
domicile.jpg.jpg.tar.gz
13.32
KB
-rw-r--r--
domicile.jpg.tar
24
KB
-rw-r--r--
dompdf.tar
21.82
MB
-rw-r--r--
dompdf.tar.gz
9.51
MB
-rw-r--r--
drupal.png.png.tar.gz
10.02
KB
-rw-r--r--
drupal.png.tar
12
KB
-rw-r--r--
duplicate-post.zip
344.54
KB
-rw-r--r--
edit-form-advanced.php.php.tar...
8.69
KB
-rw-r--r--
edit-form-advanced.php.tar
60
KB
-rw-r--r--
edit-form-blocks.php.php.tar.g...
5.15
KB
-rw-r--r--
edit-form-blocks.php.tar
29
KB
-rw-r--r--
edit-form-comment.php.php.tar....
2.71
KB
-rw-r--r--
edit-form-comment.php.tar
10
KB
-rw-r--r--
edit-link-form.php.php.tar.gz
2.17
KB
-rw-r--r--
edit-link-form.php.tar
29
KB
-rw-r--r--
edit-tag-form.php.php.tar.gz
2.86
KB
-rw-r--r--
edit-tag-form.php.tar
23
KB
-rw-r--r--
edit-tags.php.php.tar.gz
5.84
KB
-rw-r--r--
edit-tags.php.tar
23.5
KB
-rw-r--r--
edit.php.php.tar.gz
5.55
KB
-rw-r--r--
edit.php.tar
21
KB
-rw-r--r--
editors-xtd.tar
31.5
KB
-rw-r--r--
editors-xtd.tar.gz
3.47
KB
-rw-r--r--
editors-xtd.zip
21.58
KB
-rw-r--r--
editors.zip
114.5
KB
-rw-r--r--
elementor-pro.tar
14.63
MB
-rw-r--r--
elementor-pro.tar.gz
2.24
MB
-rw-r--r--
elementor-pro.zip
14.26
MB
-rw-r--r--
elementor.tar
45.46
MB
-rw-r--r--
elementor.tar.gz
7.96
MB
-rw-r--r--
elementor.zip
57.4
MB
-rw-r--r--
elementorx.tar
38.7
MB
-rw-r--r--
elementorx.tar.gz
9.19
MB
-rw-r--r--
elementorx.zip
38.1
MB
-rw-r--r--
elements.tar
9.02
MB
-rw-r--r--
elements.tar.gz
8.57
MB
-rw-r--r--
elements.zip
8.98
MB
-rw-r--r--
eleve2.jpg.jpg.tar.gz
633.68
KB
-rw-r--r--
eleve2.jpg.tar
650.5
KB
-rw-r--r--
embed-template.php.php.tar.gz
326
B
-rw-r--r--
embed-template.php.tar
2
KB
-rw-r--r--
embed.php.php.tar.gz
9.94
KB
-rw-r--r--
embed.php.tar
39
KB
-rw-r--r--
emglobal.tar
167.75
MB
-rw-r--r--
emglobal.tar.gz
90.82
MB
-rw-r--r--
eminvest.tar
89.48
MB
-rw-r--r--
eminvest.tar.gz
25.19
KB
-rw-r--r--
eminvest.zip
81.62
KB
-rw-r--r--
en-GB.tar
902
KB
-rw-r--r--
en-GB.tar.gz
120.63
KB
-rw-r--r--
en-GB.zip
795.95
KB
-rw-r--r--
erase-personal-data.php.php.ta...
2.78
KB
-rw-r--r--
erase-personal-data.php.tar
9
KB
-rw-r--r--
error-protection.php.php.tar.g...
1.48
KB
-rw-r--r--
error-protection.php.tar
6
KB
-rw-r--r--
exceptions.tar
6
KB
-rw-r--r--
exceptions.tar.gz
790
B
-rw-r--r--
export.php.php.tar.gz
3.19
KB
-rw-r--r--
export.php.tar
25
KB
-rw-r--r--
extension.tar
186.5
KB
-rw-r--r--
extension.tar.gz
4.19
KB
-rw-r--r--
extension.zip
168.25
KB
-rw-r--r--
f0f.tar
2.09
MB
-rw-r--r--
f0f.tar.gz
490.91
KB
-rw-r--r--
f0f.zip
1.98
MB
-rw-r--r--
fail.php.php.tar.gz
213
B
-rw-r--r--
fail.php.tar
2
KB
-rw-r--r--
favicon-16x16.png.png.tar.gz
1.44
KB
-rw-r--r--
favicon-16x16.png.tar
3.5
KB
-rw-r--r--
favicon-32x32.png.png.tar.gz
2.33
KB
-rw-r--r--
favicon-32x32.png.tar
4
KB
-rw-r--r--
favicon-96x96.png.png.tar.gz
8.35
KB
-rw-r--r--
favicon-96x96.png.tar
10
KB
-rw-r--r--
favicon.ico.ico.tar.gz
905
B
-rw-r--r--
favicon.ico.tar
6.5
KB
-rw-r--r--
favicon.png.png.tar.gz
1.94
KB
-rw-r--r--
favicon.png.tar
9.5
KB
-rw-r--r--
favicon2.png.png.tar.gz
1.48
KB
-rw-r--r--
favicon2.png.tar
6
KB
-rw-r--r--
feed-atom-comments.php.php.tar...
1.85
KB
-rw-r--r--
feed-atom-comments.php.tar
7
KB
-rw-r--r--
feed-atom.php.php.tar.gz
1.26
KB
-rw-r--r--
feed-atom.php.tar
8.5
KB
-rw-r--r--
feed-rdf.php.php.tar.gz
1.1
KB
-rw-r--r--
feed-rdf.php.tar
8
KB
-rw-r--r--
feed-rss.php.php.tar.gz
700
B
-rw-r--r--
feed-rss.php.tar
7
KB
-rw-r--r--
feed-rss2-comments.php.php.tar...
1.55
KB
-rw-r--r--
feed-rss2-comments.php.tar
6
KB
-rw-r--r--
feed-rss2.php.php.tar.gz
1.5
KB
-rw-r--r--
feed-rss2.php.tar
10
KB
-rw-r--r--
feed.php.php.tar.gz
5.91
KB
-rw-r--r--
feed.php.tar
48
KB
-rw-r--r--
fef.tar
409
KB
-rw-r--r--
fef.tar.gz
108.82
KB
-rw-r--r--
fef.zip
398.19
KB
-rw-r--r--
fields.tar
26.5
KB
-rw-r--r--
fields.tar.gz
4.84
KB
-rw-r--r--
file.php
80.47
KB
-rw-r--r--
file.php.php.tar.gz
24.83
KB
-rw-r--r--
file.php.tar
3.72
MB
-rw-r--r--
file.tar
22.5
KB
-rw-r--r--
file.tar.gz
3.07
KB
-rw-r--r--
flex.tar
6.17
MB
-rw-r--r--
flex.tar.gz
1.69
MB
-rw-r--r--
fof.zip
2
MB
-rw-r--r--
fontawesome-webfont.eot.eot.ta...
96.31
KB
-rw-r--r--
fontawesome-webfont.eot.tar
163.5
KB
-rw-r--r--
fontawesome-webfont.svg.svg.ta...
132.93
KB
-rw-r--r--
fontawesome-webfont.svg.tar
435.5
KB
-rw-r--r--
fontawesome-webfont.ttf.tar
163.5
KB
-rw-r--r--
fontawesome-webfont.ttf.ttf.ta...
96.22
KB
-rw-r--r--
fontawesome-webfont.woff.tar
97.5
KB
-rw-r--r--
fontawesome-webfont.woff.woff....
95.75
KB
-rw-r--r--
fontawesome-webfont.woff2.tar
77
KB
-rw-r--r--
fontawesome-webfont.woff2.woff...
75.51
KB
-rw-r--r--
fonts.php.php.tar.gz
2.69
KB
-rw-r--r--
fonts.php.tar
11
KB
-rw-r--r--
fonts.tar
2.93
MB
-rw-r--r--
fonts.tar.gz
608.17
KB
-rw-r--r--
fonts.zip
2.91
MB
-rw-r--r--
footnotes.zip
3.27
KB
-rw-r--r--
form.tar
2.5
KB
-rw-r--r--
form.tar.gz
475
B
-rw-r--r--
form.zip
1.14
KB
-rw-r--r--
formatting.php.php.tar.gz
65.1
KB
-rw-r--r--
formatting.php.tar
329.5
KB
-rw-r--r--
forms-rtl.min.css.min.css.tar....
6.69
KB
-rw-r--r--
forms-rtl.min.css.tar
29.5
KB
-rw-r--r--
fr-FR.zip
432.44
KB
-rw-r--r--
framework.php.php.tar.gz
1.38
KB
-rw-r--r--
framework.php.tar
14
KB
-rw-r--r--
freeform.zip
41.54
KB
-rw-r--r--
freepik_edit_3d-model-octane-r...
573.77
KB
-rw-r--r--
freepik_edit_3d-model-octane-r...
646
KB
-rw-r--r--
full-responsive.png.png.tar.gz
1.11
MB
-rw-r--r--
full-responsive.png.tar
1.12
MB
-rw-r--r--
functions.php.php.tar.gz
71.93
KB
-rw-r--r--
functions.php.tar
557.5
KB
-rw-r--r--
functions.wp-scripts.php.tar
16
KB
-rw-r--r--
functions.wp-scripts.php.wp-sc...
3.98
KB
-rw-r--r--
functions.wp-styles.php.tar
19
KB
-rw-r--r--
functions.wp-styles.php.wp-sty...
2.29
KB
-rw-r--r--
gallery.tar
1.24
MB
-rw-r--r--
gallery.tar.gz
933.8
KB
-rw-r--r--
gallery.zip
1.23
MB
-rw-r--r--
gantry.zip
42.42
KB
-rw-r--r--
gantry5.tar
9.78
MB
-rw-r--r--
gantry5.tar.gz
521.58
KB
-rw-r--r--
gantry5.zip
6.48
MB
-rw-r--r--
general-template.php.php.tar.g...
34.11
KB
-rw-r--r--
general-template.php.tar
490.5
KB
-rw-r--r--
genieprevention.jpg.jpg.tar.gz
224.21
KB
-rw-r--r--
genieprevention.jpg.tar
250.5
KB
-rw-r--r--
genieprevention.png.png.tar.gz
1.14
MB
-rw-r--r--
genieprevention.png.tar
1.17
MB
-rw-r--r--
genieprevention.tar
127.85
MB
-rw-r--r--
genieprevention.tar.gz
59.62
MB
-rw-r--r--
getid3.lib.php.lib.php.tar.gz
12.36
KB
-rw-r--r--
getid3.lib.php.tar
55
KB
-rw-r--r--
global-styles-and-settings.php...
5.27
KB
-rw-r--r--
global-styles-and-settings.php...
22.5
KB
-rw-r--r--
google-map.tar
15
KB
-rw-r--r--
google-map.tar.gz
4.24
KB
-rw-r--r--
google-map.zip
12.63
KB
-rw-r--r--
google13cccd2253d2ff59.html.ht...
151
B
-rw-r--r--
google13cccd2253d2ff59.html.ta...
2
KB
-rw-r--r--
google9d63adf694ce55d9.html.ht...
155
B
-rw-r--r--
google9d63adf694ce55d9.html.ta...
2
KB
-rw-r--r--
googleaa8106a26df5450e.html.ht...
152
B
-rw-r--r--
googleaa8106a26df5450e.html.ta...
2
KB
-rw-r--r--
grid1.jpg.jpg.tar.gz
39.16
KB
-rw-r--r--
grid1.jpg.tar
40.5
KB
-rw-r--r--
group.tar
21
KB
-rw-r--r--
group.tar.gz
1.69
KB
-rw-r--r--
group.zip
10.62
KB
-rw-r--r--
header.php.php.tar.gz
989
B
-rw-r--r--
header.php.tar
4
KB
-rw-r--r--
headers.tar
153.5
KB
-rw-r--r--
headers.tar.gz
147.74
KB
-rw-r--r--
headers.zip
149.11
KB
-rw-r--r--
heading.php.php.tar.gz
700
B
-rw-r--r--
heading.php.tar
3
KB
-rw-r--r--
help.tar
8
KB
-rw-r--r--
help.tar.gz
1.14
KB
-rw-r--r--
help.zip
5.76
KB
-rw-r--r--
helpers.tar
14
KB
-rw-r--r--
helpers.tar.gz
2.92
KB
-rw-r--r--
hightlight.css.css.tar.gz
541
B
-rw-r--r--
hightlight.css.tar
2.5
KB
-rw-r--r--
hikashoppayment.tar
1.63
MB
-rw-r--r--
hikashoppayment.tar.gz
433.55
KB
-rw-r--r--
hikashoppayment.zip
1.45
MB
-rw-r--r--
home-link.tar
3
KB
-rw-r--r--
home-link.tar.gz
598
B
-rw-r--r--
home-link.zip
1.25
KB
-rw-r--r--
hover.css.css.tar.gz
4.2
KB
-rw-r--r--
hover.css.tar
47
KB
-rw-r--r--
htaccess.txt.tar
28.5
KB
-rw-r--r--
htaccess.txt.txt.tar.gz
1.53
KB
-rw-r--r--
html-api.tar
535.5
KB
-rw-r--r--
html-api.tar.gz
90.01
KB
-rw-r--r--
html-api.zip
526.46
KB
-rw-r--r--
html.png.png.tar.gz
5.08
KB
-rw-r--r--
html.png.tar
7
KB
-rw-r--r--
html.tar
33.5
KB
-rw-r--r--
html.tar.gz
966
B
-rw-r--r--
http.php.php.tar.gz
5.53
KB
-rw-r--r--
http.php.tar
52
KB
-rw-r--r--
http:.tar
82
KB
-rw-r--r--
http:.tar.gz
24.81
KB
-rw-r--r--
http:.zip
80.62
KB
-rw-r--r--
https-migration.php.php.tar.gz
1.65
KB
-rw-r--r--
https-migration.php.tar
12
KB
-rw-r--r--
https:.tar
82
KB
-rw-r--r--
https:.tar.gz
24.81
KB
-rw-r--r--
https:.zip
80.62
KB
-rw-r--r--
ibd.html.tar
1.5
KB
-rw-r--r--
icagenda.tar
14
KB
-rw-r--r--
icagenda.tar.gz
3.01
KB
-rw-r--r--
icon_fonts.tar
3.44
MB
-rw-r--r--
icon_fonts.tar.gz
1.48
MB
-rw-r--r--
icon_fonts.zip
3.43
MB
-rw-r--r--
ident.tar
1.84
MB
-rw-r--r--
ident.tar.gz
1.69
MB
-rw-r--r--
ident.zip
1.84
MB
-rw-r--r--
identification_qr_code_joe007....
426.41
KB
-rw-r--r--
identification_qr_code_joe007....
452.5
KB
-rw-r--r--
identification_qrcode_suly007....
425.82
KB
-rw-r--r--
identification_qrcode_suly007....
452
KB
-rw-r--r--
idna_convert.zip
142.7
KB
-rw-r--r--
image.php.php.tar.gz
4.05
KB
-rw-r--r--
image.php.tar
13.5
KB
-rw-r--r--
images.jfif.jfif.tar.gz
3.66
KB
-rw-r--r--
images.jfif.tar
5.5
KB
-rw-r--r--
images.tar
185.22
MB
-rw-r--r--
images.tar.gz
9.73
MB
-rw-r--r--
images.zip
204.64
MB
-rw-r--r--
img.tar
1.83
MB
-rw-r--r--
img.tar.gz
638.06
KB
-rw-r--r--
img.zip
1.77
MB
-rw-r--r--
import.php.php.tar.gz
2.68
KB
-rw-r--r--
import.php.tar
17.5
KB
-rw-r--r--
include-component.tar
342.5
KB
-rw-r--r--
include-component.tar.gz
319.18
KB
-rw-r--r--
includes.tar
2.8
MB
-rw-r--r--
includes.tar.gz
26.35
KB
-rw-r--r--
includes.zip
2.99
MB
-rw-r--r--
index-home.html.html.tar.gz
4.34
KB
-rw-r--r--
index-home.html.tar
22
KB
-rw-r--r--
index-slides.html.html.tar.gz
7.51
KB
-rw-r--r--
index-slides.html.tar
40.5
KB
-rw-r--r--
index-static.html.html.tar.gz
7.41
KB
-rw-r--r--
index-static.html.tar
40
KB
-rw-r--r--
index-text.html.html.tar.gz
6.78
KB
-rw-r--r--
index-text.html.tar
41.5
KB
-rw-r--r--
index.html.html.tar.gz
7.33
KB
-rw-r--r--
index.html.tar
99
KB
-rw-r--r--
index.jpg.jpg.tar.gz
11.13
KB
-rw-r--r--
index.jpg.tar
13
KB
-rw-r--r--
index.php.php.tar.gz
351
B
-rw-r--r--
index.php.tar
83.5
KB
-rw-r--r--
index.php0.php0.tar.gz
855
B
-rw-r--r--
index.php0.tar
3
KB
-rw-r--r--
index5.php.php.tar.gz
353
B
-rw-r--r--
index5.php.tar
2
KB
-rw-r--r--
indexFR.html.html.tar.gz
5.82
KB
-rw-r--r--
indexFR.html.tar
27.5
KB
-rw-r--r--
index_files.tar
1.22
MB
-rw-r--r--
index_files.tar.gz
838.85
KB
-rw-r--r--
index_files.zip
1.21
MB
-rw-r--r--
indexfr.html.html.tar.gz
6.01
KB
-rw-r--r--
indexfr.html.tar
29.5
KB
-rw-r--r--
indexx.html.html.tar.gz
2.01
KB
-rw-r--r--
indexx.html.tar
8
KB
-rw-r--r--
indexx.php.php.tar.gz
357
B
-rw-r--r--
indexx.php.tar
2
KB
-rw-r--r--
install-helper.php.php.tar.gz
1.97
KB
-rw-r--r--
install-helper.php.tar
37.5
KB
-rw-r--r--
install.html.html.tar.gz
160
B
-rw-r--r--
install.html.tar
2
KB
-rw-r--r--
install.php.php.tar.gz
5.21
KB
-rw-r--r--
install.php.tar
72.5
KB
-rw-r--r--
installer.tar
74
KB
-rw-r--r--
installer.tar.gz
14.3
KB
-rw-r--r--
installer.zip
70.91
KB
-rw-r--r--
interactivity-api.tar
57.5
KB
-rw-r--r--
interactivity-api.tar.gz
13.26
KB
-rw-r--r--
interactivity-api.zip
54.55
KB
-rw-r--r--
ion.rangeSlider.min.css.rangeS...
1.05
KB
-rw-r--r--
ion.rangeSlider.min.css.tar
5
KB
-rw-r--r--
ionicons.css.css.tar.gz
8.76
KB
-rw-r--r--
ionicons.css.tar
57.5
KB
-rw-r--r--
ionicons.eot.eot.tar.gz
67.46
KB
-rw-r--r--
ionicons.eot.tar
119.5
KB
-rw-r--r--
ionicons.min.css.min.css.tar.g...
8.19
KB
-rw-r--r--
ionicons.min.css.tar
52
KB
-rw-r--r--
ionicons.svg.svg.tar.gz
100.45
KB
-rw-r--r--
ionicons.svg.tar
328
KB
-rw-r--r--
ionicons.ttf.tar
186
KB
-rw-r--r--
ionicons.ttf.ttf.tar.gz
107.36
KB
-rw-r--r--
ionicons.woff.tar
68
KB
-rw-r--r--
ionicons.woff.woff.tar.gz
65.47
KB
-rw-r--r--
it_sanctum.tar
7.63
MB
-rw-r--r--
it_sanctum.tar.gz
3.36
MB
-rw-r--r--
it_sanctum.zip
7.36
MB
-rw-r--r--
java.png.png.tar.gz
4.57
KB
-rw-r--r--
java.png.tar
6
KB
-rw-r--r--
jce.tar
285
KB
-rw-r--r--
jce.tar.gz
258.77
KB
-rw-r--r--
jce.zip
263.86
KB
-rw-r--r--
jcrop.zip
24.83
KB
-rw-r--r--
joomla.png.png.tar.gz
10.05
KB
-rw-r--r--
joomla.png.tar
12
KB
-rw-r--r--
joomla.tar
2.09
MB
-rw-r--r--
joomla.tar.gz
34.7
KB
-rw-r--r--
joomla.zip
1.86
MB
-rw-r--r--
joomla_black.png.png.tar.gz
5.04
KB
-rw-r--r--
joomla_black.png.tar
6.5
KB
-rw-r--r--
jquery-1.10.2.js.10.2.js.tar.g...
79.27
KB
-rw-r--r--
jquery-1.10.2.js.tar
268.5
KB
-rw-r--r--
jquery-1.7.2.js.7.2.js.tar.gz
32.95
KB
-rw-r--r--
jquery-1.7.2.js.tar
94.5
KB
-rw-r--r--
jquery-3.1.1.min.js.1.1.min.js...
29.5
KB
-rw-r--r--
jquery-3.1.1.min.js.tar
86.5
KB
-rw-r--r--
jquery-3.3.1.min.js.3.1.min.js...
23.63
KB
-rw-r--r--
jquery-3.3.1.min.js.tar
70
KB
-rw-r--r--
jquery.prettyPhoto.js.prettyPh...
6.23
KB
-rw-r--r--
jquery.prettyPhoto.js.tar
37.5
KB
-rw-r--r--
jquery.quicksand.js.quicksand....
3.32
KB
-rw-r--r--
jquery.quicksand.js.tar
16
KB
-rw-r--r--
jquery.tar
1.31
MB
-rw-r--r--
jquery.tar.gz
354.74
KB
-rw-r--r--
js.png.png.tar.gz
5.12
KB
-rw-r--r--
js.png.tar
7
KB
-rw-r--r--
js.tar
28.98
MB
-rw-r--r--
js.tar.gz
88.56
KB
-rw-r--r--
js.zip
28.81
MB
-rw-r--r--
jui.tar
1.93
MB
-rw-r--r--
jui.tar.gz
608.39
KB
-rw-r--r--
jui.zip
1.86
MB
-rw-r--r--
jw_allvideos.tar
8.5
KB
-rw-r--r--
jw_allvideos.tar.gz
6.89
KB
-rw-r--r--
jw_allvideos.zip
6.93
KB
-rw-r--r--
k2.tar
19.06
MB
-rw-r--r--
k2.tar.gz
12.15
MB
-rw-r--r--
k2.zip
20.62
MB
-rw-r--r--
keychain.php.php.tar.gz
2.5
KB
-rw-r--r--
keychain.php.tar
10
KB
-rw-r--r--
keys.tar
83
KB
-rw-r--r--
keys.tar.gz
24.92
KB
-rw-r--r--
keys.zip
80.85
KB
-rw-r--r--
kses.php.php.tar.gz
15.21
KB
-rw-r--r--
kses.php.tar
137
KB
-rw-r--r--
l10n.php.php.tar.gz
10.36
KB
-rw-r--r--
l10n.php.tar
123
KB
-rw-r--r--
l10n.tar
35.5
KB
-rw-r--r--
l10n.tar.gz
6.3
KB
-rw-r--r--
l10n.zip
31.37
KB
-rw-r--r--
langmetadata.xml.tar
4
KB
-rw-r--r--
langmetadata.xml.xml.tar.gz
602
B
-rw-r--r--
language.tar
4.46
MB
-rw-r--r--
language.tar.gz
712.33
KB
-rw-r--r--
language.zip
901.86
KB
-rw-r--r--
languages.tar
45.74
MB
-rw-r--r--
languages.tar.gz
10.09
MB
-rw-r--r--
languages.zip
45.4
MB
-rw-r--r--
latest-posts.tar
18
KB
-rw-r--r--
latest-posts.tar.gz
1.95
KB
-rw-r--r--
latest-posts.zip
12.74
KB
-rw-r--r--
layerslider.tar
742.5
KB
-rw-r--r--
layerslider.tar.gz
377.05
KB
-rw-r--r--
layerslider.zip
702.11
KB
-rw-r--r--
layouts.tar
576
KB
-rw-r--r--
layouts.tar.gz
64.14
KB
-rw-r--r--
layouts.zip
472.05
KB
-rw-r--r--
libraries.tar
65.01
MB
-rw-r--r--
libraries.tar.gz
3.69
MB
-rw-r--r--
libraries.zip
65.53
MB
-rw-r--r--
library.tar
2
KB
-rw-r--r--
library.tar.gz
263
B
-rw-r--r--
license.txt.tar
241
KB
-rw-r--r--
license.txt.txt.tar.gz
7.23
KB
-rw-r--r--
link-add.php.php.tar.gz
590
B
-rw-r--r--
link-add.php.tar
2.5
KB
-rw-r--r--
link-manager.php.php.tar.gz
1.88
KB
-rw-r--r--
link-manager.php.tar
6
KB
-rw-r--r--
link-parse-opml.php.php.tar.gz
1.09
KB
-rw-r--r--
link-parse-opml.php.tar
4.5
KB
-rw-r--r--
link-template.php.php.tar.gz
25.97
KB
-rw-r--r--
link-template.php.tar
154
KB
-rw-r--r--
link.php.php.tar.gz
1.15
KB
-rw-r--r--
link.php.tar
4.5
KB
-rw-r--r--
list.php.php.tar.gz
699
B
-rw-r--r--
list.php.tar
3
KB
-rw-r--r--
load-scripts.php.php.tar.gz
939
B
-rw-r--r--
load-scripts.php.tar
6.5
KB
-rw-r--r--
load-styles.php.php.tar.gz
1.14
KB
-rw-r--r--
load-styles.php.tar
8
KB
-rw-r--r--
load.php.php.tar.gz
14.85
KB
-rw-r--r--
load.php.tar
56
KB
-rw-r--r--
loader.gif.gif.tar.gz
2.23
KB
-rw-r--r--
loader.gif.tar
4
KB
-rw-r--r--
loader.php.php.tar.gz
5.63
KB
-rw-r--r--
loader.php.tar
24
KB
-rw-r--r--
locale.php.php.tar.gz
245
B
-rw-r--r--
locale.php.tar
4
KB
-rw-r--r--
location.pdf.pdf.tar.gz
475.03
KB
-rw-r--r--
location.pdf.tar
495
KB
-rw-r--r--
log.tar
82
KB
-rw-r--r--
log.tar.gz
24.81
KB
-rw-r--r--
log.zip
80.62
KB
-rw-r--r--
login.tar
101.44
MB
-rw-r--r--
login.tar.gz
45.21
MB
-rw-r--r--
login.zip
96.15
MB
-rw-r--r--
loginout.zip
1.15
KB
-rw-r--r--
logo ala maze.ai.ai.tar.gz
1.36
MB
-rw-r--r--
logo ala maze.ai.tar
1.42
MB
-rw-r--r--
logo-white.png.png.tar.gz
4.59
KB
-rw-r--r--
logo-white.png.tar
6
KB
-rw-r--r--
logo.png.png.tar.gz
92.76
KB
-rw-r--r--
logo.png.tar
211.5
KB
-rw-r--r--
logo.tar
497
KB
-rw-r--r--
logo.tar.gz
96
B
-rw-r--r--
logo.zip
493.46
KB
-rw-r--r--
logo2.png.png.tar.gz
3.13
KB
-rw-r--r--
logo2.png.tar
4.5
KB
-rw-r--r--
logo_2x.png.png.tar.gz
1.9
KB
-rw-r--r--
logo_2x.png.tar
3.5
KB
-rw-r--r--
logo_sticky.png.png.tar.gz
1.24
KB
-rw-r--r--
logo_sticky.png.tar
3
KB
-rw-r--r--
logoindex2.png.png.tar.gz
3.89
KB
-rw-r--r--
logoindex2.png.tar
10
KB
-rw-r--r--
logos.tar
1.5
KB
-rw-r--r--
logos.tar.gz
97
B
-rw-r--r--
logowhite.png.png.tar.gz
3.98
KB
-rw-r--r--
logowhite.png.tar
6
KB
-rw-r--r--
logrotation.zip
8.03
KB
-rw-r--r--
logs.tar
117.5
KB
-rw-r--r--
logs.tar.gz
25.54
KB
-rw-r--r--
logs.zip
353.88
KB
-rw-r--r--
magento.png.png.tar.gz
50.73
KB
-rw-r--r--
magento.png.tar
60.5
KB
-rw-r--r--
mailto.tar
2
KB
-rw-r--r--
mailto.tar.gz
208
B
-rw-r--r--
mailto.zip
284
B
-rw-r--r--
main-banner_old2.jpg.jpg.tar.g...
61.7
KB
-rw-r--r--
main-banner_old2.jpg.tar
95.5
KB
-rw-r--r--
main.css.css.tar.gz
2.27
KB
-rw-r--r--
main.css.tar
10.5
KB
-rw-r--r--
main.js.js.tar.gz
1.83
KB
-rw-r--r--
main.js.tar
7
KB
-rw-r--r--
main.min.css.min.css.tar.gz
1.97
KB
-rw-r--r--
main.min.css.tar
8
KB
-rw-r--r--
main.min.js.min.js.tar.gz
1.66
KB
-rw-r--r--
main.min.js.tar
6
KB
-rw-r--r--
maint.tar
9
KB
-rw-r--r--
maint.tar.gz
2.66
KB
-rw-r--r--
maint.zip
7.56
KB
-rw-r--r--
manifest.json.json.tar.gz
294
B
-rw-r--r--
manifest.json.tar
2.5
KB
-rw-r--r--
mapmarker_func.jquery.js.jquer...
317
B
-rw-r--r--
mapmarker_func.jquery.js.tar
2
KB
-rw-r--r--
maps.tar
79.5
KB
-rw-r--r--
maps.tar.gz
19.9
KB
-rw-r--r--
maps.zip
77.71
KB
-rw-r--r--
media-audiovideo.js.js.tar.gz
6.02
KB
-rw-r--r--
media-audiovideo.js.tar
28.5
KB
-rw-r--r--
media-button-2x.png.png.tar.gz
1007
B
-rw-r--r--
media-button-2x.png.tar
2.5
KB
-rw-r--r--
media-button-image.gif.gif.tar...
325
B
-rw-r--r--
media-button-image.gif.tar
2
KB
-rw-r--r--
media-button-other.gif.gif.tar...
409
B
-rw-r--r--
media-button-other.gif.tar
2
KB
-rw-r--r--
media-button.png.png.tar.gz
475
B
-rw-r--r--
media-button.png.tar
2
KB
-rw-r--r--
media-new.php.php.tar.gz
1.57
KB
-rw-r--r--
media-new.php.tar
9
KB
-rw-r--r--
media-template.php.php.tar.gz
11.15
KB
-rw-r--r--
media-template.php.tar
184.5
KB
-rw-r--r--
media-text.tar
22
KB
-rw-r--r--
media-text.tar.gz
2.2
KB
-rw-r--r--
media-text.zip
15.34
KB
-rw-r--r--
media-upload.php.php.tar.gz
1.46
KB
-rw-r--r--
media-upload.php.tar
13
KB
-rw-r--r--
media.php.php.tar.gz
36.43
KB
-rw-r--r--
media.php.tar
368.5
KB
-rw-r--r--
media.tar
76.18
MB
-rw-r--r--
media.tar.gz
16.27
MB
-rw-r--r--
media.zip
69.29
MB
-rw-r--r--
mediaelement.tar
2.19
MB
-rw-r--r--
mediaelement.tar.gz
154.85
KB
-rw-r--r--
mediaelement.zip
2.17
MB
-rw-r--r--
member.jpg.jpg.tar.gz
8.99
KB
-rw-r--r--
member.jpg.tar
11
KB
-rw-r--r--
menu-header.php.php.tar.gz
2.89
KB
-rw-r--r--
menu-header.php.tar
11.5
KB
-rw-r--r--
menu.php.php.tar.gz
4.47
KB
-rw-r--r--
menu.php.tar
18.5
KB
-rw-r--r--
menu.tar
5.5
KB
-rw-r--r--
menu.tar.gz
1.26
KB
-rw-r--r--
meta-boxes.php.php.tar.gz
12.82
KB
-rw-r--r--
meta-boxes.php.tar
185.5
KB
-rw-r--r--
meta.php.php.tar.gz
9.97
KB
-rw-r--r--
meta.php.tar
290
KB
-rw-r--r--
metismenujs.tar
77
KB
-rw-r--r--
metismenujs.tar.gz
16.01
KB
-rw-r--r--
middletv.tar
17.4
MB
-rw-r--r--
middletv.tar.gz
9.32
MB
-rw-r--r--
middletv.zip
17.23
MB
-rw-r--r--
missing.tar
2.5
KB
-rw-r--r--
missing.tar.gz
396
B
-rw-r--r--
mod_acymailing.zip
60.47
KB
-rw-r--r--
mod_articles_latest.tar
13
KB
-rw-r--r--
mod_articles_latest.tar.gz
2.95
KB
-rw-r--r--
mod_articles_latest.zip
9.55
KB
-rw-r--r--
mod_articles_news.tar
23.5
KB
-rw-r--r--
mod_articles_news.tar.gz
4.22
KB
-rw-r--r--
mod_articles_popular.zip
9.37
KB
-rw-r--r--
mod_breadcrumbs.tar
13
KB
-rw-r--r--
mod_breadcrumbs.tar.gz
2.95
KB
-rw-r--r--
mod_breadcrumbs.zip
9.32
KB
-rw-r--r--
mod_custom.tar
7
KB
-rw-r--r--
mod_custom.tar.gz
1.57
KB
-rw-r--r--
mod_custom.zip
4.06
KB
-rw-r--r--
mod_falang.tar
50.5
KB
-rw-r--r--
mod_falang.tar.gz
9.35
KB
-rw-r--r--
mod_falang.zip
44.2
KB
-rw-r--r--
mod_feed.zip
10.14
KB
-rw-r--r--
mod_finder.tar
18
KB
-rw-r--r--
mod_finder.tar.gz
4.23
KB
-rw-r--r--
mod_hikashop_filter.tar
15
KB
-rw-r--r--
mod_hikashop_filter.tar.gz
2.09
KB
-rw-r--r--
mod_k2_tools.tar
88
KB
-rw-r--r--
mod_k2_tools.tar.gz
13.73
KB
-rw-r--r--
mod_k2_tools.zip
79.47
KB
-rw-r--r--
mod_languages.tar
18.5
KB
-rw-r--r--
mod_languages.tar.gz
3.59
KB
-rw-r--r--
mod_languages.zip
14.83
KB
-rw-r--r--
mod_multilangstatus.tar
8
KB
-rw-r--r--
mod_multilangstatus.tar.gz
1.17
KB
-rw-r--r--
mod_privacy_dashboard.tar
10.5
KB
-rw-r--r--
mod_privacy_dashboard.tar.gz
2.18
KB
-rw-r--r--
mod_privacy_dashboard.zip
6.72
KB
-rw-r--r--
mod_related_items.zip
8.91
KB
-rw-r--r--
mod_search.tar
13
KB
-rw-r--r--
mod_search.tar.gz
2.86
KB
-rw-r--r--
mod_search.zip
9.7
KB
-rw-r--r--
mod_spsimpleportfolio.tar
25.5
KB
-rw-r--r--
mod_spsimpleportfolio.tar.gz
5.22
KB
-rw-r--r--
mod_sr_currency.tar
30.5
KB
-rw-r--r--
mod_sr_currency.tar.gz
3.72
KB
-rw-r--r--
mod_stats.tar
16.5
KB
-rw-r--r--
mod_stats.tar.gz
2.36
KB
-rw-r--r--
mod_stats.zip
12.43
KB
-rw-r--r--
mod_submenu.tar
7
KB
-rw-r--r--
mod_submenu.tar.gz
1.56
KB
-rw-r--r--
mod_syndicate.tar
8.5
KB
-rw-r--r--
mod_syndicate.tar.gz
1.77
KB
-rw-r--r--
mod_syndicate.zip
5.02
KB
-rw-r--r--
mod_tags_popular.zip
13.4
KB
-rw-r--r--
mod_tags_similar.tar
14
KB
-rw-r--r--
mod_tags_similar.tar.gz
3.23
KB
-rw-r--r--
mod_tags_similar.zip
11.02
KB
-rw-r--r--
mod_users_latest.tar
9
KB
-rw-r--r--
mod_users_latest.tar.gz
2.01
KB
-rw-r--r--
mod_users_latest.zip
5.81
KB
-rw-r--r--
mod_wrapper.tar
11
KB
-rw-r--r--
mod_wrapper.tar.gz
2.21
KB
-rw-r--r--
mod_wrapper.zip
7.83
KB
-rw-r--r--
modal.zip
17.12
KB
-rw-r--r--
models.tar
6.5
KB
-rw-r--r--
models.tar.gz
1.57
KB
-rw-r--r--
moderation.php.php.tar.gz
303
B
-rw-r--r--
moderation.php.tar
2
KB
-rw-r--r--
modules.tar
2.56
MB
-rw-r--r--
modules.tar.gz
87.17
KB
-rw-r--r--
modules.zip
3.04
MB
-rw-r--r--
more.zip
4.38
KB
-rw-r--r--
ms-admin.php.php.tar.gz
263
B
-rw-r--r--
ms-admin.php.tar
2
KB
-rw-r--r--
ms-blogs.php.php.tar.gz
6.12
KB
-rw-r--r--
ms-blogs.php.tar
27
KB
-rw-r--r--
ms-default-constants.php.php.t...
1.66
KB
-rw-r--r--
ms-default-constants.php.tar
23
KB
-rw-r--r--
ms-default-filters.php.php.tar...
1.8
KB
-rw-r--r--
ms-default-filters.php.tar
27.5
KB
-rw-r--r--
ms-delete-site.php.php.tar.gz
1.87
KB
-rw-r--r--
ms-delete-site.php.tar
11
KB
-rw-r--r--
ms-deprecated.php.php.tar.gz
6.25
KB
-rw-r--r--
ms-deprecated.php.tar
23
KB
-rw-r--r--
ms-edit.php.php.tar.gz
280
B
-rw-r--r--
ms-edit.php.tar
3
KB
-rw-r--r--
ms-files.php.php.tar.gz
1.22
KB
-rw-r--r--
ms-files.php.tar
8
KB
-rw-r--r--
ms-functions.php.php.tar.gz
19.22
KB
-rw-r--r--
ms-functions.php.tar
91
KB
-rw-r--r--
ms-icon-144x144.png.png.tar.gz
14.3
KB
-rw-r--r--
ms-icon-144x144.png.tar
16
KB
-rw-r--r--
ms-icon-150x150.png.png.tar.gz
14.94
KB
-rw-r--r--
ms-icon-150x150.png.tar
16.5
KB
-rw-r--r--
ms-icon-310x310.png.png.tar.gz
43.67
KB
-rw-r--r--
ms-icon-310x310.png.tar
45.5
KB
-rw-r--r--
ms-icon-70x70.png.png.tar.gz
5.71
KB
-rw-r--r--
ms-icon-70x70.png.tar
7.5
KB
-rw-r--r--
ms-load.php.php.tar.gz
6.03
KB
-rw-r--r--
ms-load.php.tar
40.5
KB
-rw-r--r--
ms-network.php.php.tar.gz
1.47
KB
-rw-r--r--
ms-network.php.tar
10
KB
-rw-r--r--
ms-options.php.php.tar.gz
282
B
-rw-r--r--
ms-options.php.tar
2
KB
-rw-r--r--
ms-settings.php.php.tar.gz
1.62
KB
-rw-r--r--
ms-settings.php.tar
11
KB
-rw-r--r--
ms-site.php.php.tar.gz
9.44
KB
-rw-r--r--
ms-site.php.tar
41
KB
-rw-r--r--
ms-sites.php.php.tar.gz
273
B
-rw-r--r--
ms-sites.php.tar
3
KB
-rw-r--r--
ms-upgrade-network.php.php.tar...
281
B
-rw-r--r--
ms-upgrade-network.php.tar
2
KB
-rw-r--r--
ms-users.php.php.tar.gz
274
B
-rw-r--r--
ms-users.php.tar
3
KB
-rw-r--r--
mu-plugins.tar
2.5
KB
-rw-r--r--
mu-plugins.tar.gz
393
B
-rw-r--r--
mu-plugins.zip
791
B
-rw-r--r--
my-music.online.tar
636.9
MB
-rw-r--r--
my-music.online.tar.gz
20
B
-rw-r--r--
my-sites.php.php.tar.gz
2.04
KB
-rw-r--r--
my-sites.php.tar
6.5
KB
-rw-r--r--
mymusicpromo-online.zip
53.39
MB
-rw-r--r--
mysql.png.png.tar.gz
4.7
KB
-rw-r--r--
mysql.png.tar
7
KB
-rw-r--r--
nav-menu-template.php.php.tar....
6.24
KB
-rw-r--r--
nav-menu-template.php.tar
76.5
KB
-rw-r--r--
nav-menu.php.php.tar.gz
9.58
KB
-rw-r--r--
nav-menu.php.tar
45
KB
-rw-r--r--
nav-menus.php.php.tar.gz
10.56
KB
-rw-r--r--
nav-menus.php.tar
50
KB
-rw-r--r--
navigation-link.tar
19.5
KB
-rw-r--r--
navigation-link.tar.gz
1.97
KB
-rw-r--r--
navigation-submenu.zip
9.26
KB
-rw-r--r--
navigation.zip
131.13
KB
-rw-r--r--
network.php.php.tar.gz
2.23
KB
-rw-r--r--
network.php.tar
7
KB
-rw-r--r--
network.tar
145.5
KB
-rw-r--r--
network.tar.gz
27.6
KB
-rw-r--r--
network.zip
127.06
KB
-rw-r--r--
networks.php.php.tar.gz
1.07
KB
-rw-r--r--
networks.php.tar
3.5
KB
-rw-r--r--
newsletter.php.php.tar.gz
1.39
KB
-rw-r--r--
newsletter.php.tar
4
KB
-rw-r--r--
nl-NL.tar
354.5
KB
-rw-r--r--
nl-NL.tar.gz
79.1
KB
-rw-r--r--
nl-NL.zip
304
KB
-rw-r--r--
node.png.png.tar.gz
51.8
KB
-rw-r--r--
node.png.tar
57.5
KB
-rw-r--r--
node2.png.png.tar.gz
26.86
KB
-rw-r--r--
node2.png.tar
32
KB
-rw-r--r--
odfiafrica.jpg.jpg.tar.gz
384.95
KB
-rw-r--r--
odfiafrica.jpg.tar
417
KB
-rw-r--r--
onepage-slider.html.html.tar.g...
6.99
KB
-rw-r--r--
onepage-slider.html.tar
42.5
KB
-rw-r--r--
onepage-text.html.html.tar.gz
6.9
KB
-rw-r--r--
onepage-text.html.tar
42
KB
-rw-r--r--
option.php.php.tar.gz
13.11
KB
-rw-r--r--
option.php.tar
532.5
KB
-rw-r--r--
options-discussion.php.php.tar...
4.27
KB
-rw-r--r--
options-discussion.php.tar
82
KB
-rw-r--r--
options-general.php.php.tar.gz
6.41
KB
-rw-r--r--
options-general.php.tar
83
KB
-rw-r--r--
options-head.php.php.tar.gz
464
B
-rw-r--r--
options-head.php.tar
2.5
KB
-rw-r--r--
options-permalink.php.php.tar....
5.59
KB
-rw-r--r--
options-permalink.php.tar
88.5
KB
-rw-r--r--
options-privacy.php.php.tar.gz
2.71
KB
-rw-r--r--
options-privacy.php.tar
41
KB
-rw-r--r--
options-reading.php.php.tar.gz
3.1
KB
-rw-r--r--
options-reading.php.tar
12
KB
-rw-r--r--
options-writing.php.php.tar.gz
3.05
KB
-rw-r--r--
options-writing.php.tar
21
KB
-rw-r--r--
options.php.php.tar.gz
4.51
KB
-rw-r--r--
options.php.tar
56.5
KB
-rw-r--r--
overrider.tar
12.5
KB
-rw-r--r--
overrider.tar.gz
2.86
KB
-rw-r--r--
overrider.zip
9.83
KB
-rw-r--r--
overrides.tar
3
KB
-rw-r--r--
overrides.tar.gz
269
B
-rw-r--r--
overrides.zip
512
B
-rw-r--r--
owl.carousel.js.carousel.js.ta...
17.24
KB
-rw-r--r--
owl.carousel.js.tar
79
KB
-rw-r--r--
owl.carousel.min.js.carousel.m...
10.39
KB
-rw-r--r--
owl.carousel.min.js.tar
89
KB
-rw-r--r--
p1.jpg.jpg.tar.gz
237.02
KB
-rw-r--r--
p1.jpg.tar
243.5
KB
-rw-r--r--
p2.jpg.jpg.tar.gz
283.15
KB
-rw-r--r--
p2.jpg.tar
285
KB
-rw-r--r--
p3.jpg.jpg.tar.gz
287.59
KB
-rw-r--r--
p3.jpg.tar
289.5
KB
-rw-r--r--
p4.jpg.jpg.tar.gz
394.73
KB
-rw-r--r--
p4.jpg.tar
396.5
KB
-rw-r--r--
p5.jpg.jpg.tar.gz
177.65
KB
-rw-r--r--
p5.jpg.tar
181
KB
-rw-r--r--
p6.jpg.jpg.tar.gz
601.57
KB
-rw-r--r--
p6.jpg.tar
603
KB
-rw-r--r--
packageinstaller.zip
11.38
KB
-rw-r--r--
page-list-item.tar
3
KB
-rw-r--r--
page-list-item.tar.gz
576
B
-rw-r--r--
page-list.tar
15
KB
-rw-r--r--
page-list.tar.gz
1.39
KB
-rw-r--r--
pagebuilder.tar
6.09
MB
-rw-r--r--
pagebuilder.tar.gz
5.84
MB
-rw-r--r--
paralax-index1_old.jpg.jpg.tar...
794.32
KB
-rw-r--r--
paralax-index1_old.jpg.tar
807.5
KB
-rw-r--r--
particles.min.js.min.js.tar.gz
5.91
KB
-rw-r--r--
particles.min.js.tar
24.5
KB
-rw-r--r--
pattern.png.png.tar.gz
2.75
KB
-rw-r--r--
pattern.png.tar
4.5
KB
-rw-r--r--
pattern.svg.svg.tar.gz
17.24
KB
-rw-r--r--
pattern.svg.tar
53
KB
-rw-r--r--
pattern.zip
478
B
-rw-r--r--
payeer_1314567119.txt.tar
2
KB
-rw-r--r--
payeer_1314567119.txt.txt.tar....
128
B
-rw-r--r--
payments.png.png.tar.gz
10.04
KB
-rw-r--r--
payments.png.tar
11.5
KB
-rw-r--r--
payments_2x.png.png.tar.gz
31.26
KB
-rw-r--r--
payments_2x.png.tar
33
KB
-rw-r--r--
paypal_bt.png.png.tar.gz
13.5
KB
-rw-r--r--
paypal_bt.png.tar
15
KB
-rw-r--r--
paypaladvanced_2_6279148dd013c...
334
B
-rw-r--r--
paypaladvanced_2_6279148dd013c...
2.5
KB
-rw-r--r--
paypaladvanced_cancel_2.php.ph...
316
B
-rw-r--r--
paypaladvanced_cancel_2.php.ta...
2.5
KB
-rw-r--r--
paypaladvanced_return_2.php.ph...
316
B
-rw-r--r--
paypaladvanced_return_2.php.ta...
2.5
KB
-rw-r--r--
php-compat.tar
3
KB
-rw-r--r--
php-compat.tar.gz
649
B
-rw-r--r--
php-compat.zip
1.38
KB
-rw-r--r--
php-encryption.tar
26
KB
-rw-r--r--
php-encryption.tar.gz
6.52
KB
-rw-r--r--
php-encryption.zip
24.3
KB
-rw-r--r--
php.ini.ini.tar.gz
244
B
-rw-r--r--
php.ini.tar
3
KB
-rw-r--r--
php.png.png.tar.gz
4.91
KB
-rw-r--r--
php.png.tar
6.5
KB
-rw-r--r--
php_mail.log.log.tar.gz
6.45
KB
-rw-r--r--
php_mail.log.tar
100.5
KB
-rw-r--r--
pickapp.tar
83.5
KB
-rw-r--r--
pickapp.tar.gz
25.16
KB
-rw-r--r--
plg_installer_webinstaller.tar
34.5
KB
-rw-r--r--
plg_installer_webinstaller.tar...
6.53
KB
-rw-r--r--
plg_installer_webinstaller.zip
31.15
KB
-rw-r--r--
plg_media-action_crop.tar
19
KB
-rw-r--r--
plg_media-action_crop.tar.gz
4.14
KB
-rw-r--r--
plg_media-action_crop.zip
14.32
KB
-rw-r--r--
plg_media-action_resize.tar
15
KB
-rw-r--r--
plg_media-action_resize.tar.gz
3.31
KB
-rw-r--r--
plg_media-action_resize.zip
10.3
KB
-rw-r--r--
plg_media-action_rotate.tar
17
KB
-rw-r--r--
plg_media-action_rotate.tar.gz
3.98
KB
-rw-r--r--
plg_media-action_rotate.zip
12.17
KB
-rw-r--r--
plg_quickicon_extensionupdate....
3.5
KB
-rw-r--r--
plg_quickicon_extensionupdate....
791
B
-rw-r--r--
plg_quickicon_extensionupdate....
7.69
KB
-rw-r--r--
plg_quickicon_joomlaupdate.tar
4
KB
-rw-r--r--
plg_quickicon_joomlaupdate.tar...
890
B
-rw-r--r--
plg_quickicon_privacycheck.tar
3.5
KB
-rw-r--r--
plg_quickicon_privacycheck.tar...
860
B
-rw-r--r--
plg_quickicon_privacycheck.zip
2.12
KB
-rw-r--r--
plg_solidres_limitbooking.tar
6
KB
-rw-r--r--
plg_solidres_limitbooking.tar....
1.18
KB
-rw-r--r--
plg_system_highlight.tar
2
KB
-rw-r--r--
plg_system_highlight.tar.gz
166
B
-rw-r--r--
plg_system_highlight.zip
241
B
-rw-r--r--
plg_system_stats.tar
4
KB
-rw-r--r--
plg_system_stats.tar.gz
841
B
-rw-r--r--
plg_system_stats.zip
2.31
KB
-rw-r--r--
plg_twofactorauth_totp.tar
117
KB
-rw-r--r--
plg_twofactorauth_totp.tar.gz
49.11
KB
-rw-r--r--
plg_twofactorauth_totp.zip
113.39
KB
-rw-r--r--
pluggable-deprecated.php.php.t...
1.97
KB
-rw-r--r--
pluggable-deprecated.php.tar
8
KB
-rw-r--r--
pluggable.php.php.tar.gz
23.38
KB
-rw-r--r--
pluggable.php.tar
213
KB
-rw-r--r--
plugin-editor.php.php.tar.gz
4.7
KB
-rw-r--r--
plugin-editor.php.tar
15
KB
-rw-r--r--
plugin-install.php.php.tar.gz
2.64
KB
-rw-r--r--
plugin-install.php.tar
30
KB
-rw-r--r--
plugin.php.php.tar.gz
7.14
KB
-rw-r--r--
plugin.php.tar
36.5
KB
-rw-r--r--
plugin.tar
366
KB
-rw-r--r--
plugin.tar.gz
90.03
KB
-rw-r--r--
plugins.php.php.tar.gz
1.08
KB
-rw-r--r--
plugins.php.tar
86
KB
-rw-r--r--
plugins.tar
239.95
MB
-rw-r--r--
plugins.tar.gz
1.59
MB
-rw-r--r--
plugins.zip
715.26
MB
-rw-r--r--
plugins1.tar
9.22
MB
-rw-r--r--
plugins1.tar.gz
4.62
MB
-rw-r--r--
plugins1.zip
9.2
MB
-rw-r--r--
plupload.tar
486.5
KB
-rw-r--r--
plupload.tar.gz
134.75
KB
-rw-r--r--
pomo.tar
59
KB
-rw-r--r--
pomo.tar.gz
11.77
KB
-rw-r--r--
pomo.zip
54
KB
-rw-r--r--
popper.min.js.min.js.tar.gz
7.4
KB
-rw-r--r--
popper.min.js.tar
22.5
KB
-rw-r--r--
popup_img.jpg.jpg.tar.gz
17.31
KB
-rw-r--r--
popup_img.jpg.tar
19
KB
-rw-r--r--
portfolio.html.html.tar.gz
3.03
KB
-rw-r--r--
portfolio.html.tar
17.5
KB
-rw-r--r--
post-comments-form.zip
10.75
KB
-rw-r--r--
post-content.zip
2.05
KB
-rw-r--r--
post-excerpt.php.php.tar.gz
1.45
KB
-rw-r--r--
post-excerpt.php.tar
5
KB
-rw-r--r--
post-excerpt.tar
11
KB
-rw-r--r--
post-excerpt.tar.gz
919
B
-rw-r--r--
post-formats.php.php.tar.gz
1.97
KB
-rw-r--r--
post-formats.php.tar
16
KB
-rw-r--r--
post-new.php.php.tar.gz
1.13
KB
-rw-r--r--
post-new.php.tar
15
KB
-rw-r--r--
post-template.php.php.tar.gz
15.54
KB
-rw-r--r--
post-template.php.tar
67
KB
-rw-r--r--
post-template.tar
16
KB
-rw-r--r--
post-template.tar.gz
1.44
KB
-rw-r--r--
post-template.zip
9.12
KB
-rw-r--r--
post-thumbnail-template.php.ph...
2.5
KB
-rw-r--r--
post-thumbnail-template.php.ta...
33.5
KB
-rw-r--r--
post.php.php.tar.gz
3.01
KB
-rw-r--r--
post.php.tar
1.12
MB
-rw-r--r--
postnews.php.php.tar.gz
2.34
KB
-rw-r--r--
postnews.php.tar
4
KB
-rw-r--r--
posts.tar
1.41
MB
-rw-r--r--
posts.tar.gz
1.36
MB
-rw-r--r--
posts.zip
1.4
MB
-rw-r--r--
powered_by.png.png.tar.gz
2.3
KB
-rw-r--r--
powered_by.png.tar
8
KB
-rw-r--r--
premium-addons-elementor.tar
69.5
KB
-rw-r--r--
premium-addons-elementor.tar.g...
8.32
KB
-rw-r--r--
premium-addons-elementor.zip
90.58
KB
-rw-r--r--
press-this.php.php.tar.gz
1.07
KB
-rw-r--r--
press-this.php.tar
7
KB
-rw-r--r--
prestashop.png.png.tar.gz
9.5
KB
-rw-r--r--
prestashop.png.tar
11
KB
-rw-r--r--
prev-blue.png.png.tar.gz
3.8
KB
-rw-r--r--
prev-blue.png.tar
5.5
KB
-rw-r--r--
prev-dark.png.png.tar.gz
3.78
KB
-rw-r--r--
prev-dark.png.tar
5.5
KB
-rw-r--r--
prev-green.png.png.tar.gz
3.88
KB
-rw-r--r--
prev-green.png.tar
5.5
KB
-rw-r--r--
prev-orange.png.png.tar.gz
3.87
KB
-rw-r--r--
prev-orange.png.tar
5.5
KB
-rw-r--r--
prev.png.png.tar.gz
3.88
KB
-rw-r--r--
prev.png.tar
10
KB
-rw-r--r--
preview.html.html.tar.gz
1.56
KB
-rw-r--r--
preview.html.tar
8.5
KB
-rw-r--r--
pricing.html.html.tar.gz
3.05
KB
-rw-r--r--
pricing.html.tar
14.5
KB
-rw-r--r--
privacy-policy-guide.php.php.t...
1.52
KB
-rw-r--r--
privacy-policy-guide.php.tar
19
KB
-rw-r--r--
privacy.php.php.tar.gz
1.12
KB
-rw-r--r--
privacy.php.tar
14.5
KB
-rw-r--r--
privacy.tar
62
KB
-rw-r--r--
privacy.tar.gz
7.92
KB
-rw-r--r--
privacy.zip
49.12
KB
-rw-r--r--
privacyconsent.tar
32
KB
-rw-r--r--
privacyconsent.tar.gz
7.52
KB
-rw-r--r--
privacyconsent.zip
28.66
KB
-rw-r--r--
product_edit_dimensions.php.ph...
1.11
KB
-rw-r--r--
product_edit_dimensions.php.ta...
5
KB
-rw-r--r--
profile.php.php.tar.gz
314
B
-rw-r--r--
profile.php.tar
4
KB
-rw-r--r--
promo_bg.jpg.jpg.tar.gz
7.8
KB
-rw-r--r--
promo_bg.jpg.tar
19
KB
-rw-r--r--
promotions.tar
16
KB
-rw-r--r--
promotions.tar.gz
2.24
KB
-rw-r--r--
promotions.zip
10.77
KB
-rw-r--r--
protostar.tar
430.5
KB
-rw-r--r--
protostar.tar.gz
213.28
KB
-rw-r--r--
protostar.zip
408.12
KB
-rw-r--r--
providers.zip
17.7
KB
-rw-r--r--
ptitsanes.jpg.jpg.tar.gz
207.01
KB
-rw-r--r--
ptitsanes.jpg.tar
234.5
KB
-rw-r--r--
ptitsanes.png.png.tar.gz
1.09
MB
-rw-r--r--
ptitsanes.png.tar
1.11
MB
-rw-r--r--
pullquote.tar
19.5
KB
-rw-r--r--
pullquote.tar.gz
1.48
KB
-rw-r--r--
pullquote.zip
18.03
KB
-rw-r--r--
pwnkit
0
B
-rwxr-xr-x
python.png.png.tar.gz
9.74
KB
-rw-r--r--
python.png.tar
12
KB
-rw-r--r--
q1.php.php.tar.gz
740
B
-rw-r--r--
q1.php.tar
8
KB
-rw-r--r--
qlf.txt.tar
2
KB
-rw-r--r--
qlf.txt.txt.tar.gz
120
B
-rw-r--r--
quaadra.tar
3.29
MB
-rw-r--r--
quaadra.tar.gz
2.6
MB
-rw-r--r--
query-no-results.tar
2.5
KB
-rw-r--r--
query-no-results.tar.gz
500
B
-rw-r--r--
query-pagination-next.zip
1.17
KB
-rw-r--r--
query.php.php.tar.gz
4.82
KB
-rw-r--r--
query.php.tar
183.5
KB
-rw-r--r--
query.zip
14.91
KB
-rw-r--r--
quickicon.tar
87
KB
-rw-r--r--
quickicon.tar.gz
10.07
KB
-rw-r--r--
quickicon.zip
69.9
KB
-rw-r--r--
quote.zip
7.6
KB
-rw-r--r--
readme.html.html.tar.gz
3.03
KB
-rw-r--r--
readme.html.tar
28
KB
-rw-r--r--
readme.txt.tar
6.5
KB
-rw-r--r--
readme.txt.txt.tar.gz
2.08
KB
-rw-r--r--
realex_hpp_api.tar
271.5
KB
-rw-r--r--
realex_hpp_api.tar.gz
53.14
KB
-rw-r--r--
registration-functions.php.php...
273
B
-rw-r--r--
registration-functions.php.tar
3
KB
-rw-r--r--
registration.php.php.tar.gz
266
B
-rw-r--r--
registration.php.tar
3
KB
-rw-r--r--
remember.tar
7.5
KB
-rw-r--r--
remember.tar.gz
1.93
KB
-rw-r--r--
remember.zip
4.68
KB
-rw-r--r--
rest-api.php.php.tar.gz
20.51
KB
-rw-r--r--
rest-api.php.tar
98
KB
-rw-r--r--
rest-api.tar
997
KB
-rw-r--r--
rest-api.tar.gz
168.1
KB
-rw-r--r--
rest-api.zip
965.07
KB
-rw-r--r--
retina-replace.js.js.tar.gz
1.39
KB
-rw-r--r--
retina-replace.js.tar
5
KB
-rw-r--r--
retina-replace.min.js.min.js.t...
1.08
KB
-rw-r--r--
retina-replace.min.js.tar
4
KB
-rw-r--r--
revision.php.php.tar.gz
2.11
KB
-rw-r--r--
revision.php.tar
38.5
KB
-rw-r--r--
rewrite.php.php.tar.gz
5.84
KB
-rw-r--r--
rewrite.php.tar
21
KB
-rw-r--r--
ribbon.png.png.tar.gz
12.26
KB
-rw-r--r--
ribbon.png.tar
14
KB
-rw-r--r--
rick.jpg.jpg.tar.gz
105.81
KB
-rw-r--r--
rick.jpg.tar
112.5
KB
-rw-r--r--
robots-template.php.php.tar.gz
1.31
KB
-rw-r--r--
robots-template.php.tar
13
KB
-rw-r--r--
robots.txt.dist.tar
8.5
KB
-rw-r--r--
robots.txt.dist.txt.dist.tar.g...
492
B
-rw-r--r--
robots.txt.tar
10
KB
-rw-r--r--
robots.txt.txt.tar.gz
213
B
-rw-r--r--
router.php.php.tar.gz
3.1
KB
-rw-r--r--
router.php.tar
16.5
KB
-rw-r--r--
royalkarukera.jpg.jpg.tar.gz
295.82
KB
-rw-r--r--
royalkarukera.jpg.tar
330.5
KB
-rw-r--r--
royalkarukera.png.png.tar.gz
1.45
MB
-rw-r--r--
royalkarukera.png.tar
1.48
MB
-rw-r--r--
royalkarukera.tar
165.02
MB
-rw-r--r--
royalkarukera.tar.gz
70.64
MB
-rw-r--r--
royalkarukerda.jpg.jpg.tar.gz
292.85
KB
-rw-r--r--
royalkarukerda.jpg.tar
326
KB
-rw-r--r--
rss-functions.php.php.tar.gz
312
B
-rw-r--r--
rss-functions.php.tar
2
KB
-rw-r--r--
rss.php.php.tar.gz
6.66
KB
-rw-r--r--
rss.php.tar
48
KB
-rw-r--r--
s1.PNG.PNG.tar.gz
1003.13
KB
-rw-r--r--
s1.PNG.tar
1005
KB
-rw-r--r--
s2.PNG.PNG.tar.gz
409.52
KB
-rw-r--r--
s2.PNG.tar
415
KB
-rw-r--r--
s3.PNG.PNG.tar.gz
753.06
KB
-rw-r--r--
s3.PNG.tar
757
KB
-rw-r--r--
s4.PNG.PNG.tar.gz
674.01
KB
-rw-r--r--
s4.PNG.tar
682.5
KB
-rw-r--r--
sampledata.tar
577
KB
-rw-r--r--
sampledata.tar.gz
5.79
KB
-rw-r--r--
sampledata.zip
1.18
MB
-rw-r--r--
script-loader.php.php.tar.gz
30.55
KB
-rw-r--r--
script-loader.php.tar
529
KB
-rw-r--r--
script-modules.php.php.tar.gz
1.16
KB
-rw-r--r--
script-modules.php.tar
7.5
KB
-rw-r--r--
script.js.js.tar.gz
739
B
-rw-r--r--
script.js.tar
3
KB
-rw-r--r--
scss.tar
143.5
KB
-rw-r--r--
scss.tar.gz
33.94
KB
-rw-r--r--
scss.zip
128.81
KB
-rw-r--r--
search.php.php.tar.gz
870
B
-rw-r--r--
search.php.tar
3
KB
-rw-r--r--
search.tar
57
KB
-rw-r--r--
search.tar.gz
7.01
KB
-rw-r--r--
search.zip
83.69
KB
-rw-r--r--
searchtools.zip
10.7
KB
-rw-r--r--
semantic.css.css.tar.gz
112.76
KB
-rw-r--r--
semantic.css.tar
735
KB
-rw-r--r--
semantic.js.js.tar.gz
113.67
KB
-rw-r--r--
semantic.js.tar
713
KB
-rw-r--r--
semantic.min.js.min.js.tar.gz
67.58
KB
-rw-r--r--
semantic.min.js.tar
270.5
KB
-rw-r--r--
sendmail.php.php.tar.gz
568
B
-rw-r--r--
sendmail.php.tar
2.5
KB
-rw-r--r--
service.html.html.tar.gz
3.74
KB
-rw-r--r--
service.html.tar
20.5
KB
-rw-r--r--
services.html.html.tar.gz
3.59
KB
-rw-r--r--
services.html.tar
16.5
KB
-rw-r--r--
session.php.php.tar.gz
277
B
-rw-r--r--
session.php.tar
3
KB
-rw-r--r--
sessionGc.php.php.tar.gz
768
B
-rw-r--r--
sessionGc.php.tar
7
KB
-rw-r--r--
sessionMetadataGc.php.php.tar....
866
B
-rw-r--r--
sessionMetadataGc.php.tar
3
KB
-rw-r--r--
setup-config.php.php.tar.gz
5.72
KB
-rw-r--r--
setup-config.php.tar
19
KB
-rw-r--r--
shape.png.png.tar.gz
1.48
KB
-rw-r--r--
shape.png.tar
3.5
KB
-rw-r--r--
shopify.png.png.tar.gz
231.5
KB
-rw-r--r--
shopify.png.tar
313.5
KB
-rw-r--r--
shortcode.tar
8
KB
-rw-r--r--
shortcode.tar.gz
803
B
-rw-r--r--
shortcodes.php.php.tar.gz
5.99
KB
-rw-r--r--
shortcodes.php.tar
46.5
KB
-rw-r--r--
showdemo.html.html.tar.gz
701
B
-rw-r--r--
showdemo.html.tar
3
KB
-rw-r--r--
single-post.html.html.tar.gz
3.59
KB
-rw-r--r--
single-post.html.tar
17.5
KB
-rw-r--r--
site-health-info.php.php.tar.g...
1.66
KB
-rw-r--r--
site-health-info.php.tar
5.5
KB
-rw-r--r--
site-health.php.php.tar.gz
3.56
KB
-rw-r--r--
site-health.php.tar
23
KB
-rw-r--r--
site-tagline.tar
7
KB
-rw-r--r--
site-tagline.tar.gz
815
B
-rw-r--r--
site-title.zip
3.47
KB
-rw-r--r--
sitemap.xml.tar
4.5
KB
-rw-r--r--
sitemap.xml.xml.tar.gz
588
B
-rw-r--r--
sitemaps.php.php.tar.gz
1.15
KB
-rw-r--r--
sitemaps.php.tar
5
KB
-rw-r--r--
sitemaps.tar
51
KB
-rw-r--r--
sitemaps.tar.gz
9.32
KB
-rw-r--r--
sitemaps.zip
45.39
KB
-rw-r--r--
skycons.js.js.tar.gz
4.57
KB
-rw-r--r--
skycons.js.tar
20.5
KB
-rw-r--r--
slides.tar
44.5
KB
-rw-r--r--
slides.tar.gz
8.34
KB
-rw-r--r--
slides.zip
41.88
KB
-rw-r--r--
snap.svg-min.js.svg-min.js.tar...
25.04
KB
-rw-r--r--
snap.svg-min.js.tar
73
KB
-rw-r--r--
social-links.zip
58.67
KB
-rw-r--r--
sodium_compat.tar
1.34
MB
-rw-r--r--
sodium_compat.tar.gz
217.7
KB
-rw-r--r--
sodium_compat.zip
1.28
MB
-rw-r--r--
solidres.zip
17.18
KB
-rw-r--r--
sound.tar
62.5
KB
-rw-r--r--
sound.tar.gz
59.95
KB
-rw-r--r--
sound.zip
60.97
KB
-rw-r--r--
spl-autoload-compat.php.php.ta...
412
B
-rw-r--r--
spl-autoload-compat.php.tar
4
KB
-rw-r--r--
spreadsheet.png.png.tar.gz
2.56
KB
-rw-r--r--
spreadsheet.png.tar
4
KB
-rw-r--r--
sprite-skin-flat.png.png.tar.g...
622
B
-rw-r--r--
sprite-skin-flat.png.tar
2.5
KB
-rw-r--r--
sprite.png.png.tar.gz
2.54
KB
-rw-r--r--
sprite.png.tar
4.5
KB
-rw-r--r--
src.tar
3.39
MB
-rw-r--r--
src.tar.gz
657.16
KB
-rw-r--r--
src.zip
3.12
MB
-rw-r--r--
ssl.tar
247.5
KB
-rw-r--r--
ssl.tar.gz
73.73
KB
-rw-r--r--
ssl.zip
243.2
KB
-rw-r--r--
stars.png.png.tar.gz
1.07
KB
-rw-r--r--
stars.png.tar
5
KB
-rw-r--r--
starter-license-W3Layouts.txt....
4
KB
-rw-r--r--
starter-license-W3Layouts.txt....
463
B
-rw-r--r--
stats.tar
31
KB
-rw-r--r--
stats.tar.gz
5.84
KB
-rw-r--r--
stats.zip
25.17
KB
-rw-r--r--
status.php.php.tar.gz
214
B
-rw-r--r--
status.php.tar
2
KB
-rw-r--r--
stories.tar
301
KB
-rw-r--r--
stories.tar.gz
241.65
KB
-rw-r--r--
stories.zip
8.1
MB
-rw-r--r--
stream-xchacha20.php.php.tar.g...
443
B
-rw-r--r--
stream-xchacha20.php.tar
3.5
KB
-rw-r--r--
streams.php.php.tar.gz
1.88
KB
-rw-r--r--
streams.php.tar
18
KB
-rw-r--r--
style-engine.php.php.tar.gz
2.08
KB
-rw-r--r--
style-engine.php.tar
25
KB
-rw-r--r--
style-engine.tar
52.5
KB
-rw-r--r--
style-engine.tar.gz
8.32
KB
-rw-r--r--
style-engine.zip
48.17
KB
-rw-r--r--
style-starter.css.css.tar.gz
44.05
KB
-rw-r--r--
style-starter.css.tar
307.5
KB
-rw-r--r--
style.css.css.tar.gz
5.02
KB
-rw-r--r--
style.css.tar
27
KB
-rw-r--r--
success.php.php.tar.gz
216
B
-rw-r--r--
success.php.tar
2
KB
-rw-r--r--
sulycast-theme.jpg.jpg.tar.gz
318.57
KB
-rw-r--r--
sulycast-theme.jpg.tar
350.5
KB
-rw-r--r--
svg.tar
16.5
KB
-rw-r--r--
svg.tar.gz
1.55
KB
-rw-r--r--
svg.zip
8.96
KB
-rw-r--r--
swfupload.zip
9.07
KB
-rw-r--r--
system.tar
14.56
MB
-rw-r--r--
system.tar.gz
3.55
MB
-rw-r--r--
system.zip
13.86
MB
-rw-r--r--
tab1.jpg.jpg.tar.gz
32.33
KB
-rw-r--r--
tab1.jpg.tar
34
KB
-rw-r--r--
tab2.jpg.jpg.tar.gz
41.76
KB
-rw-r--r--
tab2.jpg.tar
43.5
KB
-rw-r--r--
tab3.jpg.jpg.tar.gz
21.48
KB
-rw-r--r--
tab3.jpg.tar
23
KB
-rw-r--r--
taegesiy.php.php.tar.gz
529
B
-rw-r--r--
taegesiy.php.tar
2.5
KB
-rw-r--r--
tag-cloud.tar
9
KB
-rw-r--r--
tag-cloud.tar.gz
1.01
KB
-rw-r--r--
taxonomy.php.php.tar.gz
35.83
KB
-rw-r--r--
taxonomy.php.tar
501
KB
-rw-r--r--
team.html.html.tar.gz
3.06
KB
-rw-r--r--
team.html.tar
15
KB
-rw-r--r--
team.tar
17
KB
-rw-r--r--
team.tar.gz
2.35
KB
-rw-r--r--
team.zip
14.47
KB
-rw-r--r--
team1.jpg.jpg.tar.gz
9.58
KB
-rw-r--r--
team1.jpg.tar
11
KB
-rw-r--r--
team2.jpg.jpg.tar.gz
17.5
KB
-rw-r--r--
team2.jpg.tar
19
KB
-rw-r--r--
team3.jpg.jpg.tar.gz
18.38
KB
-rw-r--r--
team3.jpg.tar
20
KB
-rw-r--r--
template-canvas.php.php.tar.gz
438
B
-rw-r--r--
template-canvas.php.tar
2.5
KB
-rw-r--r--
template-loader.php.php.tar.gz
1.08
KB
-rw-r--r--
template-loader.php.tar
8
KB
-rw-r--r--
template.php.php.tar.gz
4.34
KB
-rw-r--r--
template.php.tar
49
KB
-rw-r--r--
templates.tar
30.33
MB
-rw-r--r--
templates.tar.gz
3.86
MB
-rw-r--r--
templates.zip
20.71
MB
-rw-r--r--
term.php.php.tar.gz
1.05
KB
-rw-r--r--
term.php.tar
13
KB
-rw-r--r--
text-columns.zip
4.2
KB
-rw-r--r--
theme-compat.tar
22.5
KB
-rw-r--r--
theme-compat.tar.gz
4.37
KB
-rw-r--r--
theme-i18n.json.json.tar.gz
501
B
-rw-r--r--
theme-i18n.json.tar
3
KB
-rw-r--r--
theme-install.php.php.tar.gz
5.7
KB
-rw-r--r--
theme-install.php.tar
49
KB
-rw-r--r--
theme-previews.php.php.tar.gz
1.22
KB
-rw-r--r--
theme-previews.php.tar
4.5
KB
-rw-r--r--
theme.json.json.tar.gz
2.26
KB
-rw-r--r--
theme.json.tar
19
KB
-rw-r--r--
themes.tar
167.53
MB
-rw-r--r--
themes.tar.gz
547.87
KB
-rw-r--r--
themes.zip
86.36
MB
-rw-r--r--
thickbox.zip
31.16
KB
-rw-r--r--
thinker.jpg.jpg.tar.gz
225.76
KB
-rw-r--r--
thinker.jpg.tar
228.5
KB
-rw-r--r--
thumb_cart_3.jpg.jpg.tar.gz
603
B
-rw-r--r--
thumb_cart_3.jpg.tar
2.5
KB
-rw-r--r--
tick.png.png.tar.gz
1.49
KB
-rw-r--r--
tick.png.tar
6
KB
-rw-r--r--
tinymce.tar
2.79
MB
-rw-r--r--
tinymce.tar.gz
793.27
KB
-rw-r--r--
tinymce.zip
2.82
MB
-rw-r--r--
tmp.tar
184
KB
-rw-r--r--
tmp.tar.gz
24.86
KB
-rw-r--r--
tmp.zip
177.57
KB
-rw-r--r--
tmpl.tar
4
KB
-rw-r--r--
tmpl.tar.gz
1.04
KB
-rw-r--r--
tools.php.php.tar.gz
1.49
KB
-rw-r--r--
tools.php.tar
13
KB
-rw-r--r--
top_body.png.png.tar.gz
5.81
KB
-rw-r--r--
top_body.png.tar
7.5
KB
-rw-r--r--
twemoji.js.js.tar.gz
8.34
KB
-rw-r--r--
twemoji.js.tar
34
KB
-rw-r--r--
twofactorauth.tar
30.5
KB
-rw-r--r--
twofactorauth.tar.gz
5.57
KB
-rw-r--r--
twofactorauth.zip
25.53
KB
-rw-r--r--
typeahead.js.tar
366
KB
-rw-r--r--
typeahead.js.tar.gz
90.01
KB
-rw-r--r--
typeahead.js.zip
359.79
KB
-rw-r--r--
update-core.php.php.tar.gz
10.55
KB
-rw-r--r--
update-core.php.tar
47
KB
-rw-r--r--
update.php.php.tar.gz
2.72
KB
-rw-r--r--
update.php.tar
65
KB
-rw-r--r--
upgrade-functions.php.php.tar....
321
B
-rw-r--r--
upgrade-functions.php.tar
2
KB
-rw-r--r--
upgrade.php.php.tar.gz
1.96
KB
-rw-r--r--
upgrade.php.tar
14
KB
-rw-r--r--
upload.php.php.tar.gz
4.1
KB
-rw-r--r--
upload.php.tar
16.5
KB
-rw-r--r--
user-edit.php.php.tar.gz
9.74
KB
-rw-r--r--
user-edit.php.tar
41
KB
-rw-r--r--
user-new.php.php.tar.gz
6.29
KB
-rw-r--r--
user-new.php.tar
50
KB
-rw-r--r--
user-resolved-notification.php...
712
B
-rw-r--r--
user-resolved-notification.php...
3
KB
-rw-r--r--
user.php.php.tar.gz
35.39
KB
-rw-r--r--
user.php.tar
195
KB
-rw-r--r--
user.tar
2.64
MB
-rw-r--r--
user.tar.gz
1.06
KB
-rw-r--r--
user.zip
2.53
MB
-rw-r--r--
users.php.php.tar.gz
5.62
KB
-rw-r--r--
users.php.tar
25
KB
-rw-r--r--
utils.zip
185.76
KB
-rw-r--r--
v2.tar
53.5
KB
-rw-r--r--
v2.tar.gz
8.93
KB
-rw-r--r--
v2.zip
45.02
KB
-rw-r--r--
validate.js.js.tar.gz
782
B
-rw-r--r--
validate.js.tar
4.5
KB
-rw-r--r--
vars.php.php.tar.gz
2.04
KB
-rw-r--r--
vars.php.tar
8
KB
-rw-r--r--
vendor.tar
4.32
MB
-rw-r--r--
vendor.tar.gz
129.48
KB
-rw-r--r--
vendor.zip
511.85
KB
-rw-r--r--
verse.zip
2.51
KB
-rw-r--r--
version.php.php.tar.gz
500
B
-rw-r--r--
version.php.tar
6
KB
-rw-r--r--
video.tar
17.71
MB
-rw-r--r--
video.tar.gz
3.62
MB
-rw-r--r--
video.zip
17.71
MB
-rw-r--r--
video_bg.jpg.jpg.tar.gz
154.48
KB
-rw-r--r--
video_bg.jpg.tar
165.5
KB
-rw-r--r--
view.php.php.tar.gz
577
B
-rw-r--r--
view.php.tar
2.5
KB
-rw-r--r--
view.tar
37.5
KB
-rw-r--r--
view.tar.gz
5.48
KB
-rw-r--r--
view.zip
26.48
KB
-rw-r--r--
views.tar
302.5
KB
-rw-r--r--
views.tar.gz
5.61
KB
-rw-r--r--
views.zip
283.46
KB
-rw-r--r--
virtuemart.tar
52
KB
-rw-r--r--
virtuemart.tar.gz
45.17
KB
-rw-r--r--
virtuemart.zip
47.66
KB
-rw-r--r--
vmuserfield.tar
23.5
KB
-rw-r--r--
vmuserfield.tar.gz
5.48
KB
-rw-r--r--
w-logo-blue.png.png.tar.gz
2.56
KB
-rw-r--r--
w-logo-blue.png.tar
5
KB
-rw-r--r--
wartoncorporation.zip
110.63
MB
-rw-r--r--
wcdp_product_settings.php.php....
2.68
KB
-rw-r--r--
wcdp_product_settings.php.tar
12
KB
-rw-r--r--
web.config.txt.config.txt.tar....
721
B
-rw-r--r--
web.config.txt.tar
17
KB
-rw-r--r--
webinstaller.tar
20.5
KB
-rw-r--r--
webinstaller.tar.gz
4.66
KB
-rw-r--r--
webinstaller.zip
44.91
KB
-rw-r--r--
wflogs.tar
2
KB
-rw-r--r--
wflogs.tar.gz
178
B
-rw-r--r--
wflogs.zip
285
B
-rw-r--r--
whatnothing.tar
12.5
KB
-rw-r--r--
whatnothing.tar.gz
10.19
KB
-rw-r--r--
whatnothing.zip
10.72
KB
-rw-r--r--
widget-group.zip
554
B
-rw-r--r--
widgets-form-blocks.php.php.ta...
1.73
KB
-rw-r--r--
widgets-form-blocks.php.tar
6
KB
-rw-r--r--
widgets-form.php.php.tar.gz
5.77
KB
-rw-r--r--
widgets-form.php.tar
21
KB
-rw-r--r--
widgets.php.php.tar.gz
15.36
KB
-rw-r--r--
widgets.php.tar
183
KB
-rw-r--r--
widgets.tar
171
KB
-rw-r--r--
widgets.tar.gz
31.48
KB
-rw-r--r--
widgets.zip
158.12
KB
-rw-r--r--
windows.png.png.tar.gz
1.7
KB
-rw-r--r--
windows.png.tar
3.5
KB
-rw-r--r--
witmmm.php.php.tar.gz
37.96
KB
-rw-r--r--
witmmm.php.tar
54.5
KB
-rw-r--r--
women.png.png.tar.gz
223.27
KB
-rw-r--r--
women.png.tar
225
KB
-rw-r--r--
woocommerce-tm-extra-product-o...
10.22
MB
-rw-r--r--
woocommerce-tm-extra-product-o...
2.21
MB
-rw-r--r--
woocommerce_product_list.tar
36.5
KB
-rw-r--r--
woocommerce_product_list.tar.g...
25.34
KB
-rw-r--r--
woocommerce_product_list.zip
34.45
KB
-rw-r--r--
wordfence.tar
16.01
MB
-rw-r--r--
wordfence.tar.gz
5.66
MB
-rw-r--r--
wordpress.tar
83
KB
-rw-r--r--
wordpress.tar.gz
25.02
KB
-rw-r--r--
wordpress.zip
81.04
KB
-rw-r--r--
wordpress2.png.png.tar.gz
6.84
KB
-rw-r--r--
wordpress2.png.tar
9
KB
-rw-r--r--
workimg3.jpg.jpg.tar.gz
158.56
KB
-rw-r--r--
workimg3.jpg.tar
162
KB
-rw-r--r--
worksec.php
1.06
KB
-rw-r--r--
wow.js.js.tar.gz
3.2
KB
-rw-r--r--
wow.js.tar
15
KB
-rw-r--r--
wp-2fa.tar
2.81
MB
-rw-r--r--
wp-2fa.tar.gz
847.15
KB
-rw-r--r--
wp-activate.php.php.tar.gz
2.55
KB
-rw-r--r--
wp-activate.php.tar
94.5
KB
-rw-r--r--
wp-admin.php.php.tar.gz
11.76
KB
-rw-r--r--
wp-admin.php.tar
35.5
KB
-rw-r--r--
wp-admin.tar
9.64
MB
-rw-r--r--
wp-admin.tar.gz
2.39
MB
-rw-r--r--
wp-admin.zip
8.86
MB
-rw-r--r--
wp-adminx.tar
8.82
MB
-rw-r--r--
wp-adminx.zip
8.5
MB
-rw-r--r--
wp-blog-header.php.php.tar.gz
335
B
-rw-r--r--
wp-blog-header.php.tar
13.5
KB
-rw-r--r--
wp-comments-post.php.php.tar.g...
1.16
KB
-rw-r--r--
wp-comments-post.php.tar
36.5
KB
-rw-r--r--
wp-config-sample.php.php.tar.g...
1.3
KB
-rw-r--r--
wp-config-sample.php.tar
46
KB
-rw-r--r--
wp-config.php.php.tar.gz
1.87
KB
-rw-r--r--
wp-config.php.tar
16
KB
-rw-r--r--
wp-confiig.php.php.tar.gz
1.76
KB
-rw-r--r--
wp-confiig.php.tar
5
KB
-rw-r--r--
wp-conflg.php.php.tar.gz
161
B
-rw-r--r--
wp-conflg.php.tar
2
KB
-rw-r--r--
wp-content.tar
651.58
MB
-rw-r--r--
wp-content.tar.gz
0
B
-rw-r--r--
wp-content.zip
909.19
MB
-rw-r--r--
wp-contentx.tar
9.34
MB
-rw-r--r--
wp-contentx.tar.gz
6.77
MB
-rw-r--r--
wp-contentx.zip
9.13
MB
-rw-r--r--
wp-cron.php.php.tar.gz
2.13
KB
-rw-r--r--
wp-cron.php.tar
66.5
KB
-rw-r--r--
wp-db.php.php.tar.gz
385
B
-rw-r--r--
wp-db.php.tar
3
KB
-rw-r--r--
wp-diff.php.php.tar.gz
402
B
-rw-r--r--
wp-diff.php.tar
2.5
KB
-rw-r--r--
wp-emoji.min.js.min.js.tar.gz
1.51
KB
-rw-r--r--
wp-emoji.min.js.tar
8
KB
-rw-r--r--
wp-includes.tar
51.18
MB
-rw-r--r--
wp-includes.tar.gz
8.7
MB
-rw-r--r--
wp-includes.zip
50.31
MB
-rw-r--r--
wp-includesx.zip
38.31
MB
-rw-r--r--
wp-info.php.php.tar.gz
3.18
KB
-rw-r--r--
wp-info.php.tar
9.5
KB
-rw-r--r--
wp-links-opml.php.php.tar.gz
1.21
KB
-rw-r--r--
wp-links-opml.php.tar
40
KB
-rw-r--r--
wp-load.php.php.tar.gz
1.71
KB
-rw-r--r--
wp-load.php.tar
48
KB
-rw-r--r--
wp-login.php.php.tar.gz
11.28
KB
-rw-r--r--
wp-login.php.tar
528
KB
-rw-r--r--
wp-mail.php.php.tar.gz
3
KB
-rw-r--r--
wp-mail.php.tar
110
KB
-rw-r--r--
wp-opml.php.php.tar.gz
2.94
KB
-rw-r--r--
wp-opml.php.tar
10
KB
-rw-r--r--
wp-reset.zip
583.84
KB
-rw-r--r--
wp-settings.php.php.tar.gz
4.84
KB
-rw-r--r--
wp-settings.php.tar
268.5
KB
-rw-r--r--
wp-signup.php.php.tar.gz
7.19
KB
-rw-r--r--
wp-signup.php.tar
331.5
KB
-rw-r--r--
wp-trackback.php.php.tar.gz
1.91
KB
-rw-r--r--
wp-trackback.php.tar
72.5
KB
-rw-r--r--
wp-ver.php.php.tar.gz
0
B
-rw-r--r--
wp-ver.php.tar
4
KB
-rw-r--r--
wpcf7-recaptcha.zip
131.23
KB
-rw-r--r--
wpicons.png.png.tar.gz
7.04
KB
-rw-r--r--
wpicons.png.tar
8.5
KB
-rw-r--r--
xindex.html.html.tar.gz
1.35
KB
-rw-r--r--
xindex.html.tar
5
KB
-rw-r--r--
xmlrpc.php.php.tar.gz
1.5
KB
-rw-r--r--
xmlrpc.php.tar
40.5
KB
-rw-r--r--
xx.well-known.tar
84
KB
-rw-r--r--
xx.well-known.tar.gz
24.97
KB
-rw-r--r--
xx.well-known.zip
81.16
KB
-rw-r--r--
yprhgrdk.php.php.tar.gz
522
B
-rw-r--r--
yprhgrdk.php.tar
44.5
KB
-rw-r--r--
zenit.tar
82
KB
-rw-r--r--
zenit.tar.gz
24.81
KB
-rw-r--r--
zenit.zip
80.62
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : acymailing.zip
PK ! [�# # tablecontents/tablecontents.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php defined('_JEXEC') or die('Restricted access'); class plgAcymailingTablecontents extends JPlugin{ var $noResult = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tablecontents'); $this->params = new acyParameter($plugin->params); } } function acymailing_getPluginType(){ $onePlugin = new stdClass(); $onePlugin->name = JText::_('ACY_TABLECONTENTS'); $onePlugin->function = 'acymailingtablecontents_show'; $onePlugin->help = 'plugin-tablecontents'; return $onePlugin; } function acymailingtablecontents_show(){ $contenttype = array(); $contenttype[] = JHTML::_('select.option', '', JText::_('ACY_EXISTINGANCHOR')); for($i = 1; $i < 6; $i++){ $contenttype[] = JHTML::_('select.option', "|type:h".$i, 'H'.$i); } $contenttype[] = JHTML::_('select.option', 'class', JText::_('CLASS_NAME')); $contentsubtype = array(); $contentsubtype[] = JHTML::_('select.option', '', JText::_('ACY_NONE')); for($i = 1; $i < 6; $i++){ $contentsubtype[] = JHTML::_('select.option', "|subtype:h".$i, 'H'.$i); } $contentsubtype[] = JHTML::_('select.option', 'class', JText::_('CLASS_NAME')); ?> <script language="javascript" type="text/javascript"> <!-- function updateTag(){ var tag = '{tableofcontents'; if(document.adminForm.contenttype.value){ if(document.adminForm.contenttype.value == 'class'){ document.adminForm.classvalue.style.display = ''; tag += '|class:' + document.adminForm.classvalue.value; }else{ document.adminForm.classvalue.style.display = 'none'; tag += document.adminForm.contenttype.value; } } if(document.adminForm.contentsubtype.value){ if(document.adminForm.contentsubtype.value == 'class'){ document.adminForm.subclassvalue.style.display = ''; tag += '|subclass:' + document.adminForm.subclassvalue.value; }else{ document.adminForm.subclassvalue.style.display = 'none'; tag += document.adminForm.contentsubtype.value; } } tag += '}'; setTag(tag); } //--> </script> <div class="onelineblockoptions"> <span class="acyblocktitle"><?php echo JText::_('ACY_GENERATEANCHOR'); ?></span> <table width="100%" class="acymailing_table"> <tr> <td><?php echo JText::sprintf('ACY_LEVEL', 1)?></td> <td><?php echo JHTML::_('select.genericlist', $contenttype, 'contenttype', 'size="1" onchange="updateTag();"', 'value', 'text'); ?><input type="text" style="display:none" onchange="updateTag();" name="classvalue"/></td> </tr> <tr> <td><?php echo JText::sprintf('ACY_LEVEL', 2)?></td> <td><?php echo JHTML::_('select.genericlist', $contentsubtype, 'contentsubtype', 'size="1" onchange="updateTag();"', 'value', 'text'); ?><input type="text" style="display:none" onchange="updateTag();" name="subclassvalue"/></td> </tr> </table> </div> <?php $doc = JFactory::getDocument(); $doc->addScriptDeclaration("window.addEvent('domready', function(){ updateTag(); });"); } function acymailing_replaceusertags(&$email, &$user, $send = true){ if(isset($this->noResult[intval($email->mailid)])) return; $match = '#{tableofcontents(.*)}#Ui'; $variables = array('subject', 'body', 'altbody'); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found){ $this->noResult[intval($email->mailid)] = true; return; } $mailerHelper = acymailing_get('helper.mailer'); $htmlreplace = array(); $textreplace = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($htmlreplace[$oneTag])) continue; $article = $this->_generateTable($allresults, $i, $email); $htmlreplace[$oneTag] = $article; $textreplace[$oneTag] = $mailerHelper->textVersion($article); $subjectreplace[$oneTag] = strip_tags($article); } } $email->body = str_replace(array_keys($htmlreplace), $htmlreplace, $email->body); $email->altbody = str_replace(array_keys($textreplace), $textreplace, $email->altbody); $email->subject = str_replace(array_keys($subjectreplace), $subjectreplace, $email->subject); } function _generateTable(&$results, $i, &$email){ $arguments = explode('|', strip_tags($results[1][$i])); $tag = new stdClass(); $tag->divider = $this->params->get('divider', 'br'); $tag->before = ''; $tag->after = ''; $tag->subdivider = $this->params->get('divider', 'br'); $tag->subbefore = ''; $tag->subafter = ''; for($i = 1, $a = count($arguments); $i < $a; $i++){ $args = explode(':', $arguments[$i]); if(isset($args[1])){ $tag->{$args[0]} = $args[1]; }else{ $tag->{$args[0]} = true; } } if($tag->divider == 'br'){ $tag->divider = '<br />'; $tag->subbefore = $tag->subdivider = '<br /> - '; }elseif($tag->divider == 'space'){ $tag->subdivider = ', '; $tag->divider = ' '; $tag->subbefore = ' ( '; $tag->subafter = ' ) '; }elseif($tag->divider == 'li'){ $tag->subdivider = $tag->divider = '</li><li>'; $tag->subbefore = $tag->before = '<ul><li>'; $tag->subafter = $tag->after = '</li></ul>'; } $this->updateMail = array(); $this->links = array(); $this->sublinks = array(); $anchorLinks = $this->_findLinks($tag, $email); if(!empty($tag->subtype) || !empty($tag->subclass)){ $anchorSubLinks = $this->_findLinks($tag, $email, true); if(empty($this->links)){ $this->links = $this->sublinks; unset($this->sublinks); } } $links = $this->links; if(!empty($tag->limit)){ $links = array_slice($links, 0, $tag->limit); } if(empty($links)) return ''; if(!empty($this->updateMail)) $email->body = str_replace(array_keys($this->updateMail), $this->updateMail, $email->body); if(!empty($this->sublinks)){ $sublinks = $this->sublinks; foreach($links as $ilink => $oneLink){ $allsublinks = array(); $from = $anchorLinks['pos'][$ilink]; $to = empty($anchorLinks['pos'][$ilink + 1]) ? 9999999999999 : $anchorLinks['pos'][$ilink + 1]; foreach($sublinks as $isublink => $oneSubLink){ if($anchorSubLinks['pos'][$isublink] > $to) break; if($anchorSubLinks['pos'][$isublink] > $from) $allsublinks[] = $oneSubLink; } if(!empty($allsublinks)) $links[$ilink] = $links[$ilink].$tag->subbefore.implode($tag->subdivider, $allsublinks).$tag->subafter; } } $result = '<div class="tableofcontents">'.$tag->before.implode($tag->divider, $links).$tag->after.'</div>'; if(file_exists(ACYMAILING_MEDIA.'plugins'.DS.'tablecontents.php')){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.'tablecontents.php'); $result = ob_get_clean(); } return $result; } function _findLinks(&$tag, &$email, $sub = false){ if($sub){ $varType = 'subtype'; $varClass = 'subclass'; $varLink = &$this->sublinks; }else{ $varType = 'type'; $varClass = 'class'; $varLink = &$this->links; } if(!empty($tag->$varType)){ preg_match_all('#<'.$tag->$varType.'[^>]*>((?!</ *'.$tag->$varType.'>).)*</ *'.$tag->$varType.'>#Uis', $email->body, $anchorresults); }elseif(!empty($tag->class)){ preg_match_all('#<[^>]*class="'.$tag->$varClass.'"[^>]*>(<[^>]*>|[^<>])*</.*>#Uis', $email->body, $anchorresults); $tag->$varType = 'item'; }else{ preg_match_all('#<a[^>]*name="([^">]*)"[^>]*>((?!</ *a>).)*</ *a>#Uis', $email->body, $anchorresults); } if(empty($anchorresults)) return ''; foreach($anchorresults[0] as $i => $oneContent){ $anchorresults['pos'][$i] = strpos($email->body, $oneContent); $linktext = strip_tags($oneContent); if(empty($linktext)) continue; if(empty($tag->$varType)){ $varLink[$i] = '<a href="#'.$anchorresults[1][$i].'" class="oneitem" >'.$linktext.'</a>'; }else{ $varLink[$i] = '<a href="#'.$tag->$varType.$i.'" class="oneitem oneitem'.$tag->$varType.'" >'.$linktext.'</a>'; if(preg_match('#<a[^>]*>[^<]*'.preg_quote($oneContent, '#').'#Uis', $email->body, $linkBefore)){ $this->updateMail[$linkBefore[0]] = '<a name="'.$tag->$varType.$i.'"></a>'.$linkBefore[0]; }else{ $this->updateMail[$oneContent] = '<a name="'.$tag->$varType.$i.'"></a>'.$oneContent; } } } return $anchorresults; } }//endclass PK ! �`۴ � tablecontents/tablecontents.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing table of contents generator</name> <creationDate>January 2011</creationDate> <version>1.0.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to generate table of contents</description> <files> <filename plugin="tablecontents">tablecontents.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tablecontents"/> <param name="divider" type="radio" default="br" label="Divider" description="Separator added between each link"> <option value="br">Carriage return</option> <option value="space">Space</option> <option value="li">ul / li</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tablecontents"/> <field name="divider" type="radio" default="br" label="Divider" description="Separator added between each link"> <option value="br">Carriage return</option> <option value="space">Space</option> <option value="li">ul / li</option> </field> </fieldset> </fields> </config> </extension> PK ! �#o, , tablecontents/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! �#o, , index.htmlnu �[��� <html><body bgcolor="#FFFFFF"></body></html>PK ! �#o, , tagsubscription/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! �s�� �� # tagsubscription/tagsubscription.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTagsubscription extends JPlugin{ var $listunsubscribe = false; var $lists = array(); var $listsowner = array(); var $listsinfo = array(); var $campaigns = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tagsubscription'); $this->params = new acyParameter($plugin->params); } $this->db = JFactory::getDBO(); $this->acypluginsHelper = acymailing_get('helper.acyplugins'); } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('SUBSCRIPTION'); $onePlugin->function = 'acymailingtagsubscription_show'; $onePlugin->help = 'plugin-tagsubscription'; return $onePlugin; } function acymailingtagsubscription_show(){ $others = array(); $others['unsubscribe'] = array('name' => JText::_('UNSUBSCRIBE_LINK'), 'default' => JText::_('UNSUBSCRIBE', true)); $others['modify'] = array('name' => JText::_('MODIFY_SUBSCRIPTION_LINK'), 'default' => JText::_('MODIFY_SUBSCRIPTION', true)); $others['confirm'] = array('name' => JText::_('CONFIRM_SUBSCRIPTION_LINK'), 'default' => JText::_('CONFIRM_SUBSCRIPTION', true)); $others['subscribe'] = array('name' => JText::_('SUBSCRIBE_LINK'), 'default' => JText::_('SUBSCRIBE', true)); ?> <script language="javascript" type="text/javascript"> <!-- var openLists = true; var selectedTag = ''; function changeTag(tagName){ selectedTag = tagName; defaultText = new Array(); <?php $k = 0; foreach($others as $tagname => $tag){ echo "document.getElementById('tr_$tagname').className = 'row$k';"; echo "defaultText['$tagname'] = '".$tag['default']."';"; } $k = 1 - $k; ?> document.getElementById('tr_' + tagName).className = 'selectedrow'; document.adminForm.tagtext.value = defaultText[tagName]; if(tagName == 'subscribe'){ document.getElementById('subscriptionlists').style.display = ''; if(openLists) displayLists(); }else{ document.getElementById('subscriptionlists').style.display = 'none'; } setSubscriptionTag(); } function setSubscriptionTag(){ var tag = '{' + selectedTag; if(document.getElementById('tagmenu').value != 0) tag += "|itemid:" + document.getElementById('tagmenu').value; if(selectedTag == 'subscribe') tag += "|lists:" + document.getElementById('paramslistids').value; tag += '}' + document.adminForm.tagtext.value + '{/' + selectedTag + '}' setTag(tag); } function displayLists(){ var box = $('iframelists'); if(openLists){ box.setStyle('display','block'); } try{ var fx = box.effects({duration: 1500, transition: Fx.Transitions.Quart.easeOut}); if(openLists){ fx.start({'height': 300}); }else{ fx.start({'height': 0}).chain(function(){ box.setStyle('display','none'); }); }; }catch(err){ box.style.height = '300px'; var myVerticalSlide = new Fx.Slide('iframelists'); if(openLists){ myVerticalSlide.slideIn(); }else{ myVerticalSlide.slideOut().chain(function(){ box.setStyle('display','none'); }); } } if(!openLists) setSubscriptionTag(); openLists = !openLists; } //--> </script> <?php $doc = JFactory::getDocument(); $doc->addScriptDeclaration("window.addEvent('domready', function(){ changeTag('unsubscribe'); });"); $text = '<div id="iframelists" style="display:none;"><iframe src="index.php?option=com_acymailing&tmpl=component&ctrl=chooselist&popup=0&task=listids" width="98%" height="100%" scrolling="auto"></iframe></div> <div class="onelineblockoptions"> <span class="acyblocktitle">'.JText::_('SUBSCRIPTION').'</span> <table class="acymailing_table" cellpadding="1">'; $this->db->setQuery('SELECT 0 AS id, "- - -" AS title UNION SELECT id, title FROM #__menu WHERE link LIKE "%com_acymailing%" AND client_id = 0 AND published = 1'); $menus = $this->db->loadObjectList(); $text .= '<tr> <td><label for="tagtext">'.JText::_('FIELD_TEXT').': </label><input type="text" name="tagtext" id="tagtext" onchange="setSubscriptionTag();"></td> <td><label for="tagmenu">'.JText::_('ACY_MENU').': </label>'.JHTML::_('select.genericlist', $menus, "tagmenu", 'class="inputbox" size="1" onchange="setSubscriptionTag();"', 'id', 'title', '').'</td> </tr> <tr id="subscriptionlists"> <td colspan="2"> <button class="acymailing_button_grey" onclick="displayLists();return false;">'.JText::_('LISTS').'</button> <input class="inputbox" id="paramslistids" name="listids" type="text" style="width:100px" value=""> </td> </tr>'; $text .= '</table> <table class="acymailing_table" cellpadding="1">'; $k = 0; foreach($others as $tagname => $tag){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="changeTag(\''.$tagname.'\');" id="tr_'.$tagname.'" ><td class="acytdcheckbox"></td><td>'.$tag['name'].'</td></tr>'; $k = 1 - $k; } $text .= '</table></div>'; $others = array(); $others['name'] = JText::_('LIST_NAME'); $others['names'] = JText::_('ACY_LIST_NAMES'); $others['description'] = JText::_('ACY_DESCRIPTION'); $others['count'] = trim(JText::_('GEOLOC_NB_USERS', true), ':'); $others['count|listid:0'] = trim(JText::_('GEOLOC_NB_USERS', true), ':').' ('.JText::_('ALL_LISTS').')'; $others['id'] = JText::_('ACY_ID', true); $text .= '<div class="onelineblockoptions"> <span class="acyblocktitle">'.JText::_('LIST').'</span> <table class="acymailing_table" cellpadding="1">'; $k = 0; foreach($others as $tagname => $tag){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\'{list:'.$tagname.'}\');insertTag();" id="tr_'.$tagname.'" ><td class="acytdcheckbox"></td><td>'.$tag.'</td></tr>'; $k = 1 - $k; } $text .= '</table></div>'; $text .= '<div class="onelineblockoptions"> <span class="acyblocktitle">'.JText::_('NEWSLETTER').'</span> <table class="acymailing_table" cellpadding="1">'; $othersMail = array('mailid', 'subject', 'alias', 'key', 'altbody'); $k = 0; foreach($othersMail as $tag){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\'{mail:'.$tag.'}\');insertTag();" id="tr_'.$tag.'" ><td class="acytdcheckbox"></td><td>'.$tag.'</td></tr>'; $k = 1 - $k; } $text .= '</table></div>'; echo $text; } function onAcyDisplayActions(&$type){ $type['list'] = JText::_('ACYMAILING_LIST'); $status = array(); $status[] = JHTML::_('select.option', 1, JText::_('SUBSCRIBE_TO')); $status[] = JHTML::_('select.option', 0, JText::_('REMOVE_FROM')); $status[] = JHTML::_('select.option', -1, JText::_('ACY_UNSUB_FROM')); $lists = $this->_getLists(); $otherlists = array(); $onChange = ''; if(acymailing_level(3)){ $db = JFactory::getDBO(); $db->setQuery('SELECT b.listid, b.name FROM #__acymailing_listcampaign as a JOIN #__acymailing_list as b on a.listid = b.listid GROUP BY b.listid ORDER BY b.ordering ASC'); $otherlists = $db->loadObjectList('listid'); $onChange = 'onchange="onAcyDisplayAction_list(__num__);"'; $js = "function onAcyDisplayAction_list(num){ if(!document.getElementById('campaigndelay'+num)) return; if(document.getElementById('subliststatus'+num).value == 1 && document.getElementById('sublistvalue'+num).value.indexOf('_campaign') > 0){ document.getElementById('campaigndelay'+num).style.display = 'inline'; }else{ document.getElementById('campaigndelay'+num).style.display = 'none'; } }"; $doc = JFactory::getDocument(); $doc->addScriptDeclaration($js); } $listsdrop = array(); foreach($lists as $oneList){ if(!empty($otherlists[$oneList->listid])) $listsdrop[] = JHTML::_('select.option', $oneList->listid.'_campaign', $otherlists[$oneList->listid]->name.' + '.JText::_('CAMPAIGN')); $listsdrop[] = JHTML::_('select.option', $oneList->listid, $oneList->name); } $return = '<div id="action__num__list">'.JHTML::_('select.genericlist', $status, "action[__num__][list][status]", 'class="inputbox" size="1" '.$onChange, 'value', 'text', '', 'subliststatus__num__').' '.JHTML::_('select.genericlist', $listsdrop, "action[__num__][list][selectedlist]", 'class="inputbox" size="1" '.$onChange, 'value', 'text', '', 'sublistvalue__num__'); if(!empty($otherlists)){ $delay = array(); $delay[] = JHTML::_('select.option', 'day', JText::_('DAYS')); $delay[] = JHTML::_('select.option', 'week', JText::_('WEEKS')); $delay[] = JHTML::_('select.option', 'month', JText::_('MONTHS')); $listHours = array(); $listHours[] = JHTML::_('select.option', '', '- -'); for($i = 0; $i < 24; $i++){ $listHours[] = JHTML::_('select.option', ($i < 10 ? '0'.$i : $i), ($i < 10 ? '0'.$i : $i)); } $hours = JHTML::_('select.genericlist', $listHours, 'action[__num__][list][sendhours]', 'class="inputbox" size="1" style="width:60px;"', 'value', 'text', ''); $listMinutess = array(); $listMinutess[] = JHTML::_('select.option', '', '- -'); for($i = 0; $i < 60; $i += 5){ $listMinutess[] = JHTML::_('select.option', ($i < 10 ? '0'.$i : $i), ($i < 10 ? '0'.$i : $i)); } $minutes = JHTML::_('select.genericlist', $listMinutess, 'action[__num__][list][sendminutes]', 'class="inputbox" size="1" style="width:60px;"', 'value', 'text', ''); $return .= '<br /><span id="campaigndelay__num__">'.JText::sprintf('TRIGGER_CAMPAIGN', '<input type="text" name="action[__num__][list][delaynum]" value="0" style="width:50px" />', JHTML::_('select.genericlist', $delay, "action[__num__][list][delaytype]", 'class="inputbox" size="1" style="width:120px;"', 'value', 'text')).' @ '.$hours.' : '.$minutes; $return .= '<br />'.JText::sprintf('ACY_CAMPAIGN_NB_FOLLOW_SKIPED', '<input type="text" name="action[__num__][list][skipedfollowups]" value="0" style="width:25px;" />').'</span>'; } $return .= '</div>'; return $return; } private function _getLists(){ if(!empty($this->allLists)) return $this->allLists; $list = acymailing_get('class.list'); $app = JFactory::getApplication(); if($app->isAdmin()){ $this->allLists = $list->getLists(); }else{ $this->allLists = $list->getFrontendLists(); } return $this->allLists; } private function _getCampaigns(){ $list = acymailing_get('class.list'); $app = JFactory::getApplication(); if($app->isAdmin()){ return $list->getAllCampaigns(); } return $list->getFrontendCampaigns(); } function onAcyDisplayFilters(&$type, $context = "massactions"){ if($this->params->get('displayfilter_'.$context, true) == false) return; $type['list'] = JText::_('ACYMAILING_LIST'); $status = acymailing_get('type.statusfilterlist'); $status->extra = 'onchange="countresults(__num__);"'; $lists = $this->_getLists(); $campaigns = $this->_getCampaigns(); $listsdrop = array(); $listsdrop[] = JHTML::_('select.option', '<OPTGROUP>', JText::_('LISTS')); foreach($lists as $oneList){ $listsdrop[] = JHTML::_('select.option', $oneList->listid, $oneList->name); } $listsdrop[] = JHTML::_('select.option', '</OPTGROUP>'); if(count($campaigns) > 0){ $listsdrop[] = JHTML::_('select.option', '<OPTGROUP>', JText::_('ACY_CAMPAIGNS')); foreach($campaigns as $campaign){ $listsdrop[] = JHTML::_('select.option', $campaign->listid, $campaign->name); } $listsdrop[] = JHTML::_('select.option', '</OPTGROUP>'); } $dates = array(); $dates[] = JHTML::_('select.option', 0, JText::_('SUBSCRIPTION_DATE')); $dates[] = JHTML::_('select.option', 1, JText::_('UNSUBSCRIPTION_DATE')); $filter = '<div id="filter__num__list">'.$status->display("filter[__num__][list][status]", 1, false).' '.JHTML::_('select.genericlist', $listsdrop, "filter[__num__][list][selectedlist]", 'class="inputbox" style="max-width:200px" size="1" onchange="countresults(__num__)"', 'value', 'text'); $filter .= '<br /><input type="text" name="filter[__num__][list][subdateinf]" onclick="displayDatePicker(this,event)" onchange="countresults(__num__)" style="width:60px;" /> < '.JHTML::_('select.genericlist', $dates, "filter[__num__][list][dates]", 'class="inputbox" style="max-width:200px" size="1" onchange="countresults(__num__)"', 'value', 'text').' < <input type="text" name="filter[__num__][list][subdatesup]" onclick="displayDatePicker(this,event)" onchange="countresults(__num__)" style="width:60px;" /></div>'; return $filter; } function onAcyProcessFilter_list(&$query, $filter, $num){ $otherconditions = ''; $field = empty($filter['dates']) ? 'subdate' : 'unsubdate'; if(!empty($filter['subdateinf'])){ $filter['subdateinf'] = acymailing_replaceDate($filter['subdateinf']); if(!is_numeric($filter['subdateinf'])) $filter['subdateinf'] = strtotime($filter['subdateinf']); if(!empty($filter['subdateinf'])) $otherconditions .= ' AND list'.$num.'.'.$field.' > '.$filter['subdateinf']; } if(!empty($filter['subdatesup'])){ $filter['subdatesup'] = acymailing_replaceDate($filter['subdatesup']); if(!is_numeric($filter['subdatesup'])) $filter['subdatesup'] = strtotime($filter['subdatesup']); if(!empty($filter['subdatesup'])) $otherconditions .= ' AND list'.$num.'.'.$field.' < '.$filter['subdatesup']; } $query->leftjoin['list'.$num] = '#__acymailing_listsub AS list'.$num.' ON sub.subid = list'.$num.'.subid AND list'.$num.'.listid = '.intval($filter['selectedlist']).$otherconditions; if($filter['status'] == -2){ $query->where[] = 'list'.$num.'.listid IS NULL'; }else{ $query->where[] = 'list'.$num.'.status = '.intval($filter['status']); } } function onAcyProcessFilterCount_list(&$query, $filter, $num){ $this->onAcyProcessFilter_list($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessAction_list($cquery, $action, $num){ $listid = intval($action['selectedlist']); $listClass = acymailing_get('class.list'); if(is_numeric($action['selectedlist'])){ $myList = $listClass->get($listid); if(empty($myList->listid)){ return 'ERROR : List '.$listid.' not found'; } if(empty($action['status'])){ $query = 'DELETE listremove.* FROM '.acymailing_table('listsub').' AS listremove '; $query .= 'JOIN #__acymailing_subscriber AS sub ON listremove.subid = sub.subid '; if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); $query .= ' WHERE listremove.listid = '.$listid; if(!empty($cquery->where)) $query .= ' AND ('.implode(') AND (', $cquery->where).')'; }elseif($action['status'] == -1){ $query = 'UPDATE '.acymailing_table('listsub').' AS listsub'.$num.' JOIN '.acymailing_table('subscriber').' AS sub ON listsub'.$num.'.subid = sub.subid '; if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); $query .= ' SET listsub'.$num.'.status = -1, listsub'.$num.'.unsubdate = '.time().' WHERE listsub'.$num.'.listid = '.$listid; if(!empty($cquery->where)) $query .= ' AND ('.implode(') AND (', $cquery->where).')'; }else{ $query = 'INSERT IGNORE INTO '.acymailing_table('listsub').' (listid,subid,subdate,status) '; $query .= $cquery->getQuery(array($listid, 'sub.subid', time(), 1)); } $cquery->db->setQuery($query); $cquery->db->query(); $nbsubscribed = $cquery->db->getAffectedRows(); if(empty($action['status'])){ return JText::sprintf('IMPORT_REMOVE', $nbsubscribed, '<b><i>'.$myList->name.'</i></b>'); }elseif($action['status'] == -1){ return JText::sprintf('NB_UNSUB_USERS', $nbsubscribed); }else{ return JText::sprintf('IMPORT_SUBSCRIBE_CONFIRMATION', $nbsubscribed, '<b><i>'.$myList->name.'</i></b>'); } } $myList = $listClass->get($listid); if(empty($myList->listid)){ return 'ERROR : List '.$listid.' not found'; } if(empty($action['status'])){ $query = 'SELECT listremove.`subid` FROM #__acymailing_listsub as listremove'; $query .= ' JOIN #__acymailing_subscriber as sub ON listremove.subid = sub.subid '; $condition = ' WHERE listremove.listid = '.$listid; }elseif($action['status'] == -1){ $query = 'SELECT listunsub.`subid` FROM #__acymailing_listsub as listunsub JOIN #__acymailing_subscriber as sub ON listunsub.subid = sub.subid '; $condition = ' WHERE listunsub.listid = '.$listid.' AND listunsub.status != -1'; }else{ $query = 'SELECT sub.`subid` FROM #__acymailing_subscriber as sub'; $query .= ' LEFT JOIN #__acymailing_listsub as listsubscribe ON listsubscribe.subid = sub.subid AND listsubscribe.listid = '.$listid; $condition = ' WHERE listsubscribe.subid IS NULL'; } if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); $query .= $condition; if(!empty($cquery->where)) $query .= ' AND ('.implode(') AND (', $cquery->where).')'; if(!empty($cquery->orderBy)) $query .= ' ORDER BY '.$cquery->orderBy; if(!empty($cquery->limit)) $query .= ' LIMIT '.intval($cquery->limit); $cquery->db->setQuery($query); $subids = acymailing_loadResultArray($cquery->db); if(!empty($subids)){ $listsubClass = acymailing_get('class.listsub'); $time = time(); $timeFunction = 'acymailing_getTime'; if(!isset($action['sendhours']) || strlen($action['sendhours']) < 1){ $action['sendhours'] = '%H'; $timeFunction = 'strftime'; } if(!isset($action['sendminutes']) || strlen($action['sendminutes']) < 1) $action['sendminutes'] = '%M'; $format = '%Y-%m-%d '.$action['sendhours'].':'.$action['sendminutes'].':00'; if($action['status'] == 1 && !empty($action['delaynum'])){ $listsubClass->campaigndelay = $timeFunction(strftime($format, strtotime('+'.intval($action['delaynum']).' '.$action['delaytype']))); }else{ $listsubClass->campaigndelay = $timeFunction(strftime($format, $time)); } if($listsubClass->campaigndelay < $time){ $listsubClass->campaigndelay = 0; }else $listsubClass->campaigndelay -= $time; if(!empty($action['skipedfollowups'])){ $action['skipedfollowups'] = intval($action['skipedfollowups']); if(!empty($action['skipedfollowups'])) $listsubClass->skipedfollowups = $action['skipedfollowups']; } $listsubClass->checkAccess = false; $listsubClass->sendNotif = false; $listsubClass->sendConf = false; foreach($subids as $subid){ if(empty($action['status'])){ $listsubClass->removeSubscription($subid, array($listid)); }elseif($action['status'] == -1) $listsubClass->updateSubscription($subid, array('-1' => array($listid))); else $listsubClass->addSubscription($subid, array('1' => array($listid))); } } $nbsubscribed = count($subids); if(empty($action['status'])){ return JText::sprintf('IMPORT_REMOVE', $nbsubscribed, '<b><i>'.$myList->name.'</i></b>'); }elseif($action['status'] == -1){ return JText::sprintf('NB_UNSUB_USERS', $nbsubscribed); }else{ return JText::sprintf('IMPORT_SUBSCRIBE_CONFIRMATION', $nbsubscribed, '<b><i>'.$myList->name.'</i></b>'); } } function acymailing_replaceusertags(&$email, &$user, $send = true){ $this->_replacesubscriptiontags($email, $user); $this->_replacelisttags($email, $user, $send); } function acymailing_replacetags(&$email, $send = true){ $this->_replacemailtags($email); } private function _replacemailtags(&$email){ $variables = array('subject', 'body', 'altbody'); $acypluginsHelper = acymailing_get('helper.acyplugins'); $result = $acypluginsHelper->extractTags($email, 'mail'); $tags = array(); foreach($result as $key => $oneTag){ $field = $oneTag->id; if(!empty($email) && !empty($email->$field)){ $text = $email->$field; $acypluginsHelper->formatString($text, $oneTag); $tags[$key] = $text; }else{ $tags[$key] = $oneTag->default; } } foreach($variables as $var){ if(empty($email->$var)) continue; $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } private function _replacelisttags(&$email, &$user, $send){ if(!empty($email->ReplyTo)){ $toDelete = 0; foreach($email->ReplyTo as $i => $replyto){ if(trim($i) != '{list:members}') continue; $toDelete = $i; break; } if(!empty($toDelete)){ unset($email->ReplyTo[$toDelete]); $acyConfig = acymailing_config(); $listMembers = $this->loadlistmembers($email, $user); foreach($listMembers as $member){ if($acyConfig->get('add_names', true) && !empty($member->name)){ $replyToName = $email->cleanText(trim($member->name)); }else{ $replyToName = ''; } $email->AddReplyTo($email->cleanText($member->email), $replyToName); } } } $this->acypluginsHelper = acymailing_get('helper.acyplugins'); $tags = $this->acypluginsHelper->extractTags($email, 'list'); if(empty($tags)) return; $replaceTags = array(); foreach($tags as $oneTag => $parameter){ $method = '_list'.trim(strtolower($parameter->id)); if(method_exists($this, $method)){ $replaceTags[$oneTag] = $this->$method($email, $user, $parameter); }else{ $replaceTags[$oneTag] = 'Method not found : '.$method; } } $this->acypluginsHelper->replaceTags($email, $replaceTags, true); } private function _getattachedlistid($email, $subid){ $mailid = $email->mailid; $type = strtolower($email->type); if(isset($this->lists[$mailid][$subid])) return $this->lists[$mailid][$subid]; $db = JFactory::getDBO(); if($type == 'followup'){ $db->setQuery('SELECT a.listid FROM #__acymailing_listsub AS a JOIN #__acymailing_listcampaign AS b ON a.listid = b.listid JOIN #__acymailing_listmail AS c ON b.campaignid = c.listid WHERE a.subid = '.intval($subid).' AND c.mailid = '.intval($mailid).' ORDER BY a.status DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } if(in_array($type, array('news', 'autonews'))){ if(!empty($subid)){ $db->setQuery('SELECT a.listid FROM #__acymailing_listsub as a JOIN #__acymailing_listmail as b ON a.listid = b.listid WHERE a.subid = '.intval($subid).' AND b.mailid = '.intval($mailid).' ORDER BY a.status DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } $db->setQuery('SELECT a.listid FROM #__acymailing_listmail as a JOIN #__acymailing_list as b ON a.listid = b.listid WHERE a.mailid = '.intval($mailid).' ORDER BY b.published DESC , b.visible DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } if($type == 'welcome' && !empty($subid)){ $db->setQuery('SELECT a.listid FROM #__acymailing_list as a JOIN #__acymailing_listsub as b ON a.listid = b.listid WHERE a.welmailid = '.intval($mailid).' AND b.subid = '.intval($subid).' ORDER BY b.subdate DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } if($type == 'unsub' && !empty($subid)){ $db->setQuery('SELECT a.listid FROM #__acymailing_list as a JOIN #__acymailing_listsub as b ON a.listid = b.listid WHERE a.unsubmailid = '.intval($mailid).' AND b.subid = '.intval($subid).' ORDER BY b.unsubdate DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } $allLists = array_merge(JRequest::getVar('subscription', '', '', 'array'), explode(',', JRequest::getVar('hiddenlists', '', '', 'string'))); $data = JRequest::getVar('data', '', '', 'array'); if(!empty($data['listsub'])){ $allLists = array_merge($allLists, array_keys($data['listsub'])); } if(!empty($allLists) && in_array($type, array('unsub', 'welcome'))){ JArrayHelper::toInteger($allLists); $db->setQuery('SELECT a.listid FROM #__acymailing_list as a WHERE (a.welmailid = '.intval($mailid).' OR unsubmailid = '.intval($mailid).') AND listid IN ('.implode(',', $allLists).') ORDER BY a.published DESC, a.visible DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } $db->setQuery('SELECT a.listid FROM #__acymailing_list as a WHERE (a.welmailid = '.intval($mailid).' OR unsubmailid = '.intval($mailid).') ORDER BY a.published DESC, a.visible DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } if(!empty($allLists)){ foreach($allLists as $listid){ if(!empty($listid)){ $this->lists[$mailid][$subid] = intval($listid); return intval($listid); } } } if(!empty($subid)){ $db->setQuery('SELECT a.listid FROM #__acymailing_listsub as a JOIN #__acymailing_list as b ON a.listid = b.listid WHERE a.subid = '.intval($subid).' ORDER BY b.published DESC , b.visible DESC LIMIT 1'); $listid = $db->loadResult(); if(!empty($listid)){ $this->lists[$mailid][$subid] = $listid; return $listid; } } } private function _listcount(&$email, &$user, &$parameter){ if(!isset($parameter->listid)){ $listid = $this->_getattachedlistid($email, $user->subid); }else{ $listid = $parameter->listid; } $db = JFactory::getDBO(); if(empty($listid)){ $db->setQuery('SELECT COUNT(subid) FROM #__acymailing_subscriber'); }else{ $db->setQuery('SELECT COUNT(subid) FROM #__acymailing_listsub WHERE listid = '.intval($listid).' AND status = 1'); } return $db->loadResult(); } private function _listsubscription(&$email, &$user, &$parameter){ if(empty($user->subid)) return ""; $listSubClass = acymailing_get('class.listsub'); return $listSubClass->getSubscriptionString($user->subid); } private function _listnames(&$email, &$user, &$parameter){ if(empty($user->subid)) return ""; $listSubClass = acymailing_get('class.listsub'); $usersubscription = $listSubClass->getSubscription($user->subid); if(empty($usersubscription)){ $subscribedLists = $this->_getFormListNames(); if(empty($subscribedLists)) return ''; return implode(isset($parameter->separator) ? $parameter->separator : ', ', $subscribedLists); } $lists = array(); if(!empty($usersubscription)){ foreach($usersubscription as $onesub){ if($onesub->status < 1 || empty($onesub->published)) continue; $lists[] = $onesub->name; } } return implode(isset($parameter->separator) ? $parameter->separator : ', ', $lists); } private function _getFormListNames(){ $allLists = array_merge(JRequest::getVar('subscription', '', '', 'array'), explode(',', JRequest::getVar('hiddenlists', '', '', 'string'))); $data = JRequest::getVar('data', '', '', 'array'); if(!empty($data['listsub'])){ foreach($data['listsub'] as $i => $oneList){ if($oneList['status'] != 1) unset($data['listsub'][$i]); } $allLists = array_merge($allLists, array_keys($data['listsub'])); } if(empty($allLists)) return array(); JArrayHelper::toInteger($allLists); foreach($allLists as $i => $oneList){ if(empty($oneList)) unset($allLists[$i]); } if(empty($allLists)) return array(); $db = JFactory::getDBO(); $db->setQuery('SELECT name FROM #__acymailing_list WHERE listid IN ('.implode(',', $allLists).')'); return acymailing_loadResultArray($db); } private function _listowner(&$email, &$user, &$parameter){ if(empty($user->subid)) return ''; $listid = $this->_getattachedlistid($email, $user->subid); if(empty($listid)) return ""; if(!isset($this->listsowner[$listid])){ $db = JFactory::getDBO(); $db->setQuery('SELECT u.* FROM #__acymailing_list as list JOIN #__users as u ON u.id = list.userid WHERE list.listid = '.intval($listid)); $this->listsowner[$listid] = $db->loadObject(); } if(!in_array($parameter->field, array('username', 'name', 'email'))) return 'Field not found : '.$parameter->field; return @$this->listsowner[$listid]->{$parameter->field}; } private function _loadlist($listid){ if(isset($this->listsinfo[$listid])) return; $db = JFactory::getDBO(); $db->setQuery('SELECT * FROM #__acymailing_list WHERE listid = '.intval($listid)); $this->listsinfo[$listid] = $db->loadObject(); } private function _listname(&$email, &$user, &$parameter){ if(empty($user->subid)) return ''; $listid = $this->_getattachedlistid($email, $user->subid); if(empty($listid)) return "No list => no name!"; $this->_loadlist($listid); return @$this->listsinfo[$listid]->name; } private function _listdescription(&$email, &$user, &$parameter){ if(empty($user->subid)) return ''; $listid = $this->_getattachedlistid($email, $user->subid); if(empty($listid)) return "No list => no description!"; $this->_loadlist($listid); return @$this->listsinfo[$listid]->description; } private function _listid(&$email, &$user, &$parameter){ if(empty($user->subid)) return ''; $listid = $this->_getattachedlistid($email, $user->subid); if(empty($listid)) return "No list => no ID!"; return $listid; } private function loadlistmembers(&$email, &$user){ if(empty($user->subid)) return ''; $listid = $this->_getattachedlistid($email, $user->subid); if(empty($listid)) return array(); $db = JFactory::getDBO(); $db->setQuery('SELECT s.email, s.name FROM #__acymailing_listsub AS l JOIN #__acymailing_subscriber AS s ON s.subid=l.subid WHERE l.listid='.intval($listid).' AND l.status=1 AND s.enabled=1 AND s.accept=1'); return $db->loadObjectList(); } private function _replacesubscriptiontags(&$email, &$user){ $match = '#(?:{|%7B)(modify[^}]*|confirm[^}]*|unsubscribe[^}]*|subscribe[^}]*)(?:}|%7D)(.*)(?:{|%7B)/(modify|confirm|unsubscribe|subscribe)(?:}|%7D)#Uis'; $variables = array('subject', 'body', 'altbody'); $found = false; $results = array(); foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $tags = array(); $this->listunsubscribe = false; foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; $tags[$oneTag] = $this->replaceSubscriptionTag($allresults, $i, $user, $email); } } foreach(array_keys($results) as $var){ $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } function replaceSubscriptionTag(&$allresults, $i, &$user, &$email){ if(empty($user->subid)){ return ''; } if(empty($user->key)){ $user->key = acymailing_generateKey(14); $db = JFactory::getDBO(); $db->setQuery('UPDATE '.acymailing_table('subscriber').' SET `key`= '.$db->Quote($user->key).' WHERE subid = '.(int)$user->subid.' LIMIT 1'); $db->query(); } $config = acymailing_config(); $lang = empty($email->language) ? '' : '&lang='.$email->language; $parameters = $this->acypluginsHelper->extractTag($allresults[1][$i]); $itemId = $this->params->get(strtolower($parameters->id).'itemid', $config->get('itemid', 0)); $itemId = empty($parameters->itemid) ? $itemId : intval($parameters->itemid); $item = empty($itemId) ? '' : '&Itemid='.$itemId; if($parameters->id == 'confirm'){ //confirm your subscription link $myLink = acymailing_frontendLink('index.php?subid='.$user->subid.'&option=com_acymailing&ctrl=user&task=confirm&key='.urlencode($user->key).$item.$lang, (bool)$this->params->get('confirmtemplate', false)); if(empty($allresults[2][$i])) return $myLink; return '<a target="_blank" href="'.$myLink.'">'.$allresults[2][$i].'</a>'; }elseif($parameters->id == 'modify'){ //modify your subscription link $myLink = acymailing_frontendLink('index.php?subid='.$user->subid.'&option=com_acymailing&ctrl=user&task=modify&key='.urlencode($user->key).$item.$lang, (bool)$this->params->get('modifytemplate', false)); if(empty($allresults[2][$i])) return $myLink; return '<a style="text-decoration:none;" target="_blank" href="'.$myLink.'"><span class="acymailing_unsub">'.$allresults[2][$i].'</span></a>'; }elseif($parameters->id == 'subscribe'){ //add a direct subscription link if(empty($parameters->lists)) return 'You must select at least one list'; $lists = explode(',', $parameters->lists); JArrayHelper::toInteger($lists); $captchaKey = $config->get('captcha_plugin') == 'acycaptcha' ? '&seckey='.$config->get('security_key', '') : ''; $myLink = acymailing_frontendLink('index.php?option=com_acymailing&ctrl=sub&task=optin&hiddenlists='.implode(',', $lists).'&user[email]='.urlencode($user->email).$item.$lang.$captchaKey, false); if(empty($allresults[2][$i])) return $myLink; return '<a style="text-decoration:none;" target="_blank" href="'.$myLink.'"><span class="acymailing_unsub">'.$allresults[2][$i].'</span></a>'; }//unsubscribe link $myLink = acymailing_frontendLink('index.php?subid='.$user->subid.'&option=com_acymailing&ctrl=user&task=out&mailid='.$email->mailid.'&key='.urlencode($user->key).$item.$lang, (bool)$this->params->get('unsubscribetemplate', false)); if(!$this->listunsubscribe && $this->params->get('listunsubscribe', 0) && method_exists($email, 'addCustomHeader')){ $this->listunsubscribe = true; $mailto = $this->params->get('listunsubscribeemail'); if(empty($mailto)) $mailto = @$email->replyemail; if(empty($mailto)) $mailto = $config->get('reply_email'); $email->addCustomHeader('List-Unsubscribe: <'.$myLink.'>, <mailto:'.$mailto.'?subject=unsubscribe_user_'.$user->subid.'&body=Please%20unsubscribe%20user%20ID%20'.$user->subid.'>'); } if(empty($allresults[2][$i])) return $myLink; return '<a style="text-decoration:none;" target="_blank" href="'.$myLink.'"><span class="acymailing_unsub">'.$allresults[2][$i].'</span></a>'; } }//endclass PK ! �c��� � # tagsubscription/tagsubscription.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : Manage the Subscription</name> <creationDate>juillet 2016</creationDate> <version>5.5.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add link to manage the subscription of the user</description> <files> <filename plugin="tagsubscription">tagsubscription.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagsubscription"/> <param name="unsubscribetemplate" type="radio" default="0" label="Display the unsubscribe page" description="Select if you want to display the unsubscribe page (when the user clicks on the unsubscribe link) without any Joomla module (no template) or inside your default Joomla Template"> <option value="0">Standard template</option> <option value="1">No template</option> </param> <param name="listunsubscribe" type="radio" default="0" label="Add list-unsubscribe header" description="If you insert an unsubscribe link, should Acy also insert the link in the list-unsubscribe field? See www.list-unsubscribe.com"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </param> <param name="listunsubscribeemail" type="text" size="20" default="" label="List-unsubscribe e-mail" description="The GMail feedback loops works with a list-unsubscribe e-mail address. By default Acy will add the reply-to e-mail address but you can specify another e-mail address there" /> <param name="modifytemplate" type="radio" default="0" label="Display the modify your subscription" description="Select if you want to display the modify your subscription page (when the user clicks on the modify you subscription link) without any Joomla module (no template) or inside your default Joomla Template"> <option value="0">Standard template</option> <option value="1">No template</option> </param> <param name="confirmtemplate" type="radio" default="0" label="Display the confirmation page" description="Select if you want to display the confirmation page (when the user clicks on the confirmation link) without any Joomla module (no template) or inside your default Joomla Template"> <option value="0">Standard template</option> <option value="1">No template</option> </param> <param name="displayfilter_mail" type="radio" default="1" label="Display filter" description="Display the subscription filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </param> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagsubscription"/> <field name="unsubscribetemplate" type="radio" default="0" label="Display the unsubscribe page" description="Select if you want to display the unsubscribe page (when the user clicks on the unsubscribe link) without any Joomla module (no template) or inside your default Joomla Template"> <option value="0">Standard template</option> <option value="1">No template</option> </field> <field name="listunsubscribe" type="radio" default="0" label="Add list-unsubscribe header" description="If you insert an unsubscribe link, should Acy also insert the link in the list-unsubscribe field? See www.list-unsubscribe.com"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </field> <field name="listunsubscribeemail" type="text" size="20" default="" label="List-unsubscribe e-mail" description="The GMail feedback loops works with a list-unsubscribe e-mail address. By default Acy will add the reply-to e-mail address but you can specify another e-mail address there" /> <field name="modifytemplate" type="radio" default="0" label="Display the modify your subscription" description="Select if you want to display the modify your subscription page (when the user clicks on the modify you subscription link) without any Joomla module (no template) or inside your default Joomla Template"> <option value="0">Standard template</option> <option value="1">No template</option> </field> <field name="confirmtemplate" type="radio" default="0" label="Display the confirmation page" description="Select if you want to display the confirmation page (when the user clicks on the confirmation link) without any Joomla module (no template) or inside your default Joomla Template"> <option value="0">Standard template</option> <option value="1">No template</option> </field> <field name="displayfilter_mail" type="radio" default="1" label="Display filter" description="Display the subscription filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </field> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! ���j-6 -6 managetext/managetext.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php defined('_JEXEC') or die('Restricted access'); class plgAcymailingManagetext extends JPlugin{ var $foundtags = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'managetext'); $this->params = new acyParameter($plugin->params); } } function acymailing_replacetags(&$email, $send = true){ $this->_replaceConstant($email); $this->_replaceRandom($email); } function acymailing_replaceusertags(&$email, &$user, $send = true){ $this->_removetext($email); $this->_addfooter($email); $this->_ifstatement($email, $user); } private function _replaceConstant(&$email){ $acypluginsHelper = acymailing_get('helper.acyplugins'); $tags = $acypluginsHelper->extractTags($email, '(?:const|trans|config)'); if(empty($tags)) return; $jconfig = JFactory::getConfig(); $tagsReplaced = array(); foreach($tags as $i => $oneTag){ $val = ''; $arrayVal = array(); foreach($oneTag as $valname => $oneValue){ if($valname == 'id'){ $val = trim(strip_tags($oneValue)); }elseif($valname != 'default'){ $arrayVal[] = '{'.$valname.'}'; } } if(empty($val)) continue; $tagValues = explode(':', $i); $type = ltrim($tagValues[0], '{'); if($type == 'const'){ $tagsReplaced[$i] = defined($val) ? constant($val) : 'Constant not defined : '.$val; }elseif($type == 'config'){ if($val == 'sitename'){ $tagsReplaced[$i] = ACYMAILING_J30 ? $jconfig->get($val) : $jconfig->getValue('config.'.$val); } }else{ static $done = false; if(!$done && strpos($val, 'COM_USERS') !== false){ $done = true; $lang = JFactory::getLanguage(); $lang->load('com_users', JPATH_SITE); $lang->load('com_users', JPATH_ADMINISTRATOR); } if(!empty($arrayVal)){ $tagsReplaced[$i] = nl2br(vsprintf(JText::_($val), $arrayVal)); }else{ $tagsReplaced[$i] = JText::_($val); } } } $acypluginsHelper->replaceTags($email, $tagsReplaced, true); } private function _replaceRandom(&$email){ $pluginHelper = acymailing_get('helper.acyplugins'); $randTag = $pluginHelper->extractTags($email, "rand"); if(empty($randTag)) return; foreach($randTag as $oneRandTag){ $results[$oneRandTag->id] = explode(';', $oneRandTag->id); $randNumber = rand(0, count($results[$oneRandTag->id]) - 1); $results[$oneRandTag->id][count($results[$oneRandTag->id])] = $results[$oneRandTag->id][$randNumber]; } $tags = array(); foreach(array_keys($results) as $oneResult){ $tags['{rand:'.$oneResult.'}'] = end($results[$oneResult]); } if(empty($tags)) return; $pluginHelper->replaceTags($email, $tags, true); } private function _ifstatement(&$email, $user, $loop = 1){ if(isset($this->noIfStatementTags[$email->mailid])) return; $isAdmin = JFactory::getApplication()->isAdmin(); if($loop > 3){ if($isAdmin) acymailing_display('You cannot have more than 3 nested {if} tags.', 'warning'); return; } $match = '#{if:(((?!{if).)*)}(((?!{if).)*){/if}#Uis'; $variables = array('subject', 'body', 'altbody', 'From', 'FromName', 'ReplyTo'); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; if(is_array($email->$var)){ foreach($email->$var as $i => &$arrayField){ if(empty($arrayField) || !is_array($arrayField)) continue; foreach($arrayField as $key => &$oneval){ $found = preg_match_all($match, $oneval, $results[$var.$i.'-'.$key]) || $found; if(empty($results[$var.$i.'-'.$key][0])) unset($results[$var.$i.'-'.$key]); } } }else{ $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } } if(!$found){ if($loop == 1) $this->noIfStatementTags[$email->mailid] = true; return; } static $a = false; $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; if(!preg_match('#^([^=!<>~]+)(=|!=|<|>|>|<|~|!~)([^=!<>~]+)$#i', $allresults[1][$i], $operators)){ if($isAdmin) acymailing_display('Operation not found : '.$allresults[1][$i], 'error'); $tags[$oneTag] = $allresults[3][$i]; continue; }; $field = trim($operators[1]); $prop = ''; $operatorsParts = explode('.', $operators[1]); $operatorComp = 'acymailing'; if(count($operatorsParts) == 2 && in_array($operatorsParts[0], array('acymailing', 'joomla', 'var'))){ $operatorComp = $operatorsParts[0]; $field = $operatorsParts[1]; } if($operatorComp == 'joomla'){ if(!empty($user->userid)){ if($field == 'gid' && ACYMAILING_J16){ $db = JFactory::getDBO(); $db->setQuery('SELECT group_id FROM #__user_usergroup_map WHERE user_id = '.intval($user->userid)); $prop = implode(';', acymailing_loadResultArray($db)); }else{ $db = JFactory::getDBO(); $db->setQuery('SELECT * FROM #__users WHERE id = '.intval($user->userid)); $juser = $db->loadObject(); if(isset($juser->{$field})){ $prop = strtolower($juser->{$field}); }else{ if($isAdmin && !$a) acymailing_display('User variable not set : '.$field.' in '.$allresults[1][$i], 'error'); $a = true; } } } }elseif($operatorComp == 'var'){ $prop = strtolower($field); }else{ if(!isset($user->{$field})){ if($isAdmin && !$a) acymailing_display('User variable not set : '.$field.' in '.$allresults[1][$i], 'error'); $a = true; }else{ $prop = strtolower($user->{$field}); } } $tags[$oneTag] = ''; $val = trim(strtolower($operators[3])); if($operators[2] == '=' && ($prop == $val || in_array($prop, explode(';', $val)) || in_array($val, explode(';', $prop)))){ $tags[$oneTag] = $allresults[3][$i]; }elseif($operators[2] == '!=' && $prop != $val){ $tags[$oneTag] = $allresults[3][$i]; }elseif(($operators[2] == '>' || $operators[2] == '>') && $prop > $val){ $tags[$oneTag] = $allresults[3][$i]; }elseif(($operators[2] == '<' || $operators[2] == '<') && $prop < $val){ $tags[$oneTag] = $allresults[3][$i]; }elseif($operators[2] == '~' && strpos($prop, $val) !== false){ $tags[$oneTag] = $allresults[3][$i]; }elseif($operators[2] == '!~' && strpos($prop, $val) === false){ $tags[$oneTag] = $allresults[3][$i]; } } } foreach($variables as &$var){ if(empty($email->$var)) continue; if(is_array($email->$var)){ foreach($email->$var as &$arrayField){ if(empty($arrayField) || !is_array($arrayField)) continue; foreach($arrayField as &$oneval){ $oneval = str_replace(array_keys($tags), $tags, $oneval); } } }else{ $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } $this->_ifstatement($email, $user, $loop + 1); } private function _removetext(&$email){ $removetext = $this->params->get('removetext', '{reg},{/reg},{pub},{/pub}'); if(!empty($removetext)){ $removeArray = explode(',', trim($removetext, ' ,')); if(!empty($email->body)) $email->body = str_replace($removeArray, '', $email->body); if(!empty($email->altbody)) $email->altbody = str_replace($removeArray, '', $email->altbody); } $removetags = $this->params->get('removetags', 'youtube'); if(!empty($removetags)){ $regex = array(); $removeArray = explode(',', trim($removetags, ' ,')); foreach($removeArray as $oneTag){ if(empty($oneTag)) continue; $regex[] = '#(?:{|%7B)'.preg_quote($oneTag, '#').'(?:}|%7D).*(?:{|%7B)/'.preg_quote($oneTag, '#').'(?:}|%7D)#Uis'; $regex[] = '#(?:{|%7B)'.preg_quote($oneTag, '#').'[^}]*(?:}|%7D)#Uis'; } if(!empty($email->body)) $email->body = preg_replace($regex, '', $email->body); if(!empty($email->altbody)) $email->altbody = preg_replace($regex, '', $email->altbody); } } private function _addfooter(&$email){ $footer = $this->params->get('footer'); if(!empty($footer)){ if(strpos($email->body, '</body>')){ $email->body = str_replace('</body>', '<br />'.$footer.'</body>', $email->body); }else{ $email->body .= '<br />'.$footer; } if(!empty($email->altbody)){ $email->altbody .= "\n".$footer; } } } function onAcyDisplayFilters(&$type, $context = "massactions"){ $app = JFactory::getApplication(); if($this->params->get('displayfilter_'.$context, true) == false || ($this->params->get('frontendaccess') == 'none' && !$app->isAdmin())) return; $type['limitrand'] = JText::sprintf('ACY_RAND_LIMIT', 'X'); $return = '<div id="filter__num__limitrand">'.JText::sprintf('ACY_RAND_LIMIT', '<input type="text" style="width:60px" value="30" name="filter[__num__][limitrand][nbusers]" />').'</div>'; return $return; } function onAcyDisplayFilter_limitrand($filter){ return JText::sprintf('ACY_RAND_LIMIT', $filter['nbusers']); } function onAcyProcessFilter_limitrand(&$query, $filter, $num){ $query->limit = intval($filter['nbusers']); $query->orderBy = 'RAND()'; } function onAcyDisplayActions(&$type){ $type['addqueue'] = JText::_('ADD_QUEUE'); $type['removequeue'] = JText::_('REMOVE_QUEUE'); $db = JFactory::getDBO(); $db->setQuery("SELECT `mailid`,`subject`, `type` FROM `#__acymailing_mail` WHERE `type` NOT IN ('notification','autonews','joomlanotification') OR `alias` = 'confirmation' ORDER BY `type`,`senddate` DESC LIMIT 5000"); $allEmails = $db->loadObjectList(); $emailsToDisplay = array(); $typeNews = ''; foreach($allEmails as $oneMail){ if($oneMail->type != $typeNews){ if(!empty($typeNews)) $emailsToDisplay[] = JHTML::_('select.option', '</OPTGROUP>'); $typeNews = $oneMail->type; if($oneMail->type == 'news'){ $label = JText::_('NEWSLETTERS'); }elseif($oneMail->type == 'followup'){ $label = JText::_('FOLLOWUP'); }elseif($oneMail->type == 'welcome'){ $label = JText::_('MSG_WELCOME'); }elseif($oneMail->type == 'unsub'){ $label = JText::_('MSG_UNSUB'); }else{ $label = $oneMail->type; } $emailsToDisplay[] = JHTML::_('select.option', '<OPTGROUP>', $label); } $emailsToDisplay[] = JHTML::_('select.option', $oneMail->mailid, $oneMail->subject.' ['.$oneMail->mailid.']'); } $emailsToDisplay[] = JHTML::_('select.option', '</OPTGROUP>'); $addqueue = '<div id="action__num__addqueue">'.JHTML::_('select.genericlist', $emailsToDisplay, "action[__num__][addqueue][mailid]", 'class="inputbox" size="1"').'<br /><label for="addqueuesenddate__num__">'.JText::_('SEND_DATE').' </label> <input type="text" value="{time}" id="addqueuesenddate__num__" name="action[__num__][addqueue][senddate]" onclick="displayDatePicker(this,event)"/></div>'; $allMessages = JHTML::_('select.option', 0, JText::_('ACY_ALL')); array_unshift($emailsToDisplay, $allMessages); $removequeue = '<div id="action__num__removequeue">'.JHTML::_('select.genericlist', $emailsToDisplay, "action[__num__][removequeue][mailid]", 'class="inputbox" size="1"').'</div>'; return $addqueue.$removequeue; } function onAcyProcessAction_addqueue($cquery, $action, $num){ $action['mailid'] = intval($action['mailid']); if(empty($action['mailid'])) return 'Mailid not valid'; if(empty($action['senddate'])) return 'Send date not valid'; $action['senddate'] = acymailing_replaceDate($action['senddate']); if(!is_numeric($action['senddate'])) $action['senddate'] = acymailing_getTime($action['senddate']); if(empty($action['senddate'])) return 'send date not valid'; $query = 'INSERT IGNORE INTO `#__acymailing_queue` (`mailid`,`subid`,`senddate`,`priority`) '.$cquery->getQuery(array($action['mailid'], 'sub.`subid`', $action['senddate'], '2')); $db = JFactory::getDBO(); $db->setQuery($query); $db->query(); return JText::sprintf('ADDED_QUEUE', $db->getAffectedRows()); } function onAcyProcessAction_removequeue($cquery, $action, $num){ $action['mailid'] = intval($action['mailid']); if(!empty($action['mailid'])) $cquery->where['queueremove'] = 'queueremove.mailid = '.$action['mailid']; $query = 'DELETE queueremove.* FROM `#__acymailing_queue` as queueremove '; $query .= 'JOIN `#__acymailing_subscriber` as sub ON queueremove.subid = sub.subid '; if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); if(!empty($cquery->where)) $query .= ' WHERE ('.implode(') AND (', $cquery->where).')'; $db = JFactory::getDBO(); $db->setQuery($query); $db->query(); unset($cquery->where['queueremove']); return JText::sprintf('SUCC_DELETE_ELEMENTS', $db->getAffectedRows()); } function onAcyProcessAction_displayUsers($cquery, $action, $num){ $res = array(); $res['countTotal'] = $cquery->count(); if(empty($cquery->limit) || $cquery->limit > 50) $cquery->limit = 20; $query = $cquery->getQuery(array('sub.`subid`', 'sub.email', 'sub.name')); $db = JFactory::getDBO(); $db->setQuery($query); $users = $db->loadObjectList(); $res['users'] = $users; return $res; } }//endclass PK ! �#o, , managetext/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! 4 $7O O managetext/managetext.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Manage text</name> <creationDate>October 2010</creationDate> <version>1.0.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to remove some text from your Newsletter or add a signature at the end of all your Newsletters or add/remove an e-mail from the queue...</description> <files> <filename plugin="managetext">managetext.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-managetext"/> <param name="removetext" type="text" size="100" default="{reg},{/reg},{pub},{/pub}" label="Text to remove" description="Enter the different strings you want AcyMailing to remove and separate them with a comma. Example : {reg},{/reg},{pub},{/pub}" /> <param name="removetags" type="text" size="100" default="youtube" label="Code to remove" description="AcyMailing will remove all tags specified in this option and its content, separate them with a comma" /> <param name="footer" type="textarea" rows="5" cols="35" default="" label="Footer" description="Write the text you want to be added at the end of each e-mail" /> <param name="@spacer" type="spacer" default="" label="" description="" /> <param name="frontendaccess" type="list" default="all" label="Front-end Access for filter" description="You can restrict the access to the filter 'Randomly select X Users' on the Front-end"> <option value="all">Always display this filter</option> <option value="none">Don't display this filter on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-managetext"/> <field name="removetext" type="text" size="100" default="{reg},{/reg},{pub},{/pub}" label="Text to remove" description="Enter the different strings you want AcyMailing to remove and separate them with a comma. Example : {reg},{/reg},{pub},{/pub}" /> <field name="removetags" type="text" size="100" default="youtube" label="Code to remove" description="AcyMailing will remove all tags specified in this option and its content, separate them with a comma" /> <field name="footer" type="textarea" rows="5" cols="35" default="" label="Footer" description="Write the text you want to be added at the end of each e-mail" filter="SAFEHTML" /> <field name="@spacer" type="spacer" default="" label="" description="" /> <field name="frontendaccess" type="list" default="all" label="Front-end Access for filter" description="You can restrict the access to the filter 'Randomly select X Users' on the Front-end"> <option value="all">Always display this filter</option> <option value="none">Don't display this filter on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! �#o, , template/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! ���� � template/template.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Template Class Replacer</name> <creationDate>juillet 2016</creationDate> <version>5.5.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved.</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables AcyMailing to replace CSS class in each email</description> <files> <filename plugin="template">template.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-template"/> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-template"/> </fieldset> </fields> </config> </extension> PK ! 5�d�R% R% template/template.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTemplate extends JPlugin{ var $templates = array(); var $tags = array(); var $headerstyles = array(); var $others = array(); var $stylesheets = array(); var $templateClass = ''; var $config; function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'template'); $this->params = new acyParameter($plugin->params); } $this->config = acymailing_config(); if(version_compare(PHP_VERSION, '5.0.0', '>=') && class_exists('DOMDocument') && function_exists('mb_convert_encoding')){ require_once(ACYMAILING_FRONT.'inc'.DS.'emogrifier'.DS.'emogrifier.php'); } } private function _applyTemplate(&$email, $addbody){ if(empty($email->tempid)) return; if(!isset($this->templates[$email->tempid])){ $this->headerstyles[$email->tempid] = array(); $this->headerstyles[$email->tempid][] = '.ReadMsgBody{width: 100%;}'; $this->headerstyles[$email->tempid][] = '.ExternalClass{width: 100%;}'; $this->headerstyles[$email->tempid][] = 'div, p, a, li, td { -webkit-text-size-adjust:none; }'; $this->headerstyles[$email->tempid][] = 'a[x-apple-data-detectors]{ color: inherit !important; text-decoration: inherit !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !i mportant; line-height: inherit !important; }'; $this->templates[$email->tempid] = array(); if(empty($this->templateClass)){ $this->templateClass = acymailing_get('class.template'); } if(!empty($email->template) && $email->tempid == $email->template->tempid){ $template = $email->template; }else{ $template = $email->template = $this->templateClass->get($email->tempid); } if(!empty($template->styles) OR !empty($template->stylesheet)){ $this->stylesheets[$email->tempid] = $this->templateClass->buildCSS($template->styles, $template->stylesheet); if(preg_match_all('#@import[^;]*;#is', $this->stylesheets[$email->tempid], $results)){ foreach($results[0] as $oneResult){ array_unshift($this->headerstyles[$email->tempid], trim($oneResult)); } } if(preg_match_all('#@media.*}[^{}]*}#Uis', $this->stylesheets[$email->tempid], $results)){ foreach($results[0] as $oneResult){ $this->stylesheets[$email->tempid] = str_replace($oneResult, '', $this->stylesheets[$email->tempid]); $this->headerstyles[$email->tempid][] = trim($oneResult); } } if(preg_match_all('#}([^}]+:hover[^{]*{[^{]*})#Uis', '} '.$this->stylesheets[$email->tempid], $results)){ foreach($results[1] as $oneResult){ $this->stylesheets[$email->tempid] = str_replace($oneResult, '', $this->stylesheets[$email->tempid]); $this->headerstyles[$email->tempid][] = trim($oneResult); } } } if(!empty($template->styles)){ foreach($template->styles as $class => $style){ if(empty($style)) continue; if(preg_match('#^tag_(.*)$#', $class, $result)){ $this->tags[$email->tempid]['#< *'.$result[1].'((?:(?!style).)*)>#Ui'] = '<'.$result[1].' style="'.$style.'" $1>'; if(strpos($style, '!important')) $this->headerstyles[$email->tempid][] = $result[1].'{ '.str_replace('!important', '', $style).' }'; }elseif($class == 'color_bg'){ $this->others[$email->tempid][$class] = $style; }else{ $this->templates[$email->tempid]['class="'.$class.'"'] = 'style="'.$style.'"'; } } if(!empty($template->styles['tag_a'])){ $this->headerstyles[$email->tempid][] = 'a:visited{'.$template->styles['tag_a'].'}'; } } } if($addbody AND !strpos($email->body, '</body>')){ $before = '<html><head>'."\n"; $before .= '<meta http-equiv="Content-Type" content="text/html; charset='.strtolower($this->config->get('charset')).'" />'."\n"; $before .= '<meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n"; $before .= '<title>'.$email->subject.'</title>'."\n"; if(!empty($this->headerstyles[$email->tempid])){ $before .= '<style type="text/css">'."\n"; $before .= implode("\n", $this->headerstyles[$email->tempid])."\n"; $before .= '</style>'."\n"; } $before .= '</head>'."\n".'<body yahoo="fix"'; if(!empty($this->others[$email->tempid]['color_bg'])) $before .= ' bgcolor="'.$this->others[$email->tempid]['color_bg'].'" '; $before .= '>'."\n"; $email->body = $before.$email->body.'</body>'."\n".'</html>'; } if(!empty($this->stylesheets[$email->tempid]) AND class_exists('acymailingEmogrifier')){ $emogrifier = new acymailingEmogrifier($email->body, $this->stylesheets[$email->tempid]); $email->body = $emogrifier->emogrify(); if(!$addbody AND strpos($email->body, '<!DOCTYPE') !== false){ $email->body = preg_replace('#<\!DOCTYPE.*<body([^>]*)>#Usi', '', $email->body); $email->body = preg_replace('#</body>.*$#si', '', $email->body); } }else{ if(!empty($this->templates[$email->tempid])){ $email->body = str_replace(array_keys($this->templates[$email->tempid]), $this->templates[$email->tempid], $email->body); } if(!empty($this->tags[$email->tempid])){ $email->body = preg_replace(array_keys($this->tags[$email->tempid]), $this->tags[$email->tempid], $email->body); } } $newbody = preg_replace('#(<(div|tr|td|table)[^>]*)title="[^"]*"#Uis', '$1', $email->body); if(!empty($newbody)) $email->body = $newbody; $newbody = preg_replace('# id="zone_[0-9]+"#Uis', ' ', $email->body); if(!empty($newbody)) $email->body = $newbody; $newbody = preg_replace('# *(acyeditor_text|acyeditor_picture|acyeditor_delete|acyeditor_sortable|ui-sortable) *#is', '', $email->body); $newbody = preg_replace('#(class|title|style|id)=" *"#Ui', '', $newbody); if(!empty($newbody)) $email->body = $newbody; } public function acymailing_replaceusertags(&$email, &$user, $send = true){ if(!$email->sendHTML) return; if((!acymailing_level(1) || acymailing_level(4)) && !empty($email->type) && in_array($email->type,array('news','followup'))){ $pict = '<div style="text-align:center;margin:10px auto;display:block;"><a target="_blank" href="https://www.acyba.com/?utm_source=acymailing&utm_medium=e-mail&utm_content=img&utm_campaign=powered-by"><img alt="Powered by AcyMailing" src="media/com_acymailing/images/poweredby.png" /></a></div>'; if(strpos($email->body, '</body>')){ $email->body = str_replace('</body>', $pict.'</body>', $email->body); }else{ $email->body .= $pict; } } $this->_applyTemplate($email, $send); $email->body = preg_replace('#< *(tr|td|table)([^>]*)(style="[^"]*)background-image *: *url\(\'?([^)\']*)\'?\);?#Ui', '<$1 background="$4" $2 $3', $email->body); $email->body = acymailing_absoluteURL($email->body); if(preg_match_all('#< *img([^>]*)>#Ui', $email->body, $allPictures)){ foreach($allPictures[0] as $i => $onePict){ if(strpos($onePict, 'align=') !== false) continue; if(!preg_match('#(style="[^"]*)(float *: *)(right|left|top|bottom|middle)#Ui', $onePict, $pictParams)) continue; $newPict = str_replace('<img', '<img align="'.$pictParams[3].'" ', $onePict); $email->body = str_replace($onePict, $newPict, $email->body); if(strpos($onePict, 'hspace=') !== false) continue; $hspace = 5; if(preg_match('#margin(-right|-left)? *:([^";]*)#i', $onePict, $margins)){ $currentMargins = explode(' ', trim($margins[2])); $myMargin = (count($currentMargins) > 1) ? $currentMargins[1] : $currentMargins[0]; if(strpos($myMargin, 'px') !== false) $hspace = preg_replace('#[^0-9]#i', '', $myMargin); } $lastPict = str_replace('<img', '<img hspace="'.$hspace.'" ', $newPict); $email->body = str_replace($newPict, $lastPict, $email->body); } } if(!preg_match('#(<thead|<tfoot|< *tbody *[^> ]+ *>)#Ui', $email->body)){ $email->body = preg_replace('#< *\/? *tbody *>#Ui', '', $email->body); } $email->body = preg_replace_callback('/src="([^"]* [^"]*)"/Ui', array($this, '_convertSpaces'), $email->body); $this->fixPictureSize($email->body); $acypluginsHelper = acymailing_get('helper.acyplugins'); $acypluginsHelper->fixPictureDim($email->body); }//endfct public function _convertSpaces($matches){ return "src='".str_replace(' ', '%20', $matches[1])."'"; } private function fixPictureSize(&$body){ if(!preg_match_all('#(<img)([^>]*>)#i', $body, $results)) return; $replace = array(); $widthheight = array('width', 'height'); foreach($results[0] as $num => $oneResult){ $add = array(); foreach($widthheight as $whword){ if(preg_match('#'.$whword.' *=#i', $oneResult) || !preg_match('#[^a-z_\-]'.$whword.' *:([0-9 ]{1,8})px#i', $oneResult, $resultWH)) continue; if(empty($resultWH[1])) continue; $add[] = $whword.'="'.trim($resultWH[1]).'" '; } if(!empty($add)) $replace[$oneResult] = '<img '.implode(' ', $add).$results[2][$num]; } if(empty($replace)) return; $body = str_replace(array_keys($replace), $replace, $body); } }//endclass PK ! ��[ tagtime/tagtime.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : Date / Time</name> <creationDate>juillet 2016</creationDate> <version>5.5.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add time or date in your Newsletter</description> <files> <filename plugin="tagtime">tagtime.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagtime"/> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagtime"/> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! c��j� � tagtime/tagtime.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTagtime extends JPlugin{ function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tagtime'); $this->params = new acyParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('ACY_TIME'); $onePlugin->function = 'acymailingtagtime_show'; $onePlugin->help = 'plugin-tagtime'; return $onePlugin; } function acymailingtagtime_show(){ $text = '<br style="clear:both;"/><div class="onelineblockoptions"><table class="acymailing_table" cellpadding="1">'; $others = array(); $others['{date}'] = 'DATE_FORMAT_LC'; $others['{date:1}'] = 'DATE_FORMAT_LC1'; $others['{date:2}'] = 'DATE_FORMAT_LC2'; $others['{date:3}'] = 'DATE_FORMAT_LC3'; $others['{date:4}'] = 'DATE_FORMAT_LC4'; $others['{date:%m/%d/%Y}'] = '%m/%d/%Y'; $others['{date:%d/%m/%y}'] = '%d/%m/%y'; $others['{date:%A}'] = '%A'; $others['{date:%B}'] = '%B'; $k = 0; foreach($others as $tagname => $tag){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\''.$tagname.'\');insertTag();" ><td class="acytdcheckbox"></td><td>'.$tag.'</td><td>'.acymailing_getDate(time(), JText::_($tag)).'</td></tr>'; $k = 1 - $k; } $text .= '</table></div>'; echo $text; } function acymailing_replacetags(&$email, $send = true){ $match = '#{date:?([^:].*)?}#Ui'; $variables = array('subject', 'body', 'altbody'); foreach($variables as $var){ $email->$var = str_replace(array('{mailid}', '%7Bmailid%7D', '{emailsubject}'), array($email->mailid, $email->mailid, $email->subject), $email->$var); } $email->body = str_replace('{textversion}', nl2br($email->altbody), $email->body); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; $arguments = explode('|', strip_tags($allresults[1][$i])); $parameter = new stdClass(); $parameter->format = $arguments[0]; for($i = 1; $i < count($arguments); $i++){ $args = explode(':', $arguments[$i]); $arg0 = trim($args[0]); if(isset($args[1])){ $parameter->$arg0 = $args[1]; }else{ $parameter->$arg0 = true; } } $time = time(); if(!empty($parameter->senddate) && !empty($email->senddate)) $time = $email->senddate; if(!empty($parameter->add)) $time += intval($parameter->add); if(!empty($parameter->remove)) $time -= intval($parameter->remove); if(empty($parameter->format) OR is_numeric($parameter->format)){ $tags[$oneTag] = acymailing_getDate($time, JText::_('DATE_FORMAT_LC'.$parameter->format)); }else{ $tags[$oneTag] = acymailing_getDate($time, $parameter->format); } } } foreach(array_keys($results) as $var){ $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } }//endclass PK ! �#o, , tagtime/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! �#o, , share/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! ��� � share/share.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing : share on social networks</name> <creationDate>August 2010</creationDate> <version>1.0.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add a share icon for social networks</description> <files> <filename plugin="share">share.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-share"/> <param name="template" type="radio" default="component" label="Display the online version" description="Select if you want to display the online version (when the user will share your link on the social network) without any Joomla module (no template) or inside your default Joomla Template"> <option value="standard">Standard template</option> <option value="component">No template</option> </param> <param name="picturefb" type="text" label="Facebook picture - DEPRECATED" default="media/com_acymailing/images/facebookshare.png" /> <param name="picturetwitter" type="text" label="Twitter picture - DEPRECATED" default="media/com_acymailing/images/twittershare.png" /> <param name="picturelinkedin" type="text" label="LinkedIn picture - DEPRECATED" default="media/com_acymailing/images/linkedin.png" /> <param name="picturehyves" type="text" label="Hyves picture - DEPRECATED" default="media/com_acymailing/images/hyvesshare.png" /> <param name="picturegoogleplus" type="text" label="Google+ picture - DEPRECATED" default="media/com_acymailing/images/google_plusshare.png" /> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-share"/> <field name="template" type="radio" default="component" label="Display the online version" description="Select if you want to display the online version (when the user will share your link on the social network) without any Joomla module (no template) or inside your default Joomla Template"> <option value="standard">Standard template</option> <option value="component">No template</option> </field> <field name="picturefb" type="text" label="Facebook picture - DEPRECATED" default="media/com_acymailing/images/facebookshare.png" /> <field name="picturetwitter" type="text" label="Twitter picture - DEPRECATED" default="media/com_acymailing/images/twittershare.png" /> <field name="picturelinkedin" type="text" label="LinkedIn picture - DEPRECATED" default="media/com_acymailing/images/linkedin.png" /> <field name="picturehyves" type="text" label="Hyves picture - DEPRECATED" default="media/com_acymailing/images/hyvesshare.png" /> <field name="picturegoogleplus" type="text" label="Google+ picture - DEPRECATED" default="media/com_acymailing/images/google_plusshare.png" /> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! /ȟQ� � share/share.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingShare extends JPlugin{ var $pictresults = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'share'); $this->params = new acyParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::sprintf('SOCIAL_SHARE', '...'); $onePlugin->function = 'acymailingtagshare_show'; $onePlugin->help = 'plugin-share'; return $onePlugin; } function _getPictures($folder){ $allFolders = JFolder::folders($folder); foreach($allFolders as $oneFolder){ $this->_getPictures($folder.DS.$oneFolder); } $allFiles = JFolder::files($folder, $this->regex); foreach($allFiles as $oneFile){ $this->pictresults[substr($oneFile, 0, 4)][$oneFile.filesize($folder.DS.$oneFile)] = $folder.DS.$oneFile; } } function acymailingtagshare_show(){ $networks = array(); $networks['facebook'] = 'Facebook'; $networks['linkedin'] = 'LinkedIn'; $networks['twitter'] = 'Twitter'; $networks['hyves'] = 'Hyves'; $networks['google'] = 'Google+'; $networks['print'] = JText::_('ACY_PRINT'); $k = 0; jimport('joomla.filesystem.folder'); $this->regex = '('.implode('|', array_keys($networks)).').*(png|gif|jpeg|jpg)'; $this->_getPictures(ACYMAILING_MEDIA); echo '<br style="clear:both;">'; foreach($networks as $name => $desc){ $shortName = substr($name, 0, 4); if(empty($this->pictresults[$shortName])) continue; if($desc == JText::_('ACY_PRINT')){ $legendTxt = $desc; }else{ $legendTxt = JText::sprintf('SOCIAL_SHARE', $desc); } echo '<div class="onelineblockoptions"> <span class="acyblocktitle">'.$legendTxt.'</span>'; foreach($this->pictresults[$shortName] as $onePict){ $imgPath = preg_replace('#^'.preg_quote(ACYMAILING_ROOT, '#').'#i', ACYMAILING_LIVE, $onePict); $imgPath = str_replace(DS, '/', $imgPath); if($desc == JText::_('ACY_PRINT')){ $insertedtag = '<a target="_blank" href="{print:newsletter}" title="'.JText::_('ACY_PRINT').'" ><img src="'.$imgPath.'" alt="'.$desc.'" /></a>'; }else $insertedtag = '<a target="_blank" href="{sharelink:'.$name.'}" title="'.JText::sprintf('SOCIAL_SHARE', $desc).'" ><img src="'.$imgPath.'" alt="'.$desc.'" /></a>'; echo '<img style="max-width:200px;cursor:pointer;padding:5px;" onclick="setTag(\''.htmlentities($insertedtag).'\');insertTag();" src="'.$imgPath.'" />'; } echo '</div>'; $k = 1 - $k; } } function acymailing_replacetags(&$email, $send = true){ $match = '#(?:{|%7B)(share|sharelink):(.*)(?:}|%7D)#Ui'; $variables = array('body', 'altbody'); $found = false; $results = array(); foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $archiveLink = acymailing_frontendLink('index.php?option=com_acymailing&ctrl=archive&task=view&mailid='.$email->mailid, $this->params->get('template', 'component') == 'component' ? true : false); if(empty($email->published)){ $archiveLink .= (strpos($archiveLink, '?') ? '&' : '?').'time='.time(); } $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $numres => $tagname){ if(isset($tags[$tagname])) continue; $arguments = explode('|', $allresults[2][$numres]); $tag = new stdClass(); $tag->network = $arguments[0]; for($i = 1, $a = count($arguments); $i < $a; $i++){ $args = explode(':', $arguments[$i]); if(isset($args[1])){ $tag->{$args[0]} = $args[1]; }else{ $tag->{$args[0]} = true; } } $link = ''; if($tag->network == 'facebook'){ $link = 'http://www.facebook.com/sharer.php?u='.urlencode($archiveLink).'&t='.urlencode($email->subject); $tags[$tagname] = '<a target="_blank" href="'.$link.'" title="'.JText::sprintf('SOCIAL_SHARE', 'Facebook').'"><img alt="Facebook" src="'.ACYMAILING_LIVE.$this->params->get('picturefb', 'media/com_acymailing/images/facebookshare.png').'" /></a>'; }elseif($tag->network == 'twitter'){ $text = JText::sprintf('SHARE_TEXT', $archiveLink); $link = 'http://twitter.com/home?status='.urlencode($text); $tags[$tagname] = '<a target="_blank" href="'.$link.'" title="'.JText::sprintf('SOCIAL_SHARE', 'Twitter').'"><img alt="Twitter" src="'.ACYMAILING_LIVE.$this->params->get('picturetwitter', 'media/com_acymailing/images/twittershare.png').'" /></a>'; }elseif($tag->network == 'linkedin'){ $link = 'http://www.linkedin.com/shareArticle?mini=true&url='.urlencode($archiveLink).'&title='.urlencode($email->subject); $tags[$tagname] = '<a target="_blank" href="'.$link.'" title="'.JText::sprintf('SOCIAL_SHARE', 'LinkedIn').'"><img alt="LinkedIn" src="'.ACYMAILING_LIVE.$this->params->get('picturelinkedin', 'media/com_acymailing/images/linkedin.png').'" /></a>'; }elseif($tag->network == 'hyves'){ $link = 'http://www.hyves-share.nl/button/respect/?hc_hint=1&url='.urlencode($archiveLink).'&title='.urlencode($email->subject); $tags[$tagname] = '<a target="_blank" href="'.$link.'" title="'.JText::sprintf('SOCIAL_SHARE', 'Hyves').'"><img alt="Hyves" src="'.ACYMAILING_LIVE.$this->params->get('picturehyves', 'media/com_acymailing/images/hyvesshare.png').'" /></a>'; }elseif($tag->network == 'google'){ $link = 'https://plus.google.com/share?url='.urlencode($archiveLink); $tags[$tagname] = '<a target="_blank" href="'.$link.'" title="'.JText::sprintf('SOCIAL_SHARE', 'Google+').'"><img alt="Google+" src="'.ACYMAILING_LIVE.$this->params->get('picturegoogleplus', 'media/com_acymailing/images/google_plusshare.png').'" /></a>'; } if($allresults[1][$numres] == 'sharelink'){ $tags[$tagname] = $link; } if(file_exists(ACYMAILING_MEDIA.'plugins'.DS.'share.php')){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.'share.php'); $tags[$tagname] = ob_get_clean(); } } } $email->body = str_replace(array_keys($tags), $tags, $email->body); $email->altbody = str_replace(array_keys($tags), '', $email->altbody); } function acymailing_replaceusertags(&$email, &$user, $send = true){ $variables = array('subject', 'body', 'altbody'); $acypluginsHelper = acymailing_get('helper.acyplugins'); $tags = $acypluginsHelper->extractTags($email, 'print'); $archiveLink = acymailing_frontendLink('index.php?option=com_acymailing&ctrl=archive&task=view&mailid='.$email->mailid, $this->params->get('template', 'component') == 'component' ? true : false); $addkey = (!empty($email->key)) ? '&key='.$email->key : ''; $adduserkey = (!empty($user->key)) ? '&subid='.$user->subid.'-'.$user->key : ''; $link = $archiveLink.'&print=1'.$addkey.$adduserkey; foreach($variables as $var){ if(empty($email->$var)) continue; $email->$var = str_replace(array_keys($tags), $link, $email->$var); } } }//endclass PK ! �#o, , contentplugin/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! ��:l contentplugin/contentplugin.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingContentplugin extends JPlugin { function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'contentplugin'); $this->params = new acyParameter( $plugin->params ); } $this->paramsContent = JComponentHelper::getParams('com_content'); JPluginHelper::importPlugin('content'); $this->dispatcherContent = JDispatcher::getInstance(); $excludedHandlers = array('plgContentEmailCloak','pluginImageShow'); $excludedNames = array('system' => array('SEOGenerator','SEOSimple'), 'content' => array('webeecomment','highslide','smartresizer','phocagallery')); $excludedType = array_keys($excludedNames); if(!ACYMAILING_J16){ foreach ($this->dispatcherContent->_observers as $id => $observer){ if (is_array($observer) AND in_array($observer['handler'],$excludedHandlers)){ $this->dispatcherContent->_observers[$id]['event'] = ''; }elseif(is_object($observer)){ if(in_array($observer->_type,$excludedType) AND in_array($observer->_name,$excludedNames[$observer->_type])){ $this->dispatcherContent->_observers[$id] = null; } } } } if(!class_exists('JSite')) include_once(ACYMAILING_ROOT.'includes'.DS.'application.php'); } function acymailing_replacetags(&$email,$send = true){ $art = new stdClass(); $art->title = $email->subject; $art->introtext = $email->body; $art->fulltext = $email->body; $art->attribs = ''; $art->state=1; $art->created_by=@$email->userid; $art->images = ''; $art->id = 0; $art->section = 0; $art->catid = 0; $context = 'com_acymailing'; try{ if(!empty($email->body)){ $art->text = $email->body; if(!ACYMAILING_J16){ $resultsPlugin = $this->dispatcherContent->trigger('onPrepareContent', array (&$art, &$this->paramsContent, 0 )); }else{ if($send) $art->text .= '{emailcloak=off}'; $resultsPlugin = $this->dispatcherContent->trigger('onContentPrepare', array ($context,&$art, &$this->paramsContent, 0 )); if($send) $art->text = str_replace(array('{emailcloak=off}','{* emailcloak=off}'),'',$art->text); } $email->body = $art->text; } if(!empty($email->altbody)){ $art->text = $email->altbody; if(!ACYMAILING_J16){ $resultsPlugin = $this->dispatcherContent->trigger('onPrepareContent', array (&$art, &$this->paramsContent, 0 )); }else{ if($send) $art->text .= '{emailcloak=off}'; $resultsPlugin = $this->dispatcherContent->trigger('onContentPrepare', array ($context,&$art, &$this->paramsContent, 0 )); if($send) $art->text = str_replace(array('{emailcloak=off}','{* emailcloak=off}'),'',$art->text); } $email->altbody = $art->text; } }catch(Exception $e){ acymailing_display(array('An error occured with the AcyMailing contentplugin plugin, you may want to disable it from the AcyMailing configuration page',$e->getMessage()),'error'); } } }//endclass PK ! 5�3� contentplugin/contentplugin.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing : trigger Joomla Content plugins</name> <creationDate>November 2009</creationDate> <version>3.7.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to trigger the content plugin system on AcyMailing. The Joomla Content plugin system has not been developed to be triggered from the backend and so you may have some non compatible plugins, that's why this plugin is not enabled by default</description> <files> <filename plugin="contentplugin">contentplugin.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-contentplugin"/> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-contentplugin"/> </fieldset> </fields> </config> </extension> PK ! ��6�� � stats/stats.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing : Statistics Plugin</name> <creationDate>September 2009</creationDate> <version>3.7.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin is used to handle statistics on any AcyMailing e-mail</description> <files> <filename plugin="stats">stats.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-stats"/> <param name="picture" type="text" size="60" label="Stat picture" default="media/com_acymailing/images/statpicture.png" description="Path of the statistic picture"/> <param name="alttext" type="text" size="60" default="" label="Alt Text" description="Alternatif text which will be displayed if the user does not accept to load your images" /> <param name="width" type="text" size="2" default="50" label="Stat picture width" description="An image will be added in your HTML e-mails to be able to handle statistics. You can modify the width of the stat picture." /> <param name="height" type="text" size="2" default="1" label="Stat picture height" description="An image will be added in your HTML e-mails to be able to handle statistics. You can modify the height of the stat picture." /> <param name="displayfilter_mail" type="radio" default="0" label="Display filter" description="Display the statistics filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-stats"/> <field name="picture" type="text" size="60" label="Stat picture" default="media/com_acymailing/images/statpicture.png" description="Path of the statistic picture"/> <field name="alttext" type="text" size="60" default="" label="Alt Text" description="Alternatif text which will be displayed if the user does not accept to load your images" /> <field name="width" type="text" size="2" default="50" label="Stat picture width" description="An image will be added in your HTML e-mails to be able to handle statistics. You can modify the width of the stat picture." /> <field name="height" type="text" size="2" default="1" label="Stat picture height" description="An image will be added in your HTML e-mails to be able to handle statistics. You can modify the height of the stat picture." /> <field name="displayfilter_mail" type="radio" default="0" label="Display filter" description="Display the statistics filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </field> </fieldset> </fields> </config> </extension> PK ! �y�� � stats/stats.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingStats extends JPlugin{ function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'stats'); $this->params = new acyParameter($plugin->params); } } function acymailing_replaceusertags(&$email, &$user, $send = true){ if(!empty($email->altbody)){ $email->altbody = str_replace(array('{statpicture}', '{nostatpicture}'), '', $email->altbody); } if(!$email->sendHTML OR empty($email->type) OR !in_array($email->type, array('news', 'autonews', 'followup', 'welcome', 'unsub', 'joomlanotification', 'action')) OR strpos($email->body, '{nostatpicture}')){ $email->body = str_replace(array('{statpicture}', '{nostatpicture}'), '', $email->body); return; } if(empty($user->subid) || !$send){ $pictureLink = ACYMAILING_LIVE.$this->params->get('picture', 'media/com_acymailing/images/statpicture.png'); }else{ $config = acymailing_config(); $itemId = $config->get('itemid', 0); $item = empty($itemId) ? '' : '&Itemid='.$itemId; $pictureLink = acymailing_frontendLink('index.php?option=com_acymailing&ctrl=stats&mailid='.$email->mailid.'&subid='.$user->subid.$item); } $widthsize = $this->params->get('width', 50); $heightsize = $this->params->get('height', 1); $width = empty($widthsize) ? '' : ' width="'.$widthsize.'" '; $height = empty($heightsize) ? '' : ' height="'.$heightsize.'" '; $statPicture = '<img class="spict" alt="'.$this->params->get('alttext', '').'" src="'.$pictureLink.'" border="0" '.$height.$width.'/>'; if(strpos($email->body, '{statpicture}')){ $email->body = str_replace('{statpicture}', $statPicture, $email->body); }elseif(strpos($email->body, '</body>')) $email->body = str_replace('</body>', $statPicture.'</body>', $email->body); else $email->body .= $statPicture; }//endfct function acymailing_getstatpicture(){ return $this->params->get('picture', 'media/com_acymailing/images/statpicture.png'); } function onAcyDisplayTriggers(&$triggers){ $triggers['opennews'] = JText::_('ON_OPEN_NEWS'); } function onAcyDisplayFilters(&$type, $context = "massactions"){ if($context != "massactions" AND !$this->params->get('displayfilter_'.$context, false)) return; $type['deliverstat'] = JText::_('STATISTICS'); $db = JFactory::getDBO(); $db->setQuery("SELECT `mailid`,CONCAT(`subject`,' [',".$db->Quote(JText::_('ACY_ID').' ').", CAST(`mailid` AS char),']') as 'value' FROM `#__acymailing_mail` WHERE `type` IN('news','welcome','unsub','followup','notification','joomlanotification') ORDER BY `senddate` DESC LIMIT 5000"); $allemails = $db->loadObjectList(); $element = new stdClass(); $element->mailid = 0; $element->value = JText::_('EMAIL_NAME'); array_unshift($allemails, $element); $actions = array(); $actions[] = JHTML::_('select.option', 'open', JText::_('OPEN')); $actions[] = JHTML::_('select.option', 'notopen', JText::_('NOT_OPEN')); $actions[] = JHTML::_('select.option', 'failed', JText::_('FAILED')); if(acymailing_level(3)) $actions[] = JHTML::_('select.option', 'bounce', JText::_('BOUNCES')); $actions[] = JHTML::_('select.option', 'htmlsent', JText::_('SENT_HTML')); $actions[] = JHTML::_('select.option', 'textsent', JText::_('SENT_TEXT')); $actions[] = JHTML::_('select.option', 'notsent', JText::_('NOT_SENT')); $return = '<div id="filter__num__deliverstat">'.JHTML::_('select.genericlist', $actions, "filter[__num__][deliverstat][action]", 'class="inputbox" onchange="countresults(__num__)" size="1"', 'value', 'text'); $return .= ' '.JHTML::_('select.genericlist', $allemails, "filter[__num__][deliverstat][mailid]", 'onchange="countresults(__num__)" class="inputbox" size="1" style="max-width:200px"', 'mailid', 'value').'</div>'; return $return; } function onAcyProcessFilterCount_deliverstat(&$query, $filter, $num){ $this->onAcyProcessFilter_deliverstat($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilter_deliverstat(&$query, $filter, $num){ $alias = 'stats'.$num; $jl = '#__acymailing_userstats AS '.$alias.' ON '.$alias.'.subid = sub.subid'; if(!empty($filter['mailid'])) $jl .= ' AND '.$alias.'.mailid = '.intval($filter['mailid']); $query->leftjoin[$alias] = $jl; if($filter['action'] == 'open'){ $where = $alias.'.open > 0'; }elseif($filter['action'] == 'notopen'){ $where = $alias.'.open = 0'; }elseif($filter['action'] == 'failed'){ $where = $alias.'.fail = 1'; }elseif($filter['action'] == 'bounce'){ $where = $alias.'.bounce = 1'; }elseif($filter['action'] == 'htmlsent'){ $where = $alias.'.html = 1'; }elseif($filter['action'] == 'textsent'){ $where = $alias.'.html = 0'; }elseif($filter['action'] == 'notsent'){ $where = $alias.'.subid IS NULL'; } $query->where[] = $where; } }//endclass PK ! �#o, , stats/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! �'Vm m taguser/taguser.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : Joomla User Information</name> <creationDate>juillet 2016</creationDate> <version>5.5.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add informations of the Joomla user in the Newsletter</description> <files> <filename plugin="taguser">taguser.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-taguser"/> <param name="displayfilter_mail" type="radio" default="1" label="Display filter" description="Display the user fields filter and group filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </param> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-taguser"/> <field name="displayfilter_mail" type="radio" default="1" label="Display filter" description="Display the user fields filter and group filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </field> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! D�� 9 9 taguser/taguser.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTaguser extends JPlugin{ var $sendervalues = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'taguser'); $this->params = new acyParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('TAGUSER_TAGUSER'); $onePlugin->function = 'acymailingtaguser_show'; $onePlugin->help = 'plugin-taguser'; return $onePlugin; } function acymailingtaguser_show(){ ?> <script language="javascript" type="text/javascript"> function applyTag(tagname){ var string = '{usertag:' + tagname; for(var i = 0; i < document.adminForm.typeinfo.length; i++){ if(document.adminForm.typeinfo[i].checked){ string += '|info:' + document.adminForm.typeinfo[i].value; } } string += '}'; setTag(string); insertTag(); } </script> <?php $typeinfo = array(); $typeinfo[] = JHTML::_('select.option', "receiver", JText::_('RECEIVER_INFORMATION')); $typeinfo[] = JHTML::_('select.option', "sender", JText::_('SENDER_INFORMATIONS')); echo JHTML::_('acyselect.radiolist', $typeinfo, 'typeinfo', '', 'value', 'text', 'receiver'); $notallowed = array('password', 'params', 'sendemail', 'gid', 'block', 'email', 'name', 'id'); $text = '<div class="onelineblockoptions"><table class="acymailing_table" cellpadding="1">'; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__users'); if(ACYMAILING_J30) $fields = array_merge($fields, array('usertype' => 'usertype')); $descriptions['username'] = JText::_('TAGUSER_USERNAME'); $descriptions['usertype'] = JText::_('TAGUSER_GROUP'); $descriptions['lastvisitdate'] = JText::_('TAGUSER_LASTVISIT'); $descriptions['registerdate'] = JText::_('TAGUSER_REGISTRATION'); $k = 0; foreach($fields as $fieldname => $oneField){ if(in_array(strtolower($fieldname), $notallowed)) continue; $type = ''; if(strpos(strtolower($oneField), 'date') !== false) $type = '|type:date'; $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="applyTag(\''.$fieldname.$type.'\');" ><td class="acytdcheckbox"></td><td>'.$fieldname.'</td><td>'.@$descriptions[strtolower($fieldname)].'</td></tr>'; $k = 1 - $k; } if(ACYMAILING_J16){ $db->setQuery('SELECT DISTINCT `profile_key` FROM `#__user_profiles`'); $extraFields = $db->loadObjectList(); if(!empty($extraFields)){ foreach($extraFields as $oneField){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="applyTag(\''.$oneField->profile_key.'|type:extra\');" ><td class="acytdcheckbox"></td><td>'.$oneField->profile_key.'</td><td></td></tr>'; $k = 1 - $k; } } } if(ACYMAILING_J30){ $link = 'index.php/component/users/?task=registration.activate&token={usertag:activation|info:receiver}'; }elseif(ACYMAILING_J16){ $link = 'index.php?option=com_users&task=registration.activate&token={usertag:activation|info:receiver}'; }else{ $link = 'index.php?option=com_user&task=activate&activation={usertag:activation|info:receiver}'; } $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\''.htmlentities('<a target="_blank" href="'.$link.'">'.JText::_('JOOMLA_CONFIRM_ACCOUNT').'</a>').'\'); insertTag();" ><td class="acytdcheckbox"></td><td>confirmJoomla</td><td>'.JText::_('JOOMLA_CONFIRM_LINK').'</td></tr>'; $text .= '</table></div>'; echo $text; } function acymailing_replaceusertags(&$email, &$user, $send = true){ $pluginsHelper = acymailing_get('helper.acyplugins'); $extractedTags = $pluginsHelper->extractTags($email, 'usertag'); if(empty($extractedTags)) return; $tags = array(); $db = JFactory::getDBO(); $receivervalues = array(); foreach($extractedTags as $i => $mytag){ if(isset($tags[$i])) continue; $mytag->default = $this->params->get('default_'.$mytag->id, ''); $values = new stdClass(); $idused = 0; $save = false; if(!empty($mytag->info) && $mytag->info == 'sender' && !empty($email->userid)){ $idused = $email->userid; $save = true; } if(!empty($mytag->info) && $mytag->info == 'current'){ $my = JFactory::getUser(); if(!empty($my->id)) $idused = $my->id; } if((empty($mytag->info) || $mytag->info == 'receiver') && !empty($user->userid)){ $idused = $user->userid; } if(!empty($idused) && empty($this->sendervalues[$idused]) && empty($receivervalues[$idused])){ $db->setQuery('SELECT * FROM '.acymailing_table('users', false).' WHERE id = '.intval($idused).' LIMIT 1'); $receivervalues[$idused] = $db->loadObject(); if(ACYMAILING_J16){ $db->setQuery('SELECT * FROM #__user_profiles WHERE user_id = '.intval($idused)); $receivervalues[$idused]->extraFields = $db->loadObjectList('profile_key'); } if($save) $this->sendervalues[$idused] = $receivervalues[$idused]; } if(!empty($this->sendervalues[$idused])){ $values = $this->sendervalues[$idused]; }elseif(!empty($receivervalues[$idused])) $values = $receivervalues[$idused]; if($mytag->id == 'usertype' && ACYMAILING_J16){ if(empty($this->acyuserHelper)) $this->acyuserHelper = acymailing_get('helper.acyuser'); $groups = $this->acyuserHelper->getUserGroups($idused); $allGroups = array(); foreach($groups as $oneGroup) $allGroups[] = $oneGroup->title; $values->usertype = implode(', ', $allGroups); } if(empty($mytag->type) || $mytag->type != 'extra'){ $replaceme = isset($values->{$mytag->id}) ? $values->{$mytag->id} : $mytag->default; }else{ $replaceme = isset($values->extraFields[$mytag->id]) ? trim(json_decode($values->extraFields[$mytag->id]->profile_value), '"') : $mytag->default; } $tags[$i] = $replaceme; $pluginsHelper->formatString($tags[$i], $mytag); } $pluginsHelper->replaceTags($email, $tags); }//endfct function onAcyDisplayFilters(&$type, $context = "massactions"){ if($this->params->get('displayfilter_'.$context, true) == false) return; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__users'); if(empty($fields)) return; $type['joomlafield'] = JText::_('JOOMLA_FIELD'); $type['joomlagroup'] = JText::_('ACY_GROUP'); $field = array(); $field[] = JHTML::_('select.option', 0, '- - -'); foreach($fields as $oneField => $fieldType){ $field[] = JHTML::_('select.option', $oneField, $oneField); } if(ACYMAILING_J16){ $db->setQuery('SELECT DISTINCT `profile_key` FROM `#__user_profiles`'); $extraFields = $db->loadObjectList(); if(!empty($extraFields)){ foreach($extraFields as $oneField){ $field[] = JHTML::_('select.option', 'customfield_'.$oneField->profile_key, $oneField->profile_key); } } } $jsOnChange = "displayCondFilter('displayUserValues', 'toChange__num__',__num__,'map='+document.getElementById('filter__num__joomlafieldmap').value+'&cond='+document.getElementById('filter__num__joomlafieldoperator').value+'&value='+document.getElementById('filter__num__joomlafieldvalue').value); "; $operators = acymailing_get('type.operators'); $operators->extra = 'onchange="'.$jsOnChange.'countresults(__num__)"'; $return = '<div id="filter__num__joomlafield">'.JHTML::_('select.genericlist', $field, "filter[__num__][joomlafield][map]", 'class="inputbox" size="1" onchange="'.$jsOnChange.'countresults(__num__)"', 'value', 'text'); $return .= ' '.$operators->display("filter[__num__][joomlafield][operator]").' <span id="toChange__num__"><input onchange="countresults(__num__)" class="inputbox" type="text" name="filter[__num__][joomlafield][value]" id="filter__num__joomlafieldvalue" style="width:200px" value=""></span></div>'; if(!ACYMAILING_J16){ $acl = JFactory::getACL(); $groups = $acl->get_group_children_tree(null, 'USERS', false); }else{ $db = JFactory::getDBO(); $db->setQuery('SELECT a.*, a.title as text, a.id as value FROM #__usergroups AS a ORDER BY a.lft ASC'); $groups = $db->loadObjectList('id'); foreach($groups as $id => $group){ if(isset($groups[$group->parent_id])){ $groups[$id]->level = empty($groups[$group->parent_id]->level) ? 1 : intval($groups[$group->parent_id]->level + 1); $groups[$id]->text = str_repeat('- - ', $groups[$id]->level).$groups[$id]->text; } } } $inoperator = acymailing_get('type.operatorsin'); $inoperator->js = 'onchange="countresults(__num__)"'; $return .= '<div id="filter__num__joomlagroup">'.$inoperator->display("filter[__num__][joomlagroup][type]").' '.JHTML::_('select.genericlist', $groups, "filter[__num__][joomlagroup][group]", 'class="inputbox" size="1" onchange="countresults(__num__)"', 'value', 'text').'<label for="filter__num__joomlagroupsubgroups"><input type="checkbox" value="1" id="filter__num__joomlagroupsubgroups" name="filter[__num__][joomlagroup][subgroups]" onchange="countresults(__num__)"/>'.JText::_('ACY_SUB_GROUPS').'</label></div>'; return $return; } function onAcyTriggerFct_displayUserValues(){ $num = JRequest::getInt('num'); $map = JRequest::getCmd('map'); $cond = JRequest::getVar('cond', '', '', 'string', JREQUEST_ALLOWHTML); $value = JRequest::getVar('value', '', '', 'string', JREQUEST_ALLOWHTML); $emptyInputReturn = '<input onchange="countresults('.$num.')" class="inputbox" type="text" name="filter['.$num.'][joomlafield][value]" id="filter'.$num.'joomlafieldvalue" style="width:200px" value="'.$value.'">'; $dateInput = '<input onclick="displayDatePicker(this,event)" onchange="countresults('.$num.')" class="inputbox" type="text" name="filter['.$num.'][joomlafield][value]" id="filter'.$num.'joomlafieldvalue" style="width:200px" value="'.$value.'">'; if(in_array($map, array('registerDate', 'lastvisitDate', 'lastResetTime'))) return $dateInput; if(empty($map) || in_array($map, array('password', 'params', 'optKey', 'otep')) || !in_array($cond, array('=', '!='))) return $emptyInputReturn; $db = JFactory::getDBO(); $db->setQuery('SELECT DISTINCT `'.acymailing_secureField($map).'` AS value FROM #__users LIMIT 100'); $prop = $db->loadObjectList(); if(empty($prop) || count($prop) >= 100 || (count($prop) == 1 && (empty($prop[0]->value) || $prop[0]->value == '-'))) return $emptyInputReturn; return JHTML::_('select.genericlist', $prop, "filter[$num][joomlafield][value]", 'onchange="countresults('.$num.')" class="inputbox" size="1" style="width:200px"', 'value', 'value', $value, 'filter'.$num.'joomlafieldvalue'); } function onAcyProcessFilterCount_joomlafield(&$query, $filter, $num){ $this->onAcyProcessFilter_joomlafield($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyDisplayFilter_joomlafield($filter){ return JText::_('JOOMLA_FIELD').' : '.$filter['map'].' '.$filter['operator'].' '.$filter['value']; } function onAcyProcessFilter_joomlafield(&$query, $filter, $num){ if(empty($filter['map'])) return; $type = ''; if(strpos($filter['map'], 'customfield_') !== false){ $query->leftjoin['joomlauserprofiles'.$num] = '#__user_profiles AS joomlauserprofiles'.$num.' ON joomlauserprofiles'.$num.'.user_id = sub.userid AND joomlauserprofiles'.$num.'.profile_key = '.$query->db->Quote(str_replace('customfield_', '', $filter['map'])); $val = trim($filter['value'], '"'); if(in_array($filter['operator'], array('=', '!=', '<', '>', '<=', '>=', 'BEGINS', 'LIKE', 'NOT LIKE'))){ $val = '"'.$val; } if(in_array($filter['operator'], array('=', '!=', '<', '>', '<=', '>=', 'END', 'LIKE', 'NOT LIKE'))){ $val = $val.'"'; } $query->where[] = $query->convertQuery('joomlauserprofiles'.$num, 'profile_value', $filter['operator'], $val, $type); }else{ $query->leftjoin['joomlauser'.$num] = '#__users AS joomlauser'.$num.' ON joomlauser'.$num.'.id = sub.userid'; if(in_array($filter['map'], array('registerDate', 'lastvisitDate'))){ $filter['value'] = acymailing_replaceDate($filter['value']); if(!is_numeric($filter['value']) && strtotime($filter['value']) !== false) $filter['value'] = strtotime($filter['value']); if(is_numeric($filter['value'])) $filter['value'] = strftime('%Y-%m-%d %H:%M:%S', $filter['value']); $type = 'datetime'; } $query->where[] = $query->convertQuery('joomlauser'.$num, $filter['map'], $filter['operator'], $filter['value'], $type); } } function onAcyProcessFilterCount_joomlagroup(&$query, $filter, $num){ $this->onAcyProcessFilter_joomlagroup($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilter_joomlagroup(&$query, $filter, $num){ $operator = (empty($filter['type']) || $filter['type'] == 'IN') ? 'IS NOT NULL AND joomlauser'.$num.'.'.(ACYMAILING_J16 ? 'user_' : '').'id != 0' : "IS NULL"; $filter['group'] = intval($filter['group']); if(!empty($filter['subgroups'])){ $db = JFactory::getDBO(); $groupTable = ACYMAILING_J16 ? 'usergroups' : 'core_acl_aro_groups'; $db->setQuery('SELECT lft, rgt FROM #__'.$groupTable.' WHERE id = '.$filter['group']); $lftrgt = $db->loadObject(); $db->setQuery('SELECT id FROM #__'.$groupTable.' WHERE lft > '.$lftrgt->lft.' AND rgt < '.$lftrgt->rgt); $allGroups = acymailing_loadResultArray($db); array_unshift($allGroups, $filter['group']); $value = ' IN ('.implode(', ', $allGroups).')'; }else{ $value = ' = '.$filter['group']; } if(!ACYMAILING_J16){ $query->leftjoin['joomlauser'.$num] = "#__users AS joomlauser$num ON joomlauser$num.id = sub.userid AND joomlauser$num.gid".$value; $query->where[] = "joomlauser$num.id ".$operator; }else{ $query->leftjoin['joomlauser'.$num] = "#__user_usergroup_map AS joomlauser$num ON joomlauser$num.user_id = sub.userid AND joomlauser$num.group_id".$value; $query->where[] = "joomlauser$num.user_id ".$operator; } } }//endclass PK ! �#o, , taguser/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! �#o, , tagcontent/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! _��K� K� tagcontent/tagcontent.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php defined('_JEXEC') or die('Restricted access'); ?> <?php class plgAcymailingTagcontent extends JPlugin{ public function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tagcontent'); $this->params = new acyParameter($plugin->params); } $this->db = JFactory::getDBO(); $this->acypluginsHelper = acymailing_get('helper.acyplugins'); } public function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('JOOMLA_CONTENT'); $onePlugin->function = 'acymailingtagcontent_show'; $onePlugin->help = 'plugin-tagcontent'; return $onePlugin; } public function acymailingtagcontent_show(){ $app = JFactory::getApplication(); $pageInfo = new stdClass(); $pageInfo->filter = new stdClass(); $pageInfo->filter->order = new stdClass(); $pageInfo->limit = new stdClass(); $pageInfo->elements = new stdClass(); $my = JFactory::getUser(); $lang = JFactory::getLanguage(); $lang->load('com_content', JPATH_SITE); $paramBase = ACYMAILING_COMPONENT.'.tagcontent'; $pageInfo->filter->order->value = $app->getUserStateFromRequest($paramBase.".filter_order", 'filter_order', 'a.id', 'cmd'); $pageInfo->filter->order->dir = $app->getUserStateFromRequest($paramBase.".filter_order_Dir", 'filter_order_Dir', 'desc', 'word'); if(strtolower($pageInfo->filter->order->dir) !== 'desc') $pageInfo->filter->order->dir = 'asc'; $pageInfo->search = $app->getUserStateFromRequest($paramBase.".search", 'search', '', 'string'); $pageInfo->search = JString::strtolower(trim($pageInfo->search)); $pageInfo->filter_cat = $app->getUserStateFromRequest($paramBase.".filter_cat", 'filter_cat', '', 'int'); $pageInfo->contenttype = $app->getUserStateFromRequest($paramBase.".contenttype", 'contenttype', $this->params->get('default_type', 'intro'), 'string'); $pageInfo->author = $app->getUserStateFromRequest($paramBase.".author", 'author', $this->params->get('default_author', '0'), 'string'); $pageInfo->titlelink = $app->getUserStateFromRequest($paramBase.".titlelink", 'titlelink', $this->params->get('default_titlelink', 'link'), 'string'); $pageInfo->lang = $app->getUserStateFromRequest($paramBase.".lang", 'lang', '', 'string'); $pageInfo->pict = $app->getUserStateFromRequest($paramBase.".pict", 'pict', $this->params->get('default_pict', 1), 'string'); $pageInfo->pictheight = $app->getUserStateFromRequest($paramBase.".pictheight", 'pictheight', $this->params->get('maxheight', 150), 'string'); $pageInfo->pictwidth = $app->getUserStateFromRequest($paramBase.".pictwidth", 'pictwidth', $this->params->get('maxwidth', 150), 'string'); $pageInfo->limit->value = $app->getUserStateFromRequest($paramBase.'.list_limit', 'limit', $app->getCfg('list_limit'), 'int'); $pageInfo->limit->start = $app->getUserStateFromRequest($paramBase.'.limitstart', 'limitstart', 0, 'int'); $picts = array(); $picts[] = JHTML::_('select.option', "1", JText::_('JOOMEXT_YES')); $pictureHelper = acymailing_get('helper.acypict'); if($pictureHelper->available()) $picts[] = JHTML::_('select.option', "resized", JText::_('RESIZED')); $picts[] = JHTML::_('select.option', "0", JText::_('JOOMEXT_NO')); $contenttype = array(); $contenttype[] = JHTML::_('select.option', "title", JText::_('TITLE_ONLY')); $contenttype[] = JHTML::_('select.option', "intro", JText::_('INTRO_ONLY')); $contenttype[] = JHTML::_('select.option', "text", JText::_('FIELD_TEXT')); $contenttype[] = JHTML::_('select.option', "full", JText::_('FULL_TEXT')); $titlelink = array(); $titlelink[] = JHTML::_('select.option', "link", JText::_('JOOMEXT_YES')); $titlelink[] = JHTML::_('select.option', "0", JText::_('JOOMEXT_NO')); $authorname = array(); $authorname[] = JHTML::_('select.option', "author", JText::_('JOOMEXT_YES')); $authorname[] = JHTML::_('select.option', "0", JText::_('JOOMEXT_NO')); $searchFields = array('a.id', 'a.title', 'a.alias', 'a.created_by', 'b.name', 'b.username'); if(!empty($pageInfo->search)){ $searchVal = '\'%'.acymailing_getEscaped($pageInfo->search, true).'%\''; $filters[] = implode(" LIKE $searchVal OR ", $searchFields)." LIKE $searchVal"; } if(!empty($pageInfo->filter_cat)){ $filters[] = "a.catid = ".$pageInfo->filter_cat; } if($this->params->get('displayart', 'all') == 'onlypub'){ $filters[] = "a.state = 1"; }else{ $filters[] = "a.state != -2"; } if(!$app->isAdmin()){ if(!ACYMAILING_J16){ $filters[] = 'a.`access` <= '.(int)$my->get('aid'); }else{ $groups = implode(',', $my->getAuthorisedViewLevels()); $filters[] = 'a.`access` IN ('.$groups.')'; } } if($this->params->get('frontendaccess') == 'author' && !$app->isAdmin()){ $filters[] = "a.created_by = ".intval($my->id); } $whereQuery = ''; if(!empty($filters)){ $whereQuery = ' WHERE ('.implode(') AND (', $filters).')'; } $query = 'SELECT SQL_CALC_FOUND_ROWS a.*,b.name,b.username,a.created_by FROM '.acymailing_table('content', false).' as a'; $query .= ' LEFT JOIN `#__users` AS b ON b.id = a.created_by'; if(!empty($whereQuery)) $query .= $whereQuery; if(!empty($pageInfo->filter->order->value)){ $query .= ' ORDER BY '.$pageInfo->filter->order->value.' '.$pageInfo->filter->order->dir; } $this->db->setQuery($query, $pageInfo->limit->start, $pageInfo->limit->value); $rows = $this->db->loadObjectList(); if(!empty($pageInfo->search)){ $rows = acymailing_search($pageInfo->search, $rows); } $this->db->setQuery('SELECT FOUND_ROWS()'); $pageInfo->elements->total = $this->db->loadResult(); $pageInfo->elements->page = count($rows); if(!ACYMAILING_J16){ $query = 'SELECT a.id, a.id as catid, a.title as category, b.title as section, b.id as secid from #__categories as a '; $query .= 'INNER JOIN #__sections as b on a.section = b.id ORDER BY b.ordering,a.ordering'; $this->db->setQuery($query); $categories = $this->db->loadObjectList('id'); $categoriesValues = array(); $categoriesValues[] = JHTML::_('select.option', '', JText::_('ACY_ALL')); $currentSec = ''; foreach($categories as $catid => $oneCategorie){ if($currentSec != $oneCategorie->section){ if(!empty($currentSec)) $this->values[] = JHTML::_('select.option', '</OPTGROUP>'); $categoriesValues[] = JHTML::_('select.option', '<OPTGROUP>', $oneCategorie->section); $currentSec = $oneCategorie->section; } $categoriesValues[] = JHTML::_('select.option', $catid, $oneCategorie->category); } }else{ $query = "SELECT * from #__categories WHERE `extension` = 'com_content' ORDER BY lft ASC"; $this->db->setQuery($query); $categories = $this->db->loadObjectList('id'); $categoriesValues = array(); $categoriesValues[] = JHTML::_('select.option', '', JText::_('ACY_ALL')); foreach($categories as $catid => $oneCategorie){ $categories[$catid]->title = str_repeat('- - ', $categories[$catid]->level).$categories[$catid]->title; $categoriesValues[] = JHTML::_('select.option', $catid, $categories[$catid]->title); } } jimport('joomla.html.pagination'); $pagination = new JPagination($pageInfo->elements->total, $pageInfo->limit->start, $pageInfo->limit->value); $tabs = acymailing_get('helper.acytabs'); echo $tabs->startPane('joomlacontent_tab'); echo $tabs->startPanel(JText::_('JOOMLA_CONTENT'), 'joomlacontent_content'); ?> <script language="javascript" type="text/javascript"> <!-- var selectedContents = new Array(); function applyContent(contentid, rowClass){ var tmp = selectedContents.indexOf(contentid) if(tmp != -1){ window.document.getElementById('content' + contentid).className = rowClass; delete selectedContents[tmp]; }else{ window.document.getElementById('content' + contentid).className = 'selectedrow'; selectedContents.push(contentid); } updateTag(); } function updateTag(){ var tag = ''; var otherinfo = ''; for(var i = 0; i < document.adminForm.contenttype.length; i++){ if(document.adminForm.contenttype[i].checked){ selectedtype = document.adminForm.contenttype[i].value; otherinfo += '| type:' + document.adminForm.contenttype[i].value; } } for(var i = 0; i < document.adminForm.titlelink.length; i++){ if(document.adminForm.titlelink[i].checked && document.adminForm.titlelink[i].value.length > 1){ otherinfo += '| ' + document.adminForm.titlelink[i].value; } } if(selectedtype != 'title'){ for(var i = 0; i < document.adminForm.author.length; i++){ if(document.adminForm.author[i].checked && document.adminForm.author[i].value.length > 1){ otherinfo += '| ' + document.adminForm.author[i].value; } } for(var i = 0; i < document.adminForm.pict.length; i++){ if(document.adminForm.pict[i].checked){ otherinfo += '| pict:' + document.adminForm.pict[i].value; if(document.adminForm.pict[i].value == 'resized'){ document.getElementById('pictsize').style.display = ''; if(document.adminForm.pictwidth.value) otherinfo += '| maxwidth:' + document.adminForm.pictwidth.value; if(document.adminForm.pictheight.value) otherinfo += '| maxheight:' + document.adminForm.pictheight.value; }else{ document.getElementById('pictsize').style.display = 'none'; } } } document.getElementById('format').style.display = ''; }else{ document.getElementById('format').style.display = 'none'; } if(document.adminForm.contentformat && document.adminForm.contentformat.value){ otherinfo += '| format:' + document.adminForm.contentformat.value; } if(window.document.getElementById('jflang') && window.document.getElementById('jflang').value != ''){ otherinfo += '|lang:'; otherinfo += window.document.getElementById('jflang').value; } for(var i in selectedContents){ if(selectedContents[i] && !isNaN(i)){ tag = tag + '{joomlacontent:' + selectedContents[i] + otherinfo + '}<br />'; } } setTag(tag); } //--> </script> <div class="onelineblockoptions"> <table width="100%" class="acymailing_table"> <tr> <td> <?php echo JText::_('DISPLAY'); ?> </td> <td colspan="2"> <?php echo JHTML::_('acyselect.radiolist', $contenttype, 'contenttype', 'size="1" onclick="updateTag();"', 'value', 'text', $pageInfo->contenttype); ?> </td> <td> <?php $jflanguages = acymailing_get('type.jflanguages'); $jflanguages->onclick = 'onchange="updateTag();"'; echo $jflanguages->display('lang', $pageInfo->lang); ?> </td> </tr> <tr id="format" class="acyplugformat"> <td valign="top"> <?php echo JText::_('FORMAT'); ?> </td> <td valign="top"> <?php echo $this->acypluginsHelper->getFormatOption('tagcontent'); ?> </td> <td valign="top"><?php echo JText::_('DISPLAY_PICTURES'); ?></td> <td valign="top"><?php echo JHTML::_('acyselect.radiolist', $picts, 'pict', 'size="1" onclick="updateTag();"', 'value', 'text', $pageInfo->pict); ?> <span id="pictsize" <?php if($pageInfo->pict != 'resized') echo 'style="display:none;"'; ?>><br/><?php echo JText::_('CAPTCHA_WIDTH') ?> <input name="pictwidth" type="text" onchange="updateTag();" value="<?php echo $pageInfo->pictwidth; ?>" style="width:30px;"/> x <?php echo JText::_('CAPTCHA_HEIGHT') ?> <input name="pictheight" type="text" onchange="updateTag();" value="<?php echo $pageInfo->pictheight; ?>" style="width:30px;"/> </span> </td> </tr> <tr> <td> <?php echo JText::_('CLICKABLE_TITLE'); ?> </td> <td> <?php echo JHTML::_('acyselect.radiolist', $titlelink, 'titlelink', 'size="1" onclick="updateTag();"', 'value', 'text', $pageInfo->titlelink); ?> </td> <td> <?php echo JText::_('AUTHOR_NAME'); ?> </td> <td> <?php echo JHTML::_('acyselect.radiolist', $authorname, 'author', 'size="1" onclick="updateTag();"', 'value', 'text', (string)$pageInfo->author); ?> </td> </tr> </table> </div> <div class="onelineblockoptions"> <table class="acymailing_table_options"> <tr> <td width="100%"> <?php acymailing_listingsearch($pageInfo->search); ?> </td> <td nowrap="nowrap"> <?php echo JHTML::_('select.genericlist', $categoriesValues, 'filter_cat', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', (int)$pageInfo->filter_cat); ?> </td> </tr> </table> <table class="acymailing_table" cellpadding="1" width="100%"> <thead> <tr> <th class="title"> </th> <th class="title"> <?php echo JHTML::_('grid.sort', JText::_('FIELD_TITLE'), 'a.title', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> <th class="title"> <?php echo JHTML::_('grid.sort', JText::_('ACY_AUTHOR'), 'b.name', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> <th class="title"> <?php echo JHTML::_('grid.sort', JText::_(ACYMAILING_J16 ? 'COM_CONTENT_PUBLISHED_DATE' : 'START PUBLISHING'), 'a.publish_up', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> <th class="title"> <?php echo JHTML::_('grid.sort', JText::_('ACY_CREATED'), 'a.created', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> <th class="title titleid"> <?php echo JHTML::_('grid.sort', JText::_('ACY_ID'), 'a.id', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> </tr> </thead> <tfoot> <tr> <td colspan="6"> <?php echo $pagination->getListFooter(); ?> <?php echo $pagination->getResultsCounter(); ?> </td> </tr> </tfoot> <tbody> <?php $k = 0; for($i = 0, $a = count($rows); $i < $a; $i++){ $row =& $rows[$i]; ?> <tr id="content<?php echo $row->id ?>" class="<?php echo "row$k"; ?>" onclick="applyContent(<?php echo $row->id.",'row$k'" ?>);" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td> <?php $text = '<b>'.JText::_('JOOMEXT_ALIAS').': </b>'.$row->alias; echo acymailing_tooltip($text, $row->title, '', $row->title); ?> </td> <td> <?php if(!empty($row->name)){ $text = '<b>'.JText::_('JOOMEXT_NAME').' : </b>'.$row->name; $text .= '<br /><b>'.JText::_('ACY_USERNAME').' : </b>'.$row->username; $text .= '<br /><b>'.JText::_('ACY_ID').' : </b>'.$row->created_by; echo acymailing_tooltip($text, $row->name, '', $row->name); } ?> </td> <td align="center"> <?php echo JHTML::_('date', strip_tags($row->publish_up), JText::_('DATE_FORMAT_LC4')); ?> </td> <td align="center"> <?php echo JHTML::_('date', strip_tags($row->created), JText::_('DATE_FORMAT_LC4')); ?> </td> <td align="center"> <?php echo $row->id; ?> </td> </tr> <?php $k = 1 - $k; } ?> </tbody> </table> </div> <input type="hidden" name="boxchecked" value="0"/> <input type="hidden" name="filter_order" value="<?php echo $pageInfo->filter->order->value; ?>"/> <input type="hidden" name="filter_order_Dir" value="<?php echo $pageInfo->filter->order->dir; ?>"/> <?php echo $tabs->endPanel(); echo $tabs->startPanel(JText::_('TAG_CATEGORIES'), 'joomlacontent_auto'); $type = JRequest::getString('type'); ?> <script language="javascript" type="text/javascript"> <!-- window.onload = function(){ if(window.document.getElementById('tagsauto')){ window.document.getElementById('tagsauto').onchange = updateAutoTag; } } var selectedCategories = new Array(); <?php if(!ACYMAILING_J16){ ?> function applyAutoContent(secid, catid, rowClass){ if(selectedCategories[secid] && selectedCategories[secid][catid]){ window.document.getElementById('content_sec' + secid + '_cat' + catid).className = rowClass; delete selectedCategories[secid][catid]; }else{ if(!selectedCategories[secid]) selectedCategories[secid] = new Array(); if(secid == 0){ for(var isec in selectedCategories){ for(var icat in selectedCategories[isec]){ if(selectedCategories[isec][icat] == 'content'){ window.document.getElementById('content_sec' + isec + '_cat' + icat).className = 'row0'; delete selectedCategories[isec][icat]; } } } }else{ if(selectedCategories[0] && selectedCategories[0][0]){ window.document.getElementById('content_sec0_cat0').className = 'row0'; delete selectedCategories[0][0]; } if(catid == 0){ for(var icat in selectedCategories[secid]){ if(selectedCategories[secid][icat] == 'content'){ window.document.getElementById('content_sec' + secid + '_cat' + icat).className = 'row0'; delete selectedCategories[secid][icat]; } } }else{ if(selectedCategories[secid][0]){ window.document.getElementById('content_sec' + secid + '_cat0').className = 'row0'; delete selectedCategories[secid][0]; } } } window.document.getElementById('content_sec' + secid + '_cat' + catid).className = 'selectedrow'; selectedCategories[secid][catid] = 'content'; } updateAutoTag(); } <?php }else{ ?> function applyAutoContent(catid, rowClass){ if(selectedCategories[catid]){ window.document.getElementById('content_cat' + catid).className = rowClass; delete selectedCategories[catid]; }else{ window.document.getElementById('content_cat' + catid).className = 'selectedrow'; selectedCategories[catid] = 'content'; } updateAutoTag(); } <?php } ?> function updateAutoTag(){ tag = '{autocontent:'; <?php if(!ACYMAILING_J16){ ?> for(var isec in selectedCategories){ for(var icat in selectedCategories[isec]){ if(selectedCategories[isec][icat] == 'content'){ if(icat != 0){ tag += 'cat' + icat + '-'; }else{ tag += 'sec' + isec + '-'; } } } } <?php }else{ ?> for(var icat in selectedCategories){ if(selectedCategories[icat] == 'content'){ tag += icat + '-'; } } <?php } ?> if(document.adminForm.min_article && document.adminForm.min_article.value && document.adminForm.min_article.value != 0){ tag += '| min:' + document.adminForm.min_article.value; } if(document.adminForm.max_article.value && document.adminForm.max_article.value != 0){ tag += '| max:' + document.adminForm.max_article.value; } if(document.adminForm.contentorder.value){ tag += "| order:" + document.adminForm.contentorder.value + "," + document.adminForm.contentorderdir.value; } if(document.adminForm.contentfilter && document.adminForm.contentfilter.value){ tag += document.adminForm.contentfilter.value; } if(document.adminForm.meta_article && document.adminForm.meta_article.value){ tag += '| meta:' + document.adminForm.meta_article.value; } for(var i = 0; i < document.adminForm.contenttypeauto.length; i++){ if(document.adminForm.contenttypeauto[i].checked){ selectedtype = document.adminForm.contenttypeauto[i].value; tag += '| type:' + document.adminForm.contenttypeauto[i].value; } } for(var i = 0; i < document.adminForm.titlelinkauto.length; i++){ if(document.adminForm.titlelinkauto[i].checked && document.adminForm.titlelinkauto[i].value.length > 1){ tag += '|' + document.adminForm.titlelinkauto[i].value; } } if(selectedtype != 'title'){ for(var i = 0; i < document.adminForm.authorauto.length; i++){ if(document.adminForm.authorauto[i].checked && document.adminForm.authorauto[i].value.length > 1){ tag += '|' + document.adminForm.authorauto[i].value; } } for(var i = 0; i < document.adminForm.pictauto.length; i++){ if(document.adminForm.pictauto[i].checked){ tag += '| pict:' + document.adminForm.pictauto[i].value; if(document.adminForm.pictauto[i].value == 'resized'){ document.getElementById('pictsizeauto').style.display = ''; if(document.adminForm.pictwidthauto.value) tag += '| maxwidth:' + document.adminForm.pictwidthauto.value; if(document.adminForm.pictheightauto.value) tag += '| maxheight:' + document.adminForm.pictheightauto.value; }else{ document.getElementById('pictsizeauto').style.display = 'none'; } } } document.getElementById('formatauto').style.display = ''; }else{ document.getElementById('formatauto').style.display = 'none'; } if(document.getElementById('contentformatautoinvert').value == 1) tag += '| invert'; if(document.adminForm.contentformatauto && document.adminForm.contentformatauto.value){ tag += '| format:' + document.adminForm.contentformatauto.value; } if(document.adminForm.cols && document.adminForm.cols.value > 1){ tag += '| cols:' + document.adminForm.cols.value; } if(window.document.getElementById('jflangauto') && window.document.getElementById('jflangauto').value != ''){ tag += '| lang:' + window.document.getElementById('jflangauto').value; } if(window.document.getElementById('jlang') && window.document.getElementById('jlang').value != ''){ tag += '| language:' + window.document.getElementById('jlang').value; } if(window.document.getElementById('tagsauto')){ var tmp = 0; for(var i = 0; i < window.document.getElementById('tagsauto').length; i++){ if(window.document.getElementById('tagsauto')[i].selected){ if(tmp == 0){ tag += '| tags:' + window.document.getElementById('tagsauto')[i].value; tmp = 1; }else{ tag += ',' + window.document.getElementById('tagsauto')[i].value; } } } } tag += '}'; setTag(tag); } //--> </script> <div class="onelineblockoptions"> <table width="100%" class="acymailing_table"> <tr> <td> <?php echo JText::_('DISPLAY'); ?> </td> <td colspan="2"> <?php echo JHTML::_('acyselect.radiolist', $contenttype, 'contenttypeauto', 'size="1" onclick="updateAutoTag();"', 'value', 'text', $this->params->get('default_type', 'intro')); ?> </td> <td id="languagesauto"> <?php $jflanguages = acymailing_get('type.jflanguages'); $jflanguages->onclick = 'onchange="updateAutoTag();"'; $jflanguages->id = 'jflangauto'; echo $jflanguages->display('langauto'); if(empty($jflanguages->found)){ echo $jflanguages->displayJLanguages('jlangauto'); } ?> </td> </tr> <tr id="formatauto" class="acyplugformat"> <td valign="top"> <?php echo JText::_('FORMAT'); ?> </td> <td valign="top"> <?php echo $this->acypluginsHelper->getFormatOption('tagcontent', 'TOP_LEFT', false, 'updateAutoTag'); ?> </td> <td valign="top"><?php echo JText::_('DISPLAY_PICTURES'); ?></td> <td valign="top"><?php echo JHTML::_('acyselect.radiolist', $picts, 'pictauto', 'size="1" onclick="updateAutoTag();"', 'value', 'text', $this->params->get('default_pict', '1')); ?> <span id="pictsizeauto" <?php if($this->params->get('default_pict', '1') != 'resized') echo 'style="display:none;"'; ?> ><br/><?php echo JText::_('CAPTCHA_WIDTH') ?> <input name="pictwidthauto" type="text" onchange="updateAutoTag();" value="<?php echo $this->params->get('maxwidth', '150'); ?>" style="width:30px;"/> x <?php echo JText::_('CAPTCHA_HEIGHT') ?> <input name="pictheightauto" type="text" onchange="updateAutoTag();" value="<?php echo $this->params->get('maxheight', '150'); ?>" style="width:30px;"/> </span> </td> </tr> <tr> <td> <?php echo JText::_('CLICKABLE_TITLE'); ?> </td> <td> <?php echo JHTML::_('acyselect.radiolist', $titlelink, 'titlelinkauto', 'size="1" onclick="updateAutoTag();"', 'value', 'text', $this->params->get('default_titlelink', 'link')); ?> </td> <td> <?php echo JText::_('AUTHOR_NAME'); ?> </td> <td> <?php echo JHTML::_('acyselect.radiolist', $authorname, 'authorauto', 'size="1" onclick="updateAutoTag();"', 'value', 'text', (string)$this->params->get('default_author', '0')); ?> </td> </tr> <tr> <?php if(version_compare(JVERSION, '3.1.0', '>=')){ ?> <td valign="top"> <?php echo JText::_('TAGS'); ?> </td> <td> <?php $form = JForm::getInstance('acytagcontenttags', JPATH_SITE.DS.'components'.DS.'com_acymailing'.DS.'params'.DS.'tagcontenttags.xml'); foreach($form->getFieldset('tagcontenttagfield') as $field){ echo $field->input; } ?> </td> <?php }else{ ?> <td colspan="2"></td> <?php } ?> <td valign="top"><?php echo JText::_('FIELD_COLUMNS'); ?></td> <td valign="top"> <select name="cols" style="width:150px" onchange="updateAutoTag();" size="1"> <?php for($o = 1; $o < 11; $o++) echo '<option value="'.$o.'">'.$o.'</option>'; ?> </select> </td> </tr> <tr> <td> <?php echo JText::_('MAX_ARTICLE'); ?> </td> <td> <input type="text" name="max_article" style="width:50px" value="20" onchange="updateAutoTag();"/> </td> <td> <?php echo JText::_('ACY_ORDER'); ?> </td> <td> <?php $values = array('id' => 'ACY_ID', 'ordering' => 'ACY_ORDERING', 'created' => 'CREATED_DATE', 'modified' => 'MODIFIED_DATE', 'title' => 'FIELD_TITLE'); if(ACYMAILING_J16) $values['publish_up'] = 'COM_CONTENT_PUBLISHED_DATE'; echo $this->acypluginsHelper->getOrderingField($values, 'id', 'DESC', 'updateAutoTag'); ?> </td> </tr> <?php if($this->params->get('metaselect')){ ?> <tr> <td> <?php echo JText::_('META_KEYWORDS'); ?> </td> <td colspan="3"> <input type="text" name="meta_article" style="width:200px" value="" onchange="updateAutoTag();"/> </td> </tr> <?php } ?> <?php if($type == 'autonews'){ ?> <tr> <td> <?php echo JText::_('MIN_ARTICLE'); ?> </td> <td> <input type="text" name="min_article" style="width:50px" value="1" onchange="updateAutoTag();"/> </td> <td> <?php echo JText::_('JOOMEXT_FILTER'); ?> </td> <td> <?php $filter = acymailing_get('type.contentfilter'); $filter->onclick = "updateAutoTag();"; echo $filter->display('contentfilter', '|filter:created'); ?> </td> </tr> <?php } ?> </table> </div> <div class="onelineblockoptions"> <table class="acymailing_table" cellpadding="1" width="100%"> <thead> <tr> <th class="title"></th> <?php if(!ACYMAILING_J16){ ?> <th class="title"> <?php echo JText::_('SECTION'); ?> </th> <?php } ?> <th class="title"> <?php echo JText::_('TAG_CATEGORIES'); ?> </th> </tr> </thead> <tbody> <?php $k = 0; if(!ACYMAILING_J16){ ?> <tr id="content_sec0_cat0" class="<?php echo "row$k"; ?>" onclick="applyAutoContent(0,0,'<?php echo "row$k" ?>');" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td style="font-weight: bold;"> <?php echo JText::_('ACY_ALL'); ?> </td> <td style="text-align:center;font-weight: bold;"> <?php echo JText::_('ACY_ALL'); ?> </td> </tr> <?php } $k = 1 - $k; $currentSection = ''; foreach($categories as $row){ if(!ACYMAILING_J16 && $currentSection != $row->section){ ?> <tr id="content_sec<?php echo $row->secid ?>_cat0" class="<?php echo "row$k"; ?>" onclick="applyAutoContent(<?php echo $row->secid ?>,0,'<?php echo "row$k" ?>');" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td style="font-weight: bold;"> <?php echo $row->section; ?> </td> <td style="text-align:center;font-weight: bold;"> <?php echo JText::_('ACY_ALL'); ?> </td> </tr> <?php $k = 1 - $k; $currentSection = $row->section; } if(!ACYMAILING_J16){ ?> <tr id="content_sec<?php echo $row->secid ?>_cat<?php echo $row->catid ?>" class="<?php echo "row$k"; ?>" onclick="applyAutoContent(<?php echo $row->secid ?>,<?php echo $row->catid ?>,'<?php echo "row$k" ?>');" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td> </td> <td> <?php echo $row->category; ?> </td> </tr> <?php }else{ ?> <tr id="content_cat<?php echo $row->id ?>" class="<?php echo "row$k"; ?>" onclick="applyAutoContent(<?php echo $row->id ?>,'<?php echo "row$k" ?>');" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td> <?php echo $row->title; ?> </td> </tr> <?php } $k = 1 - $k; } ?> </tbody> </table> </div> <?php echo $tabs->endPanel(); echo $tabs->endPane(); } public function acymailing_replacetags(&$email, $send = true){ $this->_replaceAuto($email); $this->_replaceArticles($email); } private function _replaceArticles(&$email){ $tags = $this->acypluginsHelper->extractTags($email, 'joomlacontent'); if(empty($tags)) return; $this->newslanguage = new stdClass(); if(!empty($email->language)){ $this->db->setQuery('SELECT lang_id, lang_code FROM #__languages WHERE sef = '.$this->db->quote($email->language).' LIMIT 1'); $this->newslanguage = $this->db->loadObject(); } $this->currentcatid = -1; $this->readmore = empty($email->template->readmore) ? JText::_('JOOMEXT_READ_MORE') : '<img class="readmorepict" src="'.ACYMAILING_LIVE.$email->template->readmore.'" alt="'.JText::_('JOOMEXT_READ_MORE', true).'" />'; require_once JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php'; if($this->params->get('integration') == 'flexicontent' && file_exists(JPATH_SITE.DS.'components'.DS.'com_flexicontent'.DS.'helpers'.DS.'route.php')){ require_once JPATH_SITE.DS.'components'.DS.'com_flexicontent'.DS.'helpers'.DS.'route.php'; } $tagsReplaced = array(); foreach($tags as $i => $oneTag){ if(isset($tagsReplaced[$i])) continue; $tagsReplaced[$i] = $this->_replaceContent($oneTag); } $this->acypluginsHelper->replaceTags($email, $tagsReplaced, true); } private function _replaceContent(&$tag){ $oldFormat = empty($tag->format); if(!ACYMAILING_J16){ $query = 'SELECT a.*,b.name as authorname, c.alias as catalias, c.title as cattitle, c.image AS catpict, s.alias as secalias, s.title as sectitle FROM '.acymailing_table('content', false).' as a '; $query .= 'LEFT JOIN '.acymailing_table('users', false).' as b ON a.created_by = b.id '; $query .= ' LEFT JOIN '.acymailing_table('categories', false).' AS c ON c.id = a.catid '; $query .= ' LEFT JOIN '.acymailing_table('sections', false).' AS s ON s.id = a.sectionid '; $query .= 'WHERE a.id = '.$tag->id.' LIMIT 1'; }else{ $query = 'SELECT a.*,b.name as authorname, c.alias as catalias, c.title as cattitle, c.params AS catparams FROM '.acymailing_table('content', false).' as a '; $query .= 'LEFT JOIN '.acymailing_table('users', false).' as b ON a.created_by = b.id '; $query .= ' LEFT JOIN '.acymailing_table('categories', false).' AS c ON c.id = a.catid '; $query .= 'WHERE a.id = '.$tag->id.' LIMIT 1'; } $this->db->setQuery($query); $article = $this->db->loadObject(); if(empty($article)){ $app = JFactory::getApplication(); if($app->isAdmin()) $app->enqueueMessage('The article "'.$tag->id.'" could not be loaded', 'notice'); return ''; } if(empty($tag->lang) && !empty($this->newslanguage) && !empty($this->newslanguage->lang_code)) $tag->lang = $this->newslanguage->lang_code.','.$this->newslanguage->lang_id; $this->acypluginsHelper->translateItem($article, $tag, 'content'); $varFields = array(); foreach($article as $fieldName => $oneField){ $varFields['{'.$fieldName.'}'] = $oneField; } $this->acypluginsHelper->cleanHtml($article->introtext); $this->acypluginsHelper->cleanHtml($article->fulltext); if($this->params->get('integration') == 'jreviews' && !empty($article->images)){ $firstpict = explode('|', trim(reset(explode("\n", $article->images))).'|||||||'); if(!empty($firstpict[0])){ $picturePath = file_exists(ACYMAILING_ROOT.'images'.DS.'stories'.DS.str_replace('/', DS, $firstpict[0])) ? ACYMAILING_LIVE.'images/stories/'.$firstpict[0] : ACYMAILING_LIVE.'images/'.$firstpict[0]; $myPict = '<img src="'.$picturePath.'" alt="" hspace="5" style="margin:5px" align="left" border="'.intval($firstpict[5]).'" />'; $article->introtext = $myPict.$article->introtext; } } $completeId = $article->id; $completeCat = $article->catid; if(!empty($article->alias)) $completeId .= ':'.$article->alias; if(!empty($article->catalias)) $completeCat .= ':'.$article->catalias; if(empty($tag->itemid)){ if(!ACYMAILING_J16){ $completeSec = $article->sectionid; if(!empty($article->secalias)) $completeSec .= ':'.$article->secalias; if($this->params->get('integration') == 'flexicontent' && class_exists('FlexicontentHelperRoute')){ $link = FlexicontentHelperRoute::getItemRoute($completeId, $completeCat, $completeSec); }else{ $link = ContentHelperRoute::getArticleRoute($completeId, $completeCat, $completeSec); } }else{ if($this->params->get('integration') == 'flexicontent' && class_exists('FlexicontentHelperRoute')){ $link = FlexicontentHelperRoute::getItemRoute($completeId, $completeCat); }else{ $link = ContentHelperRoute::getArticleRoute($completeId, $completeCat); } } }else{ $link = 'index.php?option=com_content&view=article&id='.$completeId.'&catid='.$completeCat; } if($this->params->get('integration') == 'flexicontent' && !class_exists('FlexicontentHelperRoute')){ $link = 'index.php?option=com_flexicontent&view=items&id='.$completeId; }elseif($this->params->get('integration') == 'jaggyblog'){ $link = 'index.php?option=com_jaggyblog&task=viewpost&id='.$completeId; } if(!empty($tag->itemid)) $link .= '&Itemid='.$tag->itemid; if(!empty($tag->lang)) $link .= (strpos($link, '?') ? '&' : '?').'lang='.substr($tag->lang, 0, strpos($tag->lang, ACYMAILING_J16 ? '-' : ',')); if(!empty($tag->autologin)) $link .= (strpos($link, '?') ? '&' : '?').'user={usertag:username|urlencode}&passw={usertag:password|urlencode}'; if(empty($tag->lang) && !empty($article->language) && $article->language != '*'){ if(!isset($this->langcodes[$article->language])){ $this->db->setQuery('SELECT sef FROM #__languages WHERE lang_code = '.$this->db->Quote($article->language).' ORDER BY `published` DESC LIMIT 1'); $this->langcodes[$article->language] = $this->db->loadResult(); if(empty($this->langcodes[$article->language])) $this->langcodes[$article->language] = $article->language; } $link .= (strpos($link, '?') ? '&' : '?').'lang='.$this->langcodes[$article->language]; } $link = acymailing_frontendLink($link); $varFields['{link}'] = $link; $afterTitle = ''; $afterArticle = ''; $contentText = ''; $pictPath = ''; if(!empty($tag->author)){ $authorName = empty($article->created_by_alias) ? $article->authorname : $article->created_by_alias; if($tag->type == 'title') $afterTitle .= '<br />'; $afterTitle .= '<span class="authorname">'.$authorName.'</span><br />'; } $dateFormat = empty($tag->dateformat) ? JText::_('DATE_FORMAT_LC2') : $tag->dateformat; if(!empty($tag->created)){ if($tag->type == 'title') $afterTitle .= '<br />'; $varFields['{createddate}'] = JHTML::_('date', $article->created, $dateFormat); $afterTitle .= '<span class="createddate">'.$varFields['{createddate}'].'</span><br />'; } if(!empty($tag->modified)){ if($tag->type == 'title') $afterTitle .= '<br />'; $varFields['{modifieddate}'] = JHTML::_('date', $article->modified, $dateFormat); $afterTitle .= '<span class="modifieddate">'.$varFields['{modifieddate}'].'</span><br />'; } if(!isset($tag->pict) && $tag->type != 'title'){ if($this->params->get('removepictures', 'never') == 'always' || ($this->params->get('removepictures', 'never') == 'intro' && $tag->type == "intro")){ $tag->pict = 0; }else{ $tag->pict = 1; } } if(strpos($article->introtext, 'jseblod') !== false && file_exists(ACYMAILING_ROOT.'plugins'.DS.'content'.DS.'cckjseblod.php')){ global $mainframe; include_once(ACYMAILING_ROOT.'plugins'.DS.'content'.DS.'cckjseblod.php'); if(function_exists('plgContentCCKjSeblod')){ $paramsContent = JComponentHelper::getParams('com_content'); $article->text = $article->introtext.$article->fulltext; plgContentCCKjSeblod($article, $paramsContent); $article->introtext = $article->text; $article->fulltext = ''; } } if($tag->type != "title"){ if($tag->type == "intro"){ $forceReadMore = false; $mytag = new stdClass(); $mytag->wrap = $this->params->get('wordwrap', 0); if(empty($article->fulltext)){ $article->introtext = $this->acypluginsHelper->wrapText($article->introtext, $mytag); if(!empty($this->acypluginsHelper->wraped)) $forceReadMore = true; } } if(empty($article->fulltext) || $tag->type != "text"){ $contentText .= $article->introtext; } if($tag->type != "intro" && !empty($article->fulltext)){ if($tag->type != "text" && !empty($article->introtext) && !preg_match('#^<[div|p]#i', trim($article->fulltext))){ $contentText .= '<br />'; } $contentText .= $article->fulltext; } $contentText = $this->acypluginsHelper->wrapText($contentText, $tag); if(!empty($this->acypluginsHelper->wraped)) $forceReadMore = true; if(!empty($tag->clean)){ $contentText = strip_tags($contentText, '<p><br><span><ul><li><h1><h2><h3><h4><a>'); } if(ACYMAILING_J16 && !empty($article->images) && !empty($tag->pict)){ $picthtml = ''; $images = json_decode($article->images); $pictVar = ($tag->type == 'intro') ? 'image_intro' : 'image_fulltext'; $floatVar = ($tag->type == 'intro') ? 'float_intro' : 'float_fulltext'; if(!empty($images->$pictVar)){ if($images->$floatVar != 'right'){ if(empty($tag->format)) $tag->format = 'TOP_LEFT'; $images->$floatVar = 'left'; }elseif(empty($tag->format)) $tag->format = 'TOP_RIGHT'; $style = 'float:'.$images->$floatVar.';padding-'.(($images->$floatVar == 'right') ? 'left' : 'right').':10px;padding-bottom:10px;'; if(!empty($tag->link) && empty($tag->nopictlink)) $picthtml .= '<a href="'.$link.'" style="text-decoration:none" >'; $alt = ''; $altVar = $pictVar.'_alt'; if(!empty($images->$altVar)) $alt = $images->$altVar; $picthtml .= '<img'.(empty($tag->nopictstyle) ? ' style="'.$style.'"' : '').' alt="'.$alt.'" border="0" src="'.JURI::root().$images->$pictVar.'" />'; $pictPath = JURI::root().$images->$pictVar; if(!empty($tag->link) && empty($tag->nopictlink)) $picthtml .= '</a>'; $varFields['{picthtml}'] = $picthtml; } } $contentText = preg_replace('/^\s*(<img[^>]*>)\s*(?:<br[^>]*>\s*)*/i', '$1', $contentText); if(file_exists(JPATH_SITE.DS.'plugins'.DS.'attachments') && empty($tag->noattach)){ try{ $query = 'SELECT display_name, url, filename '.'FROM #__attachments '.'WHERE (parent_entity = "article" '.'AND parent_id = '.intval($tag->id).')'; if(ACYMAILING_J16){ $query .= ' OR (parent_entity = "category" '.'AND parent_id = '.intval($article->catid).')'; } $this->db->setQuery($query); $attachments = $this->db->loadObjectList(); }catch(Exception $e){ $attachments = array(); } if(!empty($attachments)){ $afterArticle .= '<br />'.JText::_('ATTACHED_FILES').' :'; foreach($attachments as $oneAttachment){ $afterArticle .= '<br /><a href="'.$oneAttachment->url.'">'.(empty($oneAttachment->display_name) ? $oneAttachment->filename : $oneAttachment->display_name).'</a>'; } } } if(!empty($tag->share)){ $links = array(); $shareOpt = explode(',', $tag->share); foreach($shareOpt as $socialNetwork){ $knownNetwork = true; $socialNetwork = strtolower(trim($socialNetwork)); if($socialNetwork == 'facebook'){ $linkShare = 'http://www.facebook.com/sharer.php?u='.urlencode($link).'&t='.urlencode($article->title); $picSrc = (file_exists(ACYMAILING_MEDIA.'plugins'.DS.'facebook.png') ? 'media/com_acymailing/plugins/facebook.png' : 'media/com_acymailing/images/facebookshare.png'); $altText = 'Facebook'; }elseif($socialNetwork == 'twitter'){ $text = JText::sprintf('SHARE_TEXT', $link); $linkShare = 'http://twitter.com/home?status='.urlencode($text); $picSrc = (file_exists(ACYMAILING_MEDIA.'plugins'.DS.'twitter.png') ? 'media/com_acymailing/plugins/twitter.png' : 'media/com_acymailing/images/twittershare.png'); $altText = 'Twitter'; }elseif($socialNetwork == 'linkedin'){ $linkShare = 'http://www.linkedin.com/shareArticle?mini=true&url='.urlencode($link).'&title='.urlencode($article->title); $picSrc = (file_exists(ACYMAILING_MEDIA.'plugins'.DS.'linkedin.png') ? 'media/com_acymailing/plugins/linkedin.png' : 'media/com_acymailing/images/linkedin.png'); $altText = 'LinkedIn'; }elseif($socialNetwork == 'hyves'){ $linkShare = 'http://www.hyves-share.nl/button/respect/?hc_hint=1&url='.urlencode($link).'&title='.urlencode($article->title); $picSrc = (file_exists(ACYMAILING_MEDIA.'plugins'.DS.'hyves.png') ? 'media/com_acymailing/plugins/hyves.png' : 'media/com_acymailing/images/hyvesshare.png'); $altText = 'Hyves'; }elseif($socialNetwork == 'google'){ $linkShare = 'https://plus.google.com/share?url='.urlencode($link); $picSrc = (file_exists(ACYMAILING_MEDIA.'plugins'.DS.'google.png') ? 'media/com_acymailing/plugins/google.png' : 'media/com_acymailing/images/google_plusshare.png'); $altText = 'Google+'; }elseif($socialNetwork == 'mailto'){ $linkShare = 'mailto:?subject='.urlencode($article->title).'&body='.urlencode($article->title.' ('.$link.')'); $picSrc = (file_exists(ACYMAILING_MEDIA.'plugins'.DS.'mailto.png') ? 'media/com_acymailing/plugins/mailto.png' : 'media/com_acymailing/images/mailto.png'); $altText = 'MailTo'; }else{ $knownNetwork = false; acymailing_display('Network not found: '.$socialNetwork.'. Availables networks are facebook, twitter, linkedin, hyves, google and mailto.', 'warning'); } if($knownNetwork){ array_push($links, '<a target="_blank" href="'.$linkShare.'" title="'.JText::sprintf('SOCIAL_SHARE', $altText).'"><img alt="'.$altText.'" src="'.$picSrc.'" /></a>'); } } $afterArticle .= '<br />'.(!empty($tag->sharetxt) ? $tag->sharetxt.' ' : '').implode(' ', $links); } } if(!empty($tag->jtags) && version_compare(JVERSION, '3.1.0', '>=')){ $this->db->setQuery('SELECT t.id, t.alias, t.title FROM #__tags AS t JOIN #__contentitem_tag_map AS m ON t.id = m.tag_id WHERE t.published = 1 AND m.type_alias = "com_content.article" AND m.content_item_id = '.intval($tag->id)); $tags = $this->db->loadObjectList(); if(!empty($tags)){ $afterArticle .= '<br />'; foreach($tags as $oneTag){ $afterArticle .= ' <a href="index.php?option=com_tags&view=tag&id='.$oneTag->id.'-'.$oneTag->alias.'">'.$oneTag->title.'</a> '; } } } $readMoreText = empty($tag->readmore) ? $this->readmore : $tag->readmore; $varFields['{readmore}'] = '<a class="acymailing_readmore_link" style="text-decoration:none;" target="_blank" href="'.$link.'"><span class="acymailing_readmore">'.$readMoreText.'</span></a>'; if($tag->type == "intro" && empty($tag->noreadmore) && (!empty($article->fulltext) || $forceReadMore)){ if(!empty($afterArticle)) $afterArticle .= '<br />'; $afterArticle .= $varFields['{readmore}']; } $format = new stdClass(); $format->tag = $tag; $format->title = empty($tag->notitle) ? $article->title : ''; $format->afterTitle = $afterTitle; $format->afterArticle = $afterArticle; $format->imagePath = $pictPath; $format->description = $contentText; $format->link = empty($tag->link) ? '' : $link; $format->cols = 2; $result = $this->acypluginsHelper->getStandardDisplay($format); if(!empty($tag->theme)){ if(preg_match('#<img[^>]*>#Uis', $article->introtext.$article->fulltext, $pregresult)){ $cleanContent = strip_tags($result, '<p><br><span><ul><li><h1><h2><h3><h4><a>'); $tdwidth = (empty($tag->maxwidth) ? $this->params->get('maxwidth', 150) : $tag->maxwidth) + 20; $result = '<table cellspacing="0" width="500" cellpadding="0" border="0" ><tr><td class="contentpicture" width="'.$tdwidth.'" valign="top" align="center"><a href="'.$link.'" target="_blank" style="border:0px;text-decoration:none">'.$pregresult[0].'</a></td><td class="contenttext">'.$cleanContent.'</td></tr></table>'; } } if($tag->type != 'title') $result = '<div class="acymailing_content">'.$result.'</div>'; if(!(empty($tag->cattitle) && empty($tag->catpict)) && ((!strpos($article->catid, ',') && $this->currentcatid != $article->catid) || (strpos($article->catid, ',') && !in_array($this->currentcatid, explode(',', $article->catid))))){ if(strpos($article->catid, ',')){ $catids = explode(',', $article->catid); $this->currentcatid = $catids[0]; }else{ $this->currentcatid = $article->catid; } if(ACYMAILING_J16){ $params = json_decode($article->catparams); $article->catpict = $params->image; } $resultTitle = $article->cattitle; if(!empty($tag->catpict) && !empty($article->catpict)){ $style = ''; if(!empty($tag->catmaxwidth)) $style .= 'max-width:'.intval($tag->catmaxwidth).'px;'; if(!empty($tag->catmaxheight)) $style .= 'max-height:'.intval($tag->catmaxheight).'px;'; $resultTitle = '<img'.(empty($style) ? '' : ' style="'.$style.'"').' alt="" src="'.$article->catpict.'" />'; if(!empty($tag->cattitlelink)) $resultTitle = '<a href="index.php?option=com_content&view=category&id='.$this->currentcatid.'">'.$resultTitle.'</a>'; }else{ if(!empty($tag->cattitlelink)) $resultTitle = '<a href="index.php?option=com_content&view=category&id='.$this->currentcatid.'">'.$resultTitle.'</a>'; $resultTitle = '<h3 class="cattitle">'.$resultTitle.'</h3>'; } $result = $resultTitle.$result; } if($oldFormat){ if(file_exists(ACYMAILING_MEDIA.'plugins'.DS.'tagcontent_html.php')){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.'tagcontent_html.php'); $result = ob_get_clean(); }elseif(file_exists(ACYMAILING_MEDIA.'plugins'.DS.'tagcontent.php')){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.'tagcontent.php'); $result = ob_get_clean(); } }elseif(!empty($tag->template) && file_exists(ACYMAILING_MEDIA.'plugins'.DS.$tag->template)){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.$tag->template); $result = ob_get_clean(); } $result = str_replace(array_keys($varFields), $varFields, $result); $result = $this->acypluginsHelper->removeJS($result); $result = $this->acypluginsHelper->replaceVideos($result); $tag->maxheight = empty($tag->maxheight) ? $this->params->get('maxheight', 150) : $tag->maxheight; $tag->maxwidth = empty($tag->maxwidth) ? $this->params->get('maxwidth', 150) : $tag->maxwidth; $result = $this->acypluginsHelper->managePicts($tag, $result); if(!empty($tag->maxchar) && strlen(strip_tags($result)) > $tag->maxchar){ $result = strip_tags($result); for($i = $tag->maxchar; $i > 0; $i--){ if($result[$i] == ' ') break; } if(!empty($i)) $result = substr($result, 0, $i).@$tag->textafter; } return $result; } private function _replaceAuto(&$email){ $this->acymailing_generateautonews($email); if(empty($this->tags)) return; $this->acypluginsHelper->replaceTags($email, $this->tags, true); } public function acymailing_generateautonews(&$email){ $time = time(); $tags = $this->acypluginsHelper->extractTags($email, 'autocontent'); $return = new stdClass(); $return->status = true; $return->message = ''; $this->tags = array(); if(empty($tags)) return $return; foreach($tags as $oneTag => $parameter){ if(isset($this->tags[$oneTag])) continue; $allcats = explode('-', $parameter->id); $selectedArea = array(); foreach($allcats as $oneCat){ if(!ACYMAILING_J16){ $sectype = substr($oneCat, 0, 3); $num = substr($oneCat, 3); if(empty($num)) continue; if($sectype == 'cat'){ $selectedArea[] = 'catid = '.(int)$num; }elseif($sectype == 'sec'){ $selectedArea[] = 'sectionid = '.(int)$num; } }else{ if(empty($oneCat)) continue; $selectedArea[] = intval($oneCat); } } $query = 'SELECT a.id FROM `#__content` as a '; $where = array(); if(!empty($parameter->tags) && version_compare(JVERSION, '3.1.0', '>=')){ $tagsArray = explode(',', $parameter->tags); JArrayHelper::toInteger($tagsArray); if(!empty($tagsArray)){ foreach($tagsArray as $oneTagId){ $query .= 'JOIN #__contentitem_tag_map AS tagsmap'.$oneTagId.' ON (a.id = tagsmap'.$oneTagId.'.content_item_id AND tagsmap'.$oneTagId.'.type_alias LIKE "com_content.article" AND tagsmap'.$oneTagId.'.tag_id = '.$oneTagId.') '; } } } if(!empty($parameter->featured)){ if(ACYMAILING_J16){ $where[] = 'a.featured = 1'; }else{ $query .= 'JOIN `#__content_frontpage` as b ON a.id = b.content_id '; $where[] = 'b.content_id IS NOT NULL'; } } if(!empty($parameter->nofeatured)){ if(ACYMAILING_J16){ $where[] = 'a.featured = 0'; }else{ $query .= 'LEFT JOIN `#__content_frontpage` as b ON a.id = b.content_id '; $where[] = 'b.content_id IS NULL'; } } if(ACYMAILING_J16 && !empty($parameter->subcats) && !empty($selectedArea)){ $this->db->setQuery('SELECT lft,rgt FROM #__categories WHERE id IN ('.implode(',', $selectedArea).')'); $catinfos = $this->db->loadObjectList(); if(!empty($catinfos)){ $whereCats = array(); foreach($catinfos as $onecat){ $whereCats[] = 'lft > '.$onecat->lft.' AND rgt < '.$onecat->rgt; } $this->db->setQuery('SELECT id FROM #__categories WHERE ('.implode(') OR (', $whereCats).')'); $othercats = acymailing_loadResultArray($this->db); $selectedArea = array_merge($selectedArea, $othercats); } } if(!empty($selectedArea)){ if(!ACYMAILING_J16){ $where[] = implode(' OR ', $selectedArea); }else{ $filter_cat = '`catid` IN ('.implode(',', $selectedArea).')'; if(file_exists(JPATH_SITE.DS.'components'.DS.'com_multicats')){ $filter_cat = '`catid` REGEXP "^([0-9]+,)*'.implode('(,[0-9]+)*$" OR `catid` REGEXP "^([0-9]+,)*', $selectedArea).'(,[0-9]+)*$"'; } $where[] = $filter_cat; } } if(!empty($parameter->excludedcats)){ $excludedCats = explode('-', $parameter->excludedcats); JArrayHelper::toInteger($excludedCats); $filter_cat = '`catid` NOT IN ("'.implode('","', $excludedCats).'")'; if(file_exists(JPATH_SITE.DS.'components'.DS.'com_multicats')){ $filter_cat = '`catid` NOT REGEXP "^([0-9]+,)*'.implode('(,[0-9]+)*$" AND `catid` NOT REGEXP "^([0-9]+,)*', $excludedCats).'(,[0-9]+)*$"'; } $where[] = $filter_cat; } if(!empty($parameter->filter) && !empty($email->params['lastgenerateddate'])){ $condition = '(`publish_up` > \''.date('Y-m-d H:i:s', $email->params['lastgenerateddate'] - date('Z')).'\' AND `publish_up` < \''.date('Y-m-d H:i:s', $time - date('Z')).'\')'; $condition .= ' OR (`created` > \''.date('Y-m-d H:i:s', $email->params['lastgenerateddate'] - date('Z')).'\' AND `created` < \''.date('Y-m-d H:i:s', $time - date('Z')).'\')'; if($parameter->filter == 'modify'){ $modify = '(`modified` > \''.date('Y-m-d H:i:s', $email->params['lastgenerateddate'] - date('Z')).'\' AND `modified` < \''.date('Y-m-d H:i:s', $time - date('Z')).'\')'; if(!empty($parameter->maxpublished)) $modify = '('.$modify.' AND `publish_up` > \''.date('Y-m-d H:i:s', time() - date('Z') - ((int)$parameter->maxpublished * 60 * 60 * 24)).'\')'; $condition .= ' OR '.$modify; } $where[] = $condition; } if(!empty($parameter->maxcreated)){ $date = $parameter->maxcreated; if(strpos($parameter->maxcreated, '[time]') !== false) $date = acymailing_replaceDate(str_replace('[time]', '{time}', $parameter->maxcreated)); if(!is_numeric($date)) $date = strtotime($parameter->maxcreated); if(empty($date)){ acymailing_display('Wrong date format ('.$parameter->maxcreated.' in '.$oneTag.'), please use YYYY-MM-DD', 'warning'); } $where[] = '`created` < '.$this->db->Quote(date('Y-m-d H:i:s', $date)).' OR `publish_up` < '.$this->db->Quote(date('Y-m-d H:i:s', $date)); }else{ $where[] = '`publish_up` < \''.date('Y-m-d H:i:s', $time - date('Z')).'\''; } if(!empty($parameter->mincreated)){ $date = $parameter->mincreated; if(strpos($parameter->mincreated, '[time]') !== false) $date = acymailing_replaceDate(str_replace('[time]', '{time}', $parameter->mincreated)); if(!is_numeric($date)) $date = strtotime($parameter->mincreated); if(empty($date)){ acymailing_display('Wrong date format ('.$parameter->mincreated.' in '.$oneTag.'), please use YYYY-MM-DD', 'warning'); } $where[] = '`created` > '.$this->db->Quote(date('Y-m-d H:i:s', $date)).' OR `publish_up` > '.$this->db->Quote(date('Y-m-d H:i:s', $date)); } if(!empty($parameter->meta)){ $allMetaTags = explode(',', $parameter->meta); $metaWhere = array(); foreach($allMetaTags as $oneMeta){ if(empty($oneMeta)) continue; $metaWhere[] = "`metakey` LIKE '%".acymailing_getEscaped($oneMeta, true)."%'"; } if(!empty($metaWhere)) $where[] = implode(' OR ', $metaWhere); } $where[] = '`publish_down` > \''.date('Y-m-d H:i:s', $time - date('Z')).'\' OR `publish_down` = 0'; if(empty($parameter->unpublished)){ $where[] = 'state = 1'; }else{ $where[] = 'state = 0'; } if(!ACYMAILING_J16){ if(isset($parameter->access)){ $where[] = 'access <= '.intval($parameter->access); }else{ if($this->params->get('contentaccess', 'registered') == 'registered'){ $where[] = 'access <= 1'; }elseif($this->params->get('contentaccess', 'registered') == 'public') $where[] = 'access = 0'; } }elseif(isset($parameter->access)){ if(strpos($parameter->access, ',')){ $allAccess = explode(',', $parameter->access); JArrayHelper::toInteger($allAccess); $where[] = 'access IN ('.implode(',', $allAccess).')'; }else{ $where[] = 'access = '.intval($parameter->access); } } if(ACYMAILING_J16 && !empty($parameter->language)){ $allLanguages = explode(',', $parameter->language); $langWhere = 'language IN ('; foreach($allLanguages as $oneLanguage){ $langWhere .= $this->db->Quote(trim($oneLanguage)).','; } $where[] = trim($langWhere, ',').')'; } $query .= ' WHERE ('.implode(') AND (', $where).')'; if(!empty($parameter->order)){ $ordering = explode(',', $parameter->order); if($ordering[0] == 'rand'){ $query .= ' ORDER BY rand()'; }else{ $query .= ' ORDER BY `'.acymailing_secureField($ordering[0]).'` '.acymailing_secureField($ordering[1]).' , a.`id` DESC'; } } $start = ''; if(!empty($parameter->start)) $start = intval($parameter->start).','; if(empty($parameter->max)) $parameter->max = 100; $query .= ' LIMIT '.$start.(int)$parameter->max; $this->db->setQuery($query); $allArticles = acymailing_loadResultArray($this->db); if(!empty($parameter->min) && count($allArticles) < $parameter->min){ $return->status = false; $return->message = 'Not enough articles for the tag '.$oneTag.' : '.count($allArticles).' / '.$parameter->min.' between '.acymailing_getDate($email->params['lastgenerateddate']).' and '.acymailing_getDate($time); } $stringTag = empty($parameter->noentrytext) ? '' : $parameter->noentrytext; if(!empty($allArticles)){ if(file_exists(ACYMAILING_MEDIA.'plugins'.DS.'autocontent.php')){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.'autocontent.php'); $stringTag = ob_get_clean(); }else{ $arrayElements = array(); $numArticle = 1; foreach($allArticles as $oneArticleId){ $args = array(); $args[] = 'joomlacontent:'.$oneArticleId; $args[] = 'num:'.$numArticle++; if(!empty($parameter->invert) && $numArticle % 2 == 1) $args[] = 'invert'; if(!empty($parameter->type)) $args[] = 'type:'.$parameter->type; if(!empty($parameter->format)) $args[] = 'format:'.$parameter->format; if(!empty($parameter->template)) $args[] = 'template:'.$parameter->template; if(!empty($parameter->jtags)) $args[] = 'jtags'; if(!empty($parameter->link)) $args[] = 'link'; if(!empty($parameter->author)) $args[] = 'author'; if(!empty($parameter->autologin)) $args[] = 'autologin'; if(!empty($parameter->cattitle)) $args[] = 'cattitle'; if(!empty($parameter->cattitlelink)) $args[] = 'cattitlelink'; if(!empty($parameter->lang)) $args[] = 'lang:'.$parameter->lang; if(!empty($parameter->theme)) $args[] = 'theme'; if(!empty($parameter->clean)) $args[] = 'clean'; if(!empty($parameter->notitle)) $args[] = 'notitle'; if(!empty($parameter->nopictstyle)) $args[] = 'nopictstyle'; if(!empty($parameter->nopictlink)) $args[] = 'nopictlink'; if(!empty($parameter->created)) $args[] = 'created'; if(!empty($parameter->noattach)) $args[] = 'noattach'; if(!empty($parameter->itemid)) $args[] = 'itemid:'.$parameter->itemid; if(!empty($parameter->noreadmore)) $args[] = 'noreadmore'; if(isset($parameter->pict)) $args[] = 'pict:'.$parameter->pict; if(!empty($parameter->wrap)) $args[] = 'wrap:'.$parameter->wrap; if(!empty($parameter->maxwidth)) $args[] = 'maxwidth:'.$parameter->maxwidth; if(!empty($parameter->maxheight)) $args[] = 'maxheight:'.$parameter->maxheight; if(!empty($parameter->readmore)) $args[] = 'readmore:'.$parameter->readmore; if(!empty($parameter->dateformat)) $args[] = 'dateformat:'.$parameter->dateformat; if(!empty($parameter->textafter)) $args[] = 'textafter:'.$parameter->textafter; if(!empty($parameter->maxchar)) $args[] = 'maxchar:'.$parameter->maxchar; if(!empty($parameter->share)) $args[] = 'share:'.$parameter->share; if(!empty($parameter->sharetxt)) $args[] = 'sharetxt:'.$parameter->sharetxt; if(!empty($parameter->catpict)) $args[] = 'catpict'; if(!empty($parameter->catmaxwidth)) $args[] = 'catmaxwidth:'.$parameter->catmaxwidth; if(!empty($parameter->catmaxheight)) $args[] = 'catmaxheight:'.$parameter->catmaxheight; $arrayElements[] = '{'.implode('|', $args).'}'; } $stringTag = $this->acypluginsHelper->getFormattedResult($arrayElements, $parameter); } } $this->tags[$oneTag] = $stringTag; } return $return; } }//endclass PK ! ���|! ! tagcontent/tagcontent.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : content insertion</name> <creationDate>September 2009</creationDate> <version>3.7.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This AcyMailing plugin enables you to include Joomla Articles in any e-mail sent by AcyMailing</description> <files> <filename plugin="tagcontent">tagcontent.php</filename> <filename>tagcontent.xml</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagcontent"/> <param name="customtemplate" type="customtemplate" label="Custom template" description="Click on the Custom template button to create a custom layout that will override the default view" default="tagcontent"/> <param name="displayart" type="radio" default="all" label="Display articles" description="Select if you want to display all articles in the popup for article selection or only published articles"> <option value="all">All articles</option> <option value="onlypub">Only published articles</option> </param> <param name="contentaccess" type="radio" default="registered" label="Content Access" description="If you use the automatic article insertion (via the categories tab), AcyMailing will only include articles having the selected access in your Newsletter"> <option value="public">Public only</option> <option value="registered">Public and Registered</option> <option value="all">All</option> </param> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="Using AcyMailing Enterprise, you can restrict the access to this tag system"> <option value="all">Display all articles</option> <option value="author">Display only author's articles</option> <option value="none">Don't display this tag system on the front-end</option> </param> <param name="metaselect" type="radio" default="0" label="Select articles by meta tags" description="Do you want to display an interface on the content category insertion to filter articles by meta tags? Meta tags must be separated by a comma."> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </param> <param name="integration" type="radio" default="0" label="Act for another component" description="Some Joomla components use the content table to store their articles. This option enables you to make sure Acy will act for this third part component and not for the default Joomla content system" > <option value="0">Joomla content</option> <option value="jreviews">jReviews</option> <option value="flexicontent">FlexiContent</option> <option value="jaggyblog">JaggyBlog</option> </param> <param name="@spacer" type="spacer" default="" label="" description="" /> <param name="default_type" type="radio" default="intro" label="DISPLAY" description="FIELD_DEFAULT"> <option value="title">TITLE_ONLY</option> <option value="intro">INTRO_ONLY</option> <option value="text">FIELD_TEXT</option> <option value="full">FULL_TEXT</option> </param> <param name="wordwrap" type="text" size="10" default="0" label="Intro Word Wrapping" description="If you insert only the introduction and you didn't insert the read more link, AcyMailing will only load the first XX characters of your content. If you specify 0, AcyMailing won't wrap your content" /> <param name="default_titlelink" type="radio" default="link" label="CLICKABLE_TITLE" description="FIELD_DEFAULT"> <option value="link">JOOMEXT_YES</option> <option value="0">JOOMEXT_NO</option> </param> <param name="default_author" type="radio" default="0" label="AUTHOR_NAME" description="FIELD_DEFAULT"> <option value="author">JOOMEXT_YES</option> <option value="0">JOOMEXT_NO</option> </param> <param name="default_pict" type="radio" default="1" label="DISPLAY_PICTURES" description="FIELD_DEFAULT"> <option value="1">JOOMEXT_YES</option> <option value="resized">RESIZED</option> <option value="0">JOOMEXT_NO</option> </param> <param name="maxwidth" type="text" size="10" default="150" label="Max picture width" description="FIELD_DEFAULT" /> <param name="maxheight" type="text" size="10" default="150" label="Max picture height" description="FIELD_DEFAULT" /> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagcontent"/> <field name="customtemplate" type="customtemplate" label="Custom template" description="Click on the Custom template button to create a custom layout that will override the default view" default="tagcontent"/> <field name="displayart" type="radio" default="all" label="Display articles" description="Select if you want to display all articles in the popup for article selection or only published articles"> <option value="all">All articles</option> <option value="onlypub">Only published articles</option> </field> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="Using AcyMailing Enterprise, you can restrict the access to this tag system"> <option value="all">Display all articles</option> <option value="author">Display only author's articles</option> <option value="none">Don't display this tag system on the front-end</option> </field> <field name="metaselect" type="radio" default="0" label="Select articles by meta tags" description="Do you want to display an interface on the content category insertion to filter articles by meta tags? Meta tags must be separated by a comma."> <option value="0">No</option> <option value="1">Yes</option> </field> <field name="integration" type="radio" default="0" label="Act for another component" description="Some Joomla components use the content table to store their articles. This option enables you to make sure Acy will act for this third part component and not for the default Joomla content system" > <option value="0">Joomla content</option> <option value="jreviews">jReviews</option> <option value="flexicontent">FlexiContent</option> <option value="jaggyblog">JaggyBlog</option> </field> <field name="@spacer" type="spacer" default="" label="" description="" /> <field name="default_type" type="radio" default="intro" label="DISPLAY" description="FIELD_DEFAULT"> <option value="title">TITLE_ONLY</option> <option value="intro">INTRO_ONLY</option> <option value="text">FIELD_TEXT</option> <option value="full">FULL_TEXT</option> </field> <field name="wordwrap" type="text" size="10" default="0" label="Intro Word Wrapping" description="If you insert only the introduction and you didn't insert the read more link, AcyMailing will only load the first XX characters of your content. If you specify 0, AcyMailing won't wrap your content" /> <field name="default_titlelink" type="radio" default="link" label="CLICKABLE_TITLE" description="FIELD_DEFAULT"> <option value="link">JOOMEXT_YES</option> <option value="0">JOOMEXT_NO</option> </field> <field name="default_author" type="radio" default="" label="AUTHOR_NAME" description="FIELD_DEFAULT"> <option value="author">JOOMEXT_YES</option> <option value="">JOOMEXT_NO</option> </field> <field name="default_pict" type="radio" default="1" label="DISPLAY_PICTURES" description="FIELD_DEFAULT"> <option value="1">JOOMEXT_YES</option> <option value="resized">RESIZED</option> <option value="0">JOOMEXT_NO</option> </field> <field name="maxwidth" type="text" size="10" default="150" label="Max picture width" description="FIELD_DEFAULT" /> <field name="maxheight" type="text" size="10" default="150" label="Max picture height" description="FIELD_DEFAULT" /> </fieldset> </fields> </config> </extension> PK ! �h3� � tagsubscriber/tagsubscriber.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : Subscriber information</name> <creationDate>juillet 2016</creationDate> <version>5.5.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add information of the subscriber in your Newsletter</description> <files> <filename plugin="tagsubscriber">tagsubscriber.php</filename> <filename>index.html</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagsubscriber"/> <param name="displayfilter_mail" type="radio" default="1" label="Display filter" description="Display the subscriber fields filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </param> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagsubscriber"/> <field name="displayfilter_mail" type="radio" default="1" label="Display filter" description="Display the subscriber fields filter on the Newsletter creation interface"> <option value="0">JOOMEXT_NO</option> <option value="1">JOOMEXT_YES</option> </field> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! �� �eI eI tagsubscriber/tagsubscriber.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTagsubscriber extends JPlugin{ var $fields = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tagsubscriber'); $this->params = new acyParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('SUBSCRIBER_SUBSCRIBER'); $onePlugin->function = 'acymailingtagsubscriber_show'; $onePlugin->help = 'plugin-tagsubscriber'; return $onePlugin; } function acymailingtagsubscriber_show(){ $fields = acymailing_getColumns('#__acymailing_subscriber'); $descriptions['subid'] = JText::_('SUBSCRIBER_ID'); $descriptions['email'] = JText::_('SUBSCRIBER_EMAIL'); $descriptions['name'] = JText::_('SUBSCRIBER_NAME'); $descriptions['userid'] = JText::_('SUBSCRIBER_USERID'); $descriptions['ip'] = JText::_('SUBSCRIBER_IP'); $descriptions['created'] = JText::_('SUBSCRIBER_CREATED'); echo '<br style="clear:both;"/>'; if(JRequest::getVar('type') == 'notification'){ $text = '<div class="onelineblockoptions"> <span class="acyblocktitle">'.JText::_('CURRENT_USER_INFO').'</span> <table class="acymailing_table" cellpadding="1">'; $k = 0; foreach($fields as $fieldname => $oneField){ if(!isset($descriptions[$fieldname]) AND $oneField == 'tinyint') continue; if(empty($descriptions[$fieldname])) $descriptions[$fieldname] = ''; $type = ''; if(in_array($fieldname, array('created', 'confirmed_date', 'lastclick_date', 'lastsent_date', 'lastopen_date'))) $type = '|type:time'; $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\'{user:'.$fieldname.$type.'}\');insertTag();" ><td class="acytdcheckbox"></td><td>'.$fieldname.'</td><td>'.$descriptions[$fieldname].'</td></tr>'; $k = 1 - $k; } $text .= '</table></div>'; echo $text; } $text = '<div class="onelineblockoptions"> <span class="acyblocktitle">'.JText::_('RECEIVER_INFORMATION').'</span> <table class="acymailing_table" cellpadding="1">'; $others = array(); $others['{subtag:name|part:first|ucfirst}'] = array('name' => JText::_('SUBSCRIBER_FIRSTPART'), 'desc' => JText::_('SUBSCRIBER_FIRSTPART').' '.JText::_('SUBSCRIBER_FIRSTPART_DESC')); $others['{subtag:name|part:last|ucfirst}'] = array('name' => JText::_('SUBSCRIBER_LASTPART'), 'desc' => JText::_('SUBSCRIBER_LASTPART').' '.JText::_('SUBSCRIBER_LASTPART_DESC')); $k = 0; foreach($others as $tagname => $tag){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\''.$tagname.'\');insertTag();" ><td class="acytdcheckbox"></td><td>'.$tag['name'].'</td><td>'.$tag['desc'].'</td></tr>'; $k = 1 - $k; } foreach($fields as $fieldname => $oneField){ if(!isset($descriptions[$fieldname]) AND $oneField == 'tinyint') continue; if(empty($descriptions[$fieldname])) $descriptions[$fieldname] = ''; $type = ''; if(in_array($fieldname, array('created', 'confirmed_date', 'lastclick_date', 'lastopen_date', 'lastsent_date'))) $type = '|type:time'; $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="setTag(\'{subtag:'.$fieldname.$type.'}\');insertTag();" ><td class="acytdcheckbox"></td><td>'.$fieldname.'</td><td>'.$descriptions[$fieldname].'</td></tr>'; $k = 1 - $k; } $text .= '</table></div>'; echo $text; } function acymailing_replaceusertags(&$email, &$user, $send = true){ $this->pluginsHelper = acymailing_get('helper.acyplugins'); $extractedTags = $this->pluginsHelper->extractTags($email, 'subtag'); if(empty($extractedTags)) return; $tags = array(); foreach($extractedTags as $i => $oneTag){ if(isset($tags[$i])) continue; $tags[$i] = $this->replaceSubTag($oneTag, $user); } $this->pluginsHelper->replaceTags($email, $tags); } private function replaceSubTag(&$mytag, $user){ if(!empty($mytag->juser)){ $subClass = acymailing_get('class.subscriber'); if(strpos($mytag->juser, '@') !== false){ $userTmp = $subClass->get($mytag->juser); }else{ $db = JFactory::getDBO(); $query = "SELECT * FROM #__users WHERE username= ".$db->quote($mytag->juser); $db->setQuery($query); $JuserTmp = $db->loadObject(); if(!empty($JuserTmp->email)) $userTmp = $subClass->get($JuserTmp->email); } $app = JFactory::getApplication(); if(!empty($userTmp)){ $user = $userTmp; }else $app->enqueueMessage('User not found for tag juser', 'warning'); } $field = $mytag->id; if(empty($mytag->titlevalue)){ $replaceme = (isset($user->$field) && strlen($user->$field) > 0) ? $user->$field : $mytag->default; }else{ $fieldClass = acymailing_get('class.fields'); if(!isset($this->fields[$field])){ $this->fields[$field] = $fieldClass->get($field); } $replaceme = (isset($user->$field) && strlen($user->$field) > 0 && !empty($this->fields[$field]->value[$user->$field]->value)) ? $fieldClass->trans($this->fields[$field]->value[$user->$field]->value) : $mytag->default; } $replaceme = nl2br($replaceme); $this->pluginsHelper->formatString($replaceme, $mytag); return $replaceme; } function onAcyDisplayFilters(&$type, $context = "massactions"){ if($this->params->get('displayfilter_'.$context, true) == false) return; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__acymailing_subscriber'); if(empty($fields)) return; $field = array(); $field[] = JHTML::_('select.option', 0, '- - -'); foreach($fields as $oneField => $fieldType){ $field[] = JHTML::_('select.option', $oneField, $oneField); } $type['acymailingfield'] = JText::_('ACYMAILING_FIELD'); $jsOnChange = "displayCondFilter('displaySubscriberValues', 'toChange__num__',__num__,'map='+document.getElementById('filter__num__acymailingfieldmap').value+'&cond='+document.getElementById('filter__num__acymailingfieldoperator').value+'&value='+document.getElementById('filter__num__acymailingfieldvalue').value); "; $operators = acymailing_get('type.operators'); $operators->extra = 'onchange="'.$jsOnChange.'"'; $return = '<div id="filter__num__acymailingfield">'.JHTML::_('select.genericlist', $field, "filter[__num__][acymailingfield][map]", 'onchange="'.$jsOnChange.'" class="inputbox" size="1"', 'value', 'text'); $return .= ' '.$operators->display("filter[__num__][acymailingfield][operator]").' <span id="toChange__num__"><input onchange="countresults(__num__)" class="inputbox" type="text" name="filter[__num__][acymailingfield][value]" style="width:200px" value="" id="filter__num__acymailingfieldvalue"></span></div>'; return $return; } function onAcyTriggerFct_displaySubscriberValues(){ $num = JRequest::getInt('num'); $map = JRequest::getCmd('map'); $cond = JRequest::getVar('cond', '', '', 'string', JREQUEST_ALLOWHTML); $value = JRequest::getVar('value', '', '', 'string', JREQUEST_ALLOWHTML); $emptyInputReturn = '<input onchange="countresults('.$num.')" class="inputbox" type="text" name="filter['.$num.'][acymailingfield][value]" id="filter'.$num.'acymailingfieldvalue" style="width:200px" value="'.$value.'">'; $dateInput = '<input onClick="displayDatePicker(this,event)" onchange="countresults('.$num.')" class="inputbox" type="text" name="filter['.$num.'][acymailingfield][value]" id="filter'.$num.'acymailingfieldvalue" style="width:200px" value="'.$value.'">'; if(in_array($map, array('created', 'confirmed_date', 'lastopen_date', 'lastclick_date'))) return $dateInput; if(empty($map) || $map == 'key' || !in_array($cond, array('=', '!='))) return $emptyInputReturn; $db = JFactory::getDBO(); $query = 'SELECT DISTINCT `'.acymailing_secureField($map).'` AS value FROM #__acymailing_subscriber LIMIT 100'; $db->setQuery($query); $prop = $db->loadObjectList(); if(empty($prop) || count($prop) >= 100 || (count($prop) == 1 && (empty($prop[0]->value) || $prop[0]->value == '-'))) return $emptyInputReturn; return JHTML::_('select.genericlist', $prop, "filter[$num][acymailingfield][value]", 'onchange="countresults('.$num.')" class="inputbox" size="1" style="width:200px"', 'value', 'value', $value, 'filter'.$num.'acymailingfieldvalue'); } function onAcyDisplayFilter_acymailingfield($filter){ return JText::_('ACYMAILING_FIELD').' : '.$filter['map'].' '.$filter['operator'].' '.$filter['value']; } function onAcyProcessFilter_acymailingfield(&$query, $filter, $num){ if(empty($filter['map'])) return; $type = ''; $value = acymailing_replaceDate($filter['value']); if(strpos($filter['value'], '{time}') !== false && !in_array($filter['map'], array('created', 'confirmed_date', 'lastclick_date', 'lastopen_date', 'lastsent_date'))){ $value = strftime('%Y-%m-%d', $value); } if(in_array($filter['map'], array('created', 'confirmed_date', 'lastclick_date', 'lastopen_date', 'lastsent_date'))){ if(!is_numeric($value)) $value = strtotime($value); $type = 'timestamp'; } $query->where[] = $query->convertQuery('sub', $filter['map'], $filter['operator'], $value, $type); } function onAcyProcessFilterCount_acymailingfield(&$query, $filter, $num){ $this->onAcyProcessFilter_acymailingfield($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyDisplayActions(&$type){ $type['acymailingfield'] = JText::_('BOUNCE_ACTION'); $status = array(); $status[] = JHTML::_('select.option', 'confirm', JText::_('CONFIRM_USERS')); $status[] = JHTML::_('select.option', 'unconfirm', JText::_('ACY_ACTION_UNCONFIRM')); $status[] = JHTML::_('select.option', 'enable', JText::_('ENABLE_USERS')); $status[] = JHTML::_('select.option', 'block', JText::_('BLOCK_USERS')); $status[] = JHTML::_('select.option', 'delete', JText::_('DELETE_USERS')); $content = '<div id="action__num__acymailingfield">'.JHTML::_('select.genericlist', $status, "action[__num__][acymailingfield][action]", 'class="inputbox" size="1"', 'value', 'text').'</div>'; if(!acymailing_level(3)) return $content; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__acymailing_subscriber'); if(empty($fields)) return $content; $field = array(); $field[] = JHTML::_('select.option', 0, '- - -'); foreach($fields as $oneField => $fieldType){ if(in_array($oneField, array('name', 'email', 'subid', 'created', 'ip'))) continue; $field[] = JHTML::_('select.option', $oneField, $oneField); } $jsOnChange = "if(document.getElementById('action__num__acymailingfieldvalvalue')!= undefined){ currentVal=document.getElementById('action__num__acymailingfieldvalvalue').value;} else{currentVal='';} displayCondFilter('displayFieldPossibleValues', 'toChangeAction__num__',__num__,'map='+document.getElementById('action__num__acymailingfieldvalmap').value+'&value='+currentVal+'&operator='+document.getElementById('action__num__acymailingfieldvaloperator').value); "; $operator = array(); $operator[] = JHTML::_('select.option', '=', '='); $operator[] = JHTML::_('select.option', '+', '+'); $operator[] = JHTML::_('select.option', '-', '-'); $operator[] = JHTML::_('select.option', 'addend', JText::_('ACY_OPERATOR_ADDEND')); $operator[] = JHTML::_('select.option', 'addbegin', JText::_('ACY_OPERATOR_ADDBEGINNING')); $content .= '<div id="action__num__acymailingfieldval">'.JHTML::_('select.genericlist', $field, "action[__num__][acymailingfieldval][map]", 'onchange="'.$jsOnChange.'" class="inputbox" size="1"', 'value', 'text'); $content .= ' '.JHTML::_('select.genericlist', $operator, "action[__num__][acymailingfieldval][operator]", 'onchange="'.$jsOnChange.'" class="inputbox" size="1" style="width:150px;"', 'value', 'text', '='); $content .= ' <span id="toChangeAction__num__"><input class="inputbox" type="text" id="action__num__acymailingfieldvalvalue" name="action[__num__][acymailingfieldval][value]" style="width:200px" value=""></span></div>'; $type['acymailingfieldval'] = JText::_('SET_SUBSCRIBER_VALUE'); return $content; } function onAcyTriggerFct_displayFieldPossibleValues(){ $num = JRequest::getInt('num'); $map = JRequest::getCmd('map'); $value = JRequest::getString('value'); $operator = JRequest::getString('operator'); if(in_array($operator, array('addend', 'addbegin'))){ $emptyInputReturn = '<textarea class="inputbox" type="text" name="action['.$num.'][acymailingfieldval][value]" id="action'.$num.'acymailingfieldvalvalue" style="width:200px">'.$value.'</textarea>'; }else{ $emptyInputReturn = '<input class="inputbox" type="text" name="action['.$num.'][acymailingfieldval][value]" id="action'.$num.'acymailingfieldvalvalue" style="width:200px" value="'.$value.'">'; } if(empty($map) || $map == 'key' || $operator != '=') return $emptyInputReturn; $fieldClass = acymailing_get('class.fields'); $myField = $fieldClass->get($map); if(empty($myField) || !in_array($myField->type, array('radio', 'checkbox', 'singledropdown', 'multipledropdown'))) return $emptyInputReturn; return $fieldClass->display($myField, '', 'action['.$num.'][acymailingfieldval][value]'); } function onAcyProcessAction_acymailingfieldval($cquery, $action, $num){ $value = is_array($action['value']) ? implode(',', $action['value']) : $action['value']; $replace = array('{year}', '{month}', '{weekday}', '{day}'); $replaceBy = array(date('Y'), date('m'), date('N'), date('d')); $value = str_replace($replace, $replaceBy, $value); if(preg_match_all('#{(year|month|weekday|day)\|(add|remove):([^}]*)}#Uis', $value, $results)){ foreach($results[0] as $i => $oneMatch){ $format = str_replace(array('year', 'month', 'weekday', 'day'), array('Y','m','N','d'), $results[1][$i]); $delay = str_replace(array('add', 'remove'), array('+', '-'), $results[2][$i]).intval($results[3][$i]).' '.str_replace('weekday', 'day', $results[1][$i]); $value = str_replace($oneMatch, date($format, strtotime($delay)), $value); } } if(empty($action['operator'])) $action['operator'] = '='; preg_match_all('#(?:{|%7B)field:(.*)(?:}|%7D)#Ui', $value, $tags); $fields = array_keys(acymailing_getColumns('#__acymailing_subscriber')); if(!in_array($action['map'], $fields)) return 'Unexisting field: '.$action['map'].' | The available fields are: '.implode(', ', $fields); if(in_array($action['operator'], array('+', '-'))){ if(empty($tags) || empty($tags[1])){ $value = intval($value); }else{ if(count($tags[1]) > 1 || substr($value, 0, 1) != '{' || substr($value, strlen($value) - 1, 1) != '}'){ return 'You can\'t use more than one tag for the + and - operators (you also can\'t add or remove a value from the inserted tag for these two operators)'; } if(!in_array($tags[1][0], $fields)) return 'Unexisting field: '.$tags[1][0].' | The available fields are: '.implode(', ', $fields); $value = 'sub.`'.acymailing_secureField($tags[1][0]).'`'; } }else{ $value = $cquery->db->Quote($value); if(!empty($tags)){ foreach($tags[1] as $i => $oneField){ if(!in_array($oneField, $fields)) return 'Unexisting field: '.$oneField.' | The available fields are: '.implode(', ', $fields); $value = str_replace($tags[0][$i], "', sub.`".acymailing_secureField($oneField)."`, '", $value); } $value = "CONCAT(".$value.")"; } } $query = 'UPDATE #__acymailing_subscriber AS sub'; if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); if($action['operator'] == '='){ $newValue = $value; }elseif(in_array($action['operator'], array('+', '-'))){ $newValue = "sub.`".acymailing_secureField($action['map'])."` ".$action['operator']." ".$value; }elseif($action['operator'] == 'addend'){ $newValue = "CONCAT(sub.`".acymailing_secureField($action['map'])."`, ".$value.")"; }elseif($action['operator'] == 'addbegin'){ $newValue = "CONCAT(".$value.", sub.`".acymailing_secureField($action['map'])."`)"; }else{ return 'Non existing operator: '.$action['operator']; } $query .= " SET sub.`".acymailing_secureField($action['map'])."` = ".$newValue; if(!empty($cquery->where)) $query .= ' WHERE ('.implode(') AND (', $cquery->where).')'; $cquery->db->setQuery($query); $cquery->db->query(); $nbAffected = $cquery->db->getAffectedRows(); return JText::sprintf('NB_MODIFIED', $nbAffected); } function onAcyProcessAction_acymailingfield($cquery, $action, $num){ $subClass = acymailing_get('class.subscriber'); if($action['action'] == 'confirm'){ $cquery->where['confirmed'] = 'sub.confirmed = 0'; $cquery->db->setQuery($cquery->getQuery(array('sub.subid'))); $allSubids = acymailing_loadResultArray($cquery->db); if(!empty($allSubids)){ $subClass->sendConf = false; $subClass->sendWelcome = false; $subClass->sendNotif = false; foreach($allSubids as $oneId){ $subClass->confirmSubscription($oneId); } } unset($cquery->where['confirmed']); return JText::sprintf('NB_CONFIRMED', count($allSubids)); } if($action['action'] == 'enable'){ $action['map'] = 'enabled'; $action['value'] = 1; return $this->onAcyProcessAction_acymailingfieldval($cquery, $action, $num); } if($action['action'] == 'block'){ $action['map'] = 'enabled'; $action['value'] = 0; return $this->onAcyProcessAction_acymailingfieldval($cquery, $action, $num); } if($action['action'] == 'unconfirm'){ $action['map'] = 'confirmed'; $action['value'] = 0; return $this->onAcyProcessAction_acymailingfieldval($cquery, $action, $num); } if($action['action'] == 'delete'){ $query = $cquery->getQuery(array('sub.subid')); $cquery->db->setQuery($query); $allSubids = acymailing_loadResultArray($cquery->db); $nbAffected = $subClass->delete($allSubids); return JText::sprintf('IMPORT_DELETE', $nbAffected); } return 'Filter AcyMailingField error, action not found : '.$action['action']; } }//endclass PK ! �#o, , tagsubscriber/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! ���q online/online.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingOnline extends JPlugin{ function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'online'); $this->params = new acyParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('WEBSITE_LINKS'); $onePlugin->function = 'acymailingtagonline_show'; $onePlugin->help = 'plugin-online'; return $onePlugin; } function acymailingtagonline_show(){ $others = array(); $config = acymailing_config(); $others['readonline'] = array('default' => JText::_('VIEW_ONLINE', true), 'desc' => JText::_('VIEW_ONLINE_LINK')); if($config->get('forward', true)){ $others['forward'] = array('default' => JText::_('FORWARD_FRIEND', true), 'desc' => JText::_('FORWARD_FRIEND_LINK')); } ?> <script language="javascript" type="text/javascript"> <!-- var selectedTag = ''; function changeTag(tagName){ selectedTag = tagName; defaultText = new Array(); <?php $k = 0; foreach($others as $tagname => $tag){ echo "document.getElementById('tr_$tagname').className = 'row$k';"; echo "defaultText['$tagname'] = '".$tag['default']."';"; } $k = 1-$k; ?> document.getElementById('tr_' + tagName).className = 'selectedrow'; document.adminForm.tagtext.value = defaultText[tagName]; setOnlineTag(); } function setOnlineTag(){ if(!selectedTag) changeTag('readonline'); otherinfo = ''; for(var i = 0; i < document.adminForm.template.length; i++){ if(document.adminForm.template[i].checked){ otherinfo += '|template:' + document.adminForm.template[i].value; } } setTag('<a href=' + '"{' + selectedTag + otherinfo + '}{/' + selectedTag + '}" target="_blank" style="text-decoration:none;"><span class="acymailing_online">' + document.adminForm.tagtext.value + '</span></a>'); } //--> </script> <?php echo JText::_('FIELD_TEXT').' : <input type="text" name="tagtext" size="100px" onchange="setOnlineTag();" /><br /><br />'; $radios = array(); $radios[] = JHTML::_('select.option', "standard", JText::_('IN_TEMPLATE')); $radios[] = JHTML::_('select.option', "notemplate", JText::_('WITHOUT_TEMPLATE')); echo JHTML::_('acyselect.radiolist', $radios, 'template', 'size="1" onclick="setOnlineTag();"', 'value', 'text', 'notemplate'); echo '<div class="onelineblockoptions"> <table class="acymailing_table" cellpadding="1">'; $k = 0; foreach($others as $tagname => $tag){ echo '<tr style="cursor:pointer" class="row'.$k.'" onclick="changeTag(\''.$tagname.'\');" id="tr_'.$tagname.'" ><td class="acytdcheckbox" ></td><td>'.$tag['desc'].'</td></tr>'; $k = 1 - $k; } echo '</table></div>'; } function acymailing_replaceusertags(&$email, &$user, $send = true){ $match = '#(?:{|%7B)(readonline|forward)([^}]*)(?:}|%7D)(.*)(?:{|%7B)/(readonline|forward)(?:}|%7D)#Uis'; $variables = array('body', 'altbody'); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $config = acymailing_config(); $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; $arguments = explode('|', strip_tags(str_replace('%7C', '|', $allresults[2][$i]))); $tag = new stdClass(); $tag->type = $allresults[1][$i]; $tag->template = ($tag->type == 'readonline') ? $this->params->get('viewtemplate', 'notemplate') : $this->params->get('forwardtemplate', 'notemplate'); $tag->itemid = $config->get('itemid', 0); for($j = 0, $a = count($arguments); $j < $a; $j++){ $args = explode(':', $arguments[$j]); $arg0 = trim($args[0]); if(empty($arg0)) continue; if(isset($args[1])){ $tag->$arg0 = $args[1]; }else{ $tag->$arg0 = true; } } $addkey = (!empty($email->key) && $this->params->get('addkey', 'yes') == 'yes') ? '&key='.$email->key : ''; $adduserkey = (!empty($user->key) && $this->params->get('adduserkey', 'yes') == 'yes') ? '&subid='.$user->subid.'-'.$user->key : ''; $tmpl = ($tag->template == 'notemplate') ? '&tmpl=component' : ''; $item = empty($tag->itemid) ? '' : '&Itemid='.$tag->itemid; $lang = empty($email->language) ? '' : '&lang='.$email->language; if($tag->type == 'readonline'){ $link = acymailing_frontendLink('index.php?option=com_acymailing&ctrl=archive&task=view&mailid='.$email->mailid.$addkey.$adduserkey.$tmpl.$item.$lang); }elseif($tag->type == 'forward'){ $link = acymailing_frontendLink('index.php?option=com_acymailing&ctrl=archive&task=forward&mailid='.$email->mailid.$addkey.$adduserkey.$tmpl.$item.$lang); } if(empty($allresults[3][$i])){ $tags[$oneTag] = $link; }else $tags[$oneTag] = '<a style="text-decoration:none;" href="'.$link.'"><span class="acymailing_online">'.$allresults[3][$i].'</span></a>'; } } $email->body = str_replace(array_keys($tags), $tags, $email->body); if(!empty($email->altbody)) $email->altbody = str_replace(array_keys($tags), $tags, $email->altbody); } }//endclass PK ! *��( ( online/online.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : Website links</name> <creationDate>September 2009</creationDate> <version>3.7.0</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add links in your Newsletter such as "read in your browser" or "forward to a friend"</description> <files> <filename plugin="online">online.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-online"/> <param name="addkey" type="radio" default="yes" label="Add Newsletter key" description="Add the Newsletter key in the link so the online version will be always accessible from the link inserted in the Newsletter"> <option value="yes">Yes</option> <option value="no">No</option> </param> <param name="adduserkey" type="radio" default="yes" label="Add User key" description="Add the user key in the link so the online version will contain the personal information as well"> <option value="yes">Yes</option> <option value="no">No</option> </param> <param name="viewtemplate" type="radio" default="notemplate" label="Display the online version - DEPRECATED" description="This option is not useful any more, please use the option when inserting the tag instead"> <option value="standard">Standard template</option> <option value="notemplate">No template</option> </param> <param name="forwardtemplate" type="radio" default="notemplate" label="Display the forward version - DEPRECATED" description="This option is not useful any more, please use the option when inserting the tag instead"> <option value="standard">Standard template</option> <option value="notemplate">No template</option> </param> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-online"/> <field name="addkey" type="radio" default="yes" label="Add Newsletter key" description="Add the Newsletter key in the link so the online version will be always accessible from the link inserted in the Newsletter"> <option value="yes">Yes</option> <option value="no">No</option> </field> <field name="adduserkey" type="radio" default="yes" label="Add User key" description="Add the user key in the link so the online version will contain the personal information as well"> <option value="yes">Yes</option> <option value="no">No</option> </field> <field name="viewtemplate" type="radio" default="notemplate" label="Display the online version - DEPRECATED" description="This option is not useful any more, please use the option when inserting the tag instead"> <option value="standard">Standard template</option> <option value="notemplate">No template</option> </field> <field name="forwardtemplate" type="radio" default="notemplate" label="Display the forward version - DEPRECATED" description="This option is not useful any more, please use the option when inserting the tag instead"> <option value="standard">Standard template</option> <option value="notemplate">No template</option> </field> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! �#o, , online/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! _M+� � tagcbuser/tagcbuser_j30.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="3.0" method="upgrade" group="acymailing"> <name>AcyMailing Tag and filter : Community Builder</name> <creationDate>September 2009</creationDate> <version>3.7.2</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add information from the CB Profile of the user in your newsletters. It also allows you to filter the users based on CB fields and modify these field values</description> <files> <filename plugin="tagcbuser">tagcbuser.php</filename> <filename>tagcbuser.xml</filename> <filename>index.html</filename> </files> </extension> PK ! �Bv� � tagcbuser/tagcbuser.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag and filter : Community Builder</name> <creationDate>September 2009</creationDate> <version>3.7.2</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add information from the CB Profile of the user in your newsletters. It also allows you to filter the users based on CB fields and modify these field values</description> <files> <filename plugin="tagcbuser">tagcbuser.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagcbuser"/> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagcbuser"/> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK ! ��x�4 �4 tagcbuser/tagcbuser.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.5.0 * @author acyba.com * @copyright (C) 2009-2016 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTagcbuser extends JPlugin{ var $sendervalues = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tagcbuser'); $this->params = new JParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if(!file_exists(ACYMAILING_ROOT.'components'.DS.'com_comprofiler'.DS.'comprofiler.php')) return; if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('CB User'); $onePlugin->function = 'acymailingtagcb_show'; $onePlugin->help = 'plugin-tagcbuser'; return $onePlugin; } function onAcyDisplayFilters(&$type, $context = "massactions"){ if($this->params->get('displayfilter_'.$context, true) == false) return; if(!file_exists(ACYMAILING_ROOT.'components'.DS.'com_comprofiler'.DS.'comprofiler.php')) return; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__comprofiler'); if(empty($fields)) return; $db->setQuery('SELECT name,title FROM #__comprofiler_fields WHERE `table` LIKE '.$db->Quote('#__comprofiler')); $fieldTitles = $db->loadObjectList('name'); $languages = array(); if(file_exists(JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'language.php')){ if(!defined('CBLIB')) include_once(JPATH_SITE.DS.'libraries/CBLib/CB/Application/CBApplication.php'); $languages = include_once JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'language.php'; }elseif(file_exists(JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'default_language.php')){ include_once JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'default_language.php'; } ksort($fields); $cbfield = array(); foreach($fields as $oneField => $fieldType){ $text = $oneField; if(!empty($fieldTitles[$oneField])){ if(!empty($languages[$fieldTitles[$oneField]->title])){ $text .= ' ('.$languages[$fieldTitles[$oneField]->title].')'; }else{ if(defined($fieldTitles[$oneField]->title)){ $text .= ' ('.constant($fieldTitles[$oneField]->title).')'; }else $text .= ' ('.$fieldTitles[$oneField]->title.')'; } } $cbfield[] = JHTML::_('select.option', $oneField, $text); } $type['cbfield'] = JText::_('CB_FIELD'); $operators = acymailing_get('type.operators'); $operators->extra = 'onchange="countresults(__num__)"'; $return = '<div id="filter__num__cbfield">'.JHTML::_('select.genericlist', $cbfield, "filter[__num__][cbfield][map]", 'class="inputbox" size="1" onchange="countresults(__num__)"', 'value', 'text'); $return .= ' '.$operators->display("filter[__num__][cbfield][operator]").' <input onchange="countresults(__num__)" class="inputbox" type="text" name="filter[__num__][cbfield][value]" style="width:200px" value="" /></div>'; return $return; } function onAcyProcessFilter_cbfield(&$query, $filter, $num){ $query->leftjoin['cbfield'] = '#__comprofiler AS cbfield ON cbfield.id = sub.userid'; $query->where[] = $query->convertQuery('cbfield', $filter['map'], $filter['operator'], $filter['value']); } function onAcyProcessFilterCount_cbfield(&$query, $filter, $num){ $this->onAcyProcessFilter_cbfield($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function acymailingtagcb_show(){ ?> <script language="javascript" type="text/javascript"> function applyTag(tagname){ var string = '{cbtag:' + tagname; for(var i = 0; i < document.adminForm.typeinfo.length; i++){ if(document.adminForm.typeinfo[i].checked){ string += '|info:' + document.adminForm.typeinfo[i].value; } } string += '}'; setTag(string); insertTag(); } </script> <?php $typeinfo = array(); $typeinfo[] = JHTML::_('select.option', "receiver", JText::_('RECEIVER_INFORMATION')); $typeinfo[] = JHTML::_('select.option', "sender", JText::_('SENDER_INFORMATIONS')); echo JHTML::_('acyselect.radiolist', $typeinfo, 'typeinfo', '', 'value', 'text', 'receiver'); $text = '<table class="acymailing_table" cellpadding="1">'; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__comprofiler'); $db->setQuery('SELECT name,type FROM #__comprofiler_fields'); $fieldType = $db->loadObjectList('name'); $k = 0; $text .= '<tr style="cursor:pointer" class="row1" onclick="applyTag(\'thumb\');" ><td class="acytdcheckbox"></td><td>Thumb Avatar</td></tr>'; foreach($fields as $fieldname => $oneField){ $type = ''; if(strpos(strtolower($oneField), 'date') !== false) $type = '|type:date'; if(!empty($fieldType[$fieldname]) AND $fieldType[$fieldname]->type == 'image') $type = '|type:image'; $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="applyTag(\''.$fieldname.$type.'\');" ><td class="acytdcheckbox"></td><td>'.$fieldname.'</td></tr>'; $k = 1 - $k; } $db->setQuery("SELECT * FROM #__comprofiler_fields WHERE tablecolumns = '' AND published = 1"); $otherFields = $db->loadObjectList(); foreach($otherFields as $oneField){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="applyTag(\'cbapi_'.$oneField->name.'\');" ><td class="acytdcheckbox"></td><td>'.$oneField->name.'</td></tr>'; $k = 1 - $k; } $text .= '</table>'; echo $text; } function acymailing_replaceusertags(&$email, &$user, $send = true){ $match = '#(?:{|%7B)cbtag:(.*)(?:}|%7D)#Ui'; $variables = array('subject', 'body', 'altbody'); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $uservalues = null; $db = JFactory::getDBO(); if(!empty($user->userid)){ $db->setQuery('SELECT * FROM '.acymailing_table('comprofiler', false).' WHERE user_id = '.$user->userid.' LIMIT 1'); $uservalues = $db->loadObject(); } $db->setQuery('SELECT fieldid, `table`, name, type, params FROM #__comprofiler_fields'); $fieldObjects = $db->loadObjectList('name'); include_once(ACYMAILING_ROOT.'administrator'.DS.'components'.DS.'com_comprofiler'.DS.'plugin.foundation.php'); cbimport('cb.database'); $pluginsHelper = acymailing_get('helper.acyplugins'); $currentCBUser = null; $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; $arguments = explode('|', $allresults[1][$i]); $field = $arguments[0]; unset($arguments[0]); $mytag = new stdClass(); $mytag->default = $this->params->get('default_'.$field, ''); if(!empty($arguments)){ foreach($arguments as $onearg){ $args = explode(':', $onearg); if(isset($args[1])){ $mytag->{$args[0]} = $args[1]; }else{ $mytag->{$args[0]} = 1; } } } $values = new stdClass(); if(!empty($mytag->info) AND $mytag->info == 'sender'){ if(empty($this->sendervalues[$email->mailid]) AND !empty($email->userid)){ $db->setQuery('SELECT * FROM #__comprofiler WHERE user_id = '.$email->userid.' LIMIT 1'); $this->sendervalues[$email->mailid] = $db->loadObject(); } if(!empty($this->sendervalues[$email->mailid])) $values = $this->sendervalues[$email->mailid]; }else{ $values = $uservalues; } if(substr($field, 0, 6) == 'cbapi_'){ if(!empty($mytag->info) AND $mytag->info == 'sender'){ if(empty($this->sendervalues[$email->mailid]->$field) AND !empty($email->userid)){ $currentSender = CBuser::getInstance($email->userid); $values->$field = $currentSender->getField(substr($field, 6), $mytag->default, 'html', 'none', 'profile', 0, true); $this->sendervalues[$email->mailid]->$field = $values->$field; }elseif(!empty($this->sendervalues[$email->mailid]->$field)){ $values->$field = @$this->sendervalues[$email->mailid]->$field; } }elseif(!empty($user->userid)){ if(empty($currentCBUser)) $currentCBUser = CBuser::getInstance($user->userid); if(!empty($currentCBUser)) $values->$field = $currentCBUser->getField(substr($field, 6), $mytag->default, 'html', 'none', 'profile', 0, true); if(empty($values->$field) && !empty($fieldObjects[substr($field, 6)]) && $fieldObjects[substr($field, 6)]->type == 'progress'){ $fieldObjects[substr($field, 6)]->decodedParams = json_decode($fieldObjects[substr($field, 6)]->params); if(!empty($fieldObjects[substr($field, 6)]->decodedParams->prg_fields)){ $requiredFields = explode('|*|', $fieldObjects[substr($field, 6)]->decodedParams->prg_fields); $filled_in = 0; foreach($fieldObjects as $oneField){ if(!in_array($oneField->fieldid, $requiredFields) || !in_array($oneField->table, array('#__comprofiler', '#__users'))) continue; $fieldName = $oneField->name; if(!empty($currentCBUser->_cbuser->$fieldName)) $filled_in++; } $values->$field = intval(($filled_in * 100) / count($requiredFields)).'%'; } } } } $replaceme = isset($values->$field) ? $values->$field : $mytag->default; if(!empty($mytag->type)){ if($mytag->type == 'image' AND !empty($replaceme)){ $replaceme = '<img src="'.ACYMAILING_LIVE.'images/comprofiler/'.$replaceme.'" alt="'.htmlspecialchars(@$user->name, ENT_COMPAT, 'UTF-8').'" />'; } } if($field == 'thumb'){ $replaceme = '<img src="'.ACYMAILING_LIVE.'images/comprofiler/tn'.$values->avatar.'" alt="'.htmlspecialchars(@$user->name, ENT_COMPAT, 'UTF-8').'" />'; }elseif($field == 'avatar'){ $replaceme = '<img src="'.ACYMAILING_LIVE.'images/comprofiler/'.$values->avatar.'" alt="'.htmlspecialchars(@$user->name, ENT_COMPAT, 'UTF-8').'" />'; } $tags[$oneTag] = $replaceme; $pluginsHelper->formatString($tags[$oneTag], $mytag); } } foreach($results as $var => $allresults){ $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } function onAcyDisplayActions(&$type){ $fields = acymailing_getColumns('#__comprofiler'); $field = array(); $field[] = JHTML::_('select.option', 0, '- - -'); foreach($fields as $oneField => $fieldType){ if(in_array($oneField, array('id', 'user_id', 'hits', 'message_last_sent', 'message_number_sent', 'canvas', 'cbactivation'))) continue; $field[] = JHTML::_('select.option', $oneField, $oneField); } $content = '<div id="action__num__cbfieldval">'.JHTML::_('select.genericlist', $field, "action[__num__][cbfieldval][map]", 'class="inputbox" size="1"', 'value', 'text'); $content .= ' = <input class="inputbox" type="text" id="action__num__cbfieldvalvalue" name="action[__num__][cbfieldval][value]" style="width:200px" value=""></div>'; $type['cbfieldval'] = 'Community Builder: '.jtext::_('FIELD'); return $content; } function onAcyProcessAction_cbfieldval($cquery, $action, $num){ $replace = array('{year}', '{month}', '{weekday}', '{day}', '{hour}', '{minute}'); $replaceBy = array(date('Y'), date('m'), date('N'), date('d'), date('H'), date('i')); $newValue = str_replace($replace, $replaceBy, acymailing_replaceDate($action['value'])); if(preg_match_all('#{(year|month|weekday|day)\|(add|remove):([^}]*)}#Uis', $newValue, $results)){ foreach($results[0] as $i => $oneMatch){ $format = str_replace(array('year', 'month', 'weekday', 'day'), array('Y','m','N','d'), $results[1][$i]); $delay = str_replace(array('add', 'remove'), array('+', '-'), $results[2][$i]).intval($results[3][$i]).' '.str_replace('weekday', 'day', $results[1][$i]); $newValue = str_replace($oneMatch, date($format, strtotime($delay)), $newValue); } } if(empty($action['operator'])) $action['operator'] = '='; $fields = array_keys(acymailing_getColumns('#__comprofiler')); if(!in_array($action['map'], $fields)) return 'Unexisting field: '.$action['map'].' | The available fields are: '.implode(', ', $fields); $query = 'UPDATE #__comprofiler AS cb JOIN #__acymailing_subscriber AS sub ON cb.user_id = sub.userid'; if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); $query .= " SET cb.`".acymailing_secureField($action['map'])."` = ".$cquery->db->Quote($newValue); if(!empty($cquery->where)) $query .= ' WHERE ('.implode(') AND (', $cquery->where).')'; $cquery->db->setQuery($query); $cquery->db->query(); $nbAffected = $cquery->db->getAffectedRows(); return JText::sprintf('NB_MODIFIED', $nbAffected); } }//endclass PK ! �#o, , tagcbuser/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK ! +z��� � hikashop/hikashop.xmlnu �[��� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag : HikaShop content</name> <creationDate>29 avril 2022</creationDate> <version>4.5.1</version> <author>Hikari Software</author> <authorEmail>dev@hikashop.com</authorEmail> <authorUrl>http://www.hikashop.com</authorUrl> <copyright>(C) 2010-2022 HIKARI SOFTWARE. All rights reserved.</copyright> <license>http://www.hikashop.com/commercial_license.php</license> <description>This plugin enables you to insert HikaShop products, coupons inside any e-mail sent by AcyMailing</description> <files> <filename plugin="hikashop">hikashop.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="HIKA_HELP" description="HIKA_ACY_HELP" default="plugin-hikashop"/> <param name="customtemplate" type="customtemplate" label="HIKA_CUSTOM_TEMPLATE" description="CUSTOM_TEMPLATE" help="hikashop" default="hikashop_product"/> <param name="vat" type="list" default="1" label="HIKA_ADD_VAT_TO_PRICE" description="ADD_VAT_TO_PRICE"> <option value="0">NO_VAT</option> <option value="1">YES_VAT</option> </param> <param name="stock" type="list" default="0" label="HIKA_ONLY_PRODUCT_IN_STOCK" description="ONLY_PRODUCT_IN_STOCK"> <option value="0">ONLY_PRODUCT_IN_STOCK_NO</option> <option value="1">ONLY_PRODUCT_IN_STOCK_YES</option> </param> <param name="itemid" size="10" type="text" default="" label="HIKA_DEFAULT_ITEMID" description="DEFAULT_ITEMID" /> <param name="displayfilter_massactions" type="list" default="1" label="HIKA_DISPLAY_HIKASHOP_FILTERS_ON_MASSACTIONS" description="DISPLAY_HIKASHOP_FILTERS_ON_MASSACTIONS"> <option value="0">HIKASHOP_NO</option> <option value="1">HIKASHOP_YES</option> </param> <param name="displayfilter_mail" type="list" default="1" label="HIKA_DISPLAY_HIKASHOP_FILTERS_ON_NEWSLETTERS_EDITION" description="DISPLAY_HIKASHOP_FILTERS_ON_NEWSLETTERS_EDITION"> <option value="0">HIKASHOP_NO</option> <option value="1">HIKASHOP_YES</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="HIKA_HELP" description="HIKA_HELP" default="plugin-hikashop"/> <field name="customtemplate" type="customtemplate" label="HIKA_CUSTOM_TEMPLATE" description="CUSTOM_TEMPLATE" help="hikashop" default="hikashop_product"/> <field name="vat" type="list" label="HIKA_ADD_VAT_TO_PRICE" default="1" description="ADD_VAT_TO_PRICE" > <option value="0">NO_VAT</option> <option value="1">YES_VAT</option> </field> <field name="stock" type="list" label="HIKA_ONLY_PRODUCT_IN_STOCK" default="0" description="ONLY_PRODUCT_IN_STOCK" > <option value="0">ONLY_PRODUCT_IN_STOCK_NO</option> <option value="1">ONLY_PRODUCT_IN_STOCK_YES</option> </field> <field name="itemid" size="10" type="text" default="" label="HIKA_DEFAULT_ITEMID" description="DEFAULT_ITEMID" /> <field name="displayfilter_massactions" type="list" default="1" label="HIKA_DISPLAY_HIKASHOP_FILTERS_ON_MASSACTIONS" description="DISPLAY_HIKASHOP_FILTERS_ON_MASSACTIONS"> <option value="0">HIKASHOP_NO</option> <option value="1">HIKASHOP_YES</option> </field> <field name="displayfilter_mail" type="list" default="0" label="HIKA_DISPLAY_HIKASHOP_FILTERS_ON_NEWSLETTERS_EDITION" description="DISPLAY_HIKASHOP_FILTERS_ON_NEWSLETTERS_EDITION"> <option value="0">HIKASHOP_NO</option> <option value="1">HIKASHOP_YES</option> </field> </fieldset> </fields> </config> </extension> PK ! @��a� � hikashop/hikashop.phpnu �[��� <?php /** * @package HikaShop for Joomla! * @version 4.5.1 * @author hikashop.com * @copyright (C) 2010-2022 HIKARI SOFTWARE. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingHikashop extends JPlugin{ var $cats = array(); var $tags = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'hikashop'); $this->params = new acyParameter($plugin->params); } $this->acypluginsHelper = acymailing_get('helper.acyplugins'); $this->db = JFactory::getDBO(); } function loadAcymailing(){ if(isset($this->hikashop_installed)) return $this->hikashop_installed; if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR); if(!include_once(rtrim(JPATH_ADMINISTRATOR, DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')){ $this->hikashop_installed = false; }else{ $this->hikashop_installed = true; } return $this->hikashop_installed; } function acymailing_getPluginType(){ $onePlugin = new stdClass(); $onePlugin->name = 'HikaShop'; $onePlugin->function = 'acymailinghikashop_show'; $onePlugin->help = 'plugin-hikashop'; return $onePlugin; } function acymailinghikashop_show(){ $config = acymailing_config(); if(version_compare($config->get('version'), '5.2.0', '<')){ acymailing_display('Please download and install the latest AcyMailing version otherwise this plugin will NOT work', 'error'); return; } if(!$this->loadAcymailing()) return 'Please install HikaShop before using the HikaShop tag plugin'; $app = JFactory::getApplication(); $contentType = array(); $contentType[] = JHTML::_('select.option', "title", JText::_('TITLE_ONLY')); $contentType[] = JHTML::_('select.option', "intro", JText::_('INTRO_ONLY')); $contentType[] = JHTML::_('select.option', "full", JText::_('FULL_TEXT')); $priceDisplay = array(); $priceDisplay[] = JHTML::_('select.option', "full", JText::_('APPLY_DISCOUNTS')); $priceDisplay[] = JHTML::_('select.option', "no_discount", JText::_('NO_DISCOUNT')); $priceDisplay[] = JHTML::_('select.option', "none", JText::_('HIKASHOP_NO')); $pageInfo = new stdClass(); $pageInfo->filter = new stdClass(); $pageInfo->filter->order = new stdClass(); $pageInfo->limit = new stdClass(); $paramBase = ACYMAILING_COMPONENT.'.hikashop'; $pageInfo->filter->order->value = $app->getUserStateFromRequest($paramBase.".filter_order", 'filter_order', 'a.product_id', 'cmd'); $pageInfo->filter->order->dir = $app->getUserStateFromRequest($paramBase.".filter_order_Dir", 'filter_order_Dir', 'desc', 'word'); if(strtolower($pageInfo->filter->order->dir) !== 'desc') $pageInfo->filter->order->dir = 'asc'; $pageInfo->search = $app->getUserStateFromRequest($paramBase.".search", 'search', '', 'string'); $pageInfo->search = JString::strtolower(trim($pageInfo->search)); $pageInfo->lang = $app->getUserStateFromRequest($paramBase.".lang", 'lang', '', 'string'); $pageInfo->contenttype = $app->getUserStateFromRequest($paramBase.".contenttype", 'contenttype', 'full', 'string'); $pageInfo->pricedisplay = $app->getUserStateFromRequest($paramBase.".pricedisplay", 'pricedisplay', 'full', 'string'); $pageInfo->limit->value = $app->getUserStateFromRequest($paramBase.'.list_limit', 'limit', $app->getCfg('list_limit'), 'int'); $pageInfo->limit->start = $app->getUserStateFromRequest($paramBase.'.limitstart', 'limitstart', 0, 'int'); if(!empty($pageInfo->search)){ $searchVal = '\'%'.acymailing_getEscaped($pageInfo->search).'%\''; $filters[] = "a.product_id LIKE $searchVal OR a.product_description LIKE $searchVal OR a.product_name LIKE $searchVal OR a.product_code LIKE $searchVal"; } $whereQuery = ''; if(!empty($filters)){ $whereQuery = ' WHERE ('.implode(') AND (', $filters).')'; } $query = 'SELECT SQL_CALC_FOUND_ROWS a.* FROM '.acymailing_table('hikashop_product', false).' as a'; if(!empty($whereQuery)) $query .= $whereQuery; if(!empty($pageInfo->filter->order->value)){ $query .= ' ORDER BY '.$pageInfo->filter->order->value.' '.$pageInfo->filter->order->dir; } $this->db->setQuery($query, $pageInfo->limit->start, $pageInfo->limit->value); $rows = $this->db->loadObjectList(); if(!empty($pageInfo->search)){ $rows = acymailing_search($pageInfo->search, $rows); } $this->db->setQuery('SELECT FOUND_ROWS()'); $pageInfo->elements = new stdClass(); $pageInfo->elements->total = $this->db->loadResult(); $pageInfo->elements->page = count($rows); jimport('joomla.html.pagination'); $pagination = new JPagination($pageInfo->elements->total, $pageInfo->limit->start, $pageInfo->limit->value); $tabs = acymailing_get('helper.acytabs'); echo $tabs->startPane('hikashop_tab'); echo $tabs->startPanel(JText::_('PRODUCTS'), 'hikashop_product'); ?> <script language="javascript" type="text/javascript"> <!-- var selectedContents = new Array(); function applyContent(productid, rowClass){ var tmp = selectedContents.indexOf(productid) if(tmp != -1){ window.document.getElementById('content' + productid).className = rowClass; delete selectedContents[tmp]; }else{ window.document.getElementById('content' + productid).className = 'selectedrow'; selectedContents.push(productid); } updateTagProd(); } function updateTagProd(){ var tag = ''; var information = ''; for(var i = 0; i < document.adminForm.contenttype.length; i++){ if(document.adminForm.contenttype[i].checked){ information += '| type:' + document.adminForm.contenttype[i].value; } } for(i = 0; i < document.adminForm.pricedisplay.length; i++){ if(document.adminForm.pricedisplay[i].checked){ information += '| price:' + document.adminForm.pricedisplay[i].value; } } if(window.document.getElementById('jflang') && window.document.getElementById('jflang').value != ''){ information += '| lang:' + window.document.getElementById('jflang').value; } for(var i in selectedContents){ if(selectedContents[i] && !isNaN(i)){ tag = tag + '{hikashop_product:' + selectedContents[i] + information + '}<br />'; } } setTag(tag); } //--> </script> <div class="onelineblockoptions"> <table width="100%" class="acymailing_table"> <tr> <td> <?php echo JText::_('DISPLAY'); ?> </td> <td> <?php echo JHTML::_('acyselect.radiolist', $contentType, 'contenttype', 'size="1" onchange="updateTagProd();"', 'value', 'text', $pageInfo->contenttype); ?> </td> <td> <?php $jflanguages = acymailing_get('type.jflanguages'); $jflanguages->onclick = ' onchange="updateTagProd();" '; echo $jflanguages->display('lang', $pageInfo->lang); ?> </td> </tr> <tr> <td> <?php echo JText::_('PRICE'); ?> </td> <td colspan="2"> <?php echo JHTML::_('acyselect.radiolist', $priceDisplay, 'pricedisplay', 'size="1" onchange="updateTagProd();"', 'value', 'text', $pageInfo->pricedisplay); ?> </td> </tr> </table> </div> <div class="onelineblockoptions"> <table class="acymailing_table_options"> <tr> <td> <?php acymailing_listingsearch($pageInfo->search); ?> </td> </tr> </table> <table class="acymailing_table" cellpadding="1" width="100%"> <thead> <tr> <th></th> <th class="title"> <?php echo JHTML::_('grid.sort', JText::_('HIKA_NAME'), 'a.product_name', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> <th class="title"> <?php echo JHTML::_('grid.sort', JText::_('HIKA_DESCRIPTION'), 'a.product_description', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> <th class="title titleid"> <?php echo JHTML::_('grid.sort', JText::_('ID'), 'a.product_id', $pageInfo->filter->order->dir, $pageInfo->filter->order->value); ?> </th> </tr> </thead> <tfoot> <tr> <td colspan="4"> <?php echo $pagination->getListFooter(); ?> <?php echo $pagination->getResultsCounter(); ?> </td> </tr> </tfoot> <tbody> <?php $k = 0; for($i = 0, $a = count($rows); $i < $a; $i++){ $row =& $rows[$i]; ?> <tr id="content<?php echo $row->product_id ?>" class="<?php echo "row$k"; ?>" onclick="applyContent(<?php echo $row->product_id; ?>,'<?php echo "row$k"; ?>');" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td> <?php echo acymailing_tooltip('CODE : '.$row->product_code, $row->product_name, '', $row->product_name); ?> </td> <td> <?php echo $row->product_description; ?> </td> <td class="hk_center"> <?php echo $row->product_id; ?> </td> </tr> <?php $k = 1 - $k; } ?> </tbody> </table> </div> <input type="hidden" name="boxchecked" value="0"/> <input type="hidden" name="filter_order" value="<?php echo $pageInfo->filter->order->value; ?>"/> <input type="hidden" name="filter_order_Dir" value="<?php echo $pageInfo->filter->order->dir; ?>"/> <?php echo $tabs->endPanel(); echo $tabs->startPanel(JText::_('HIKA_CATEGORIES'), 'hikashop_auto'); $type = JFactory::getApplication()->input->getString('type'); $this->db->setQuery('SELECT * FROM '.acymailing_table('hikashop_category', false).' WHERE category_type=\'product\' ORDER BY `category_ordering` ASC'); $categories = $this->db->loadObjectList('category_id'); $this->cats = array(); foreach($categories as $oneCat){ $this->cats[$oneCat->category_parent_id][] = $oneCat; } $catClass = hikashop_get('class.category'); $root = $catClass->getRoot(); ?> <script language="javascript" type="text/javascript"> <!-- var selectedCat = new Array(); function applyAutoProduct(catid, rowClass){ if(catid == 'all'){ if(window.document.getElementById('product_cat' + catid).className == 'selectedrow'){ window.document.getElementById('product_catall').className = rowClass; }else{ window.document.getElementById('product_cat' + catid).className = 'selectedrow'; for(var key in selectedCat){ if(!isNaN(key)){ window.document.getElementById('product_cat' + key).className = rowClass; delete selectedCat[key]; } } } }else{ window.document.getElementById('product_catall').className = 'row0'; if(selectedCat[catid]){ window.document.getElementById('product_cat' + catid).className = rowClass; delete selectedCat[catid]; }else{ window.document.getElementById('product_cat' + catid).className = 'selectedrow'; selectedCat[catid] = 'product'; } } updateTagAuto(); } function updateTagAuto(){ var tag = '{hikashop_auto_product:'; for(var icat in selectedCat){ if(selectedCat[icat] == 'product'){ tag += icat + '-'; } } for(var i = 0; i < document.adminForm.contenttypeauto.length; i++){ if(document.adminForm.contenttypeauto[i].checked){ tag += '| type:' + document.adminForm.contenttypeauto[i].value; } } if(document.adminForm.min_article && document.adminForm.min_article.value && document.adminForm.min_article.value != 0){ tag += '| min:' + document.adminForm.min_article.value; } if(document.adminForm.max_article.value && document.adminForm.max_article.value != 0){ tag += '| max:' + document.adminForm.max_article.value; } if(document.adminForm.contentorder.value){ tag += "| order:" + document.adminForm.contentorder.value + "," + document.adminForm.contentorderdir.value; } if(document.adminForm.contentfilter && document.adminForm.contentfilter.value){ tag += '| filter:' + document.adminForm.contentfilter.value; } if(window.document.getElementById('jflang_auto') && window.document.getElementById('jflang_auto').value != ''){ tag += '| lang:' + window.document.getElementById('jflang_auto').value; } for(i = 0; i < document.adminForm.pricedisplayauto.length; i++){ if(document.adminForm.pricedisplayauto[i].checked){ tag += '| price:' + document.adminForm.pricedisplayauto[i].value; } } tag += '}'; setTag(tag); } //--> </script> <div class="onelineblockoptions"> <table width="100%" class="acymailing_table"> <tr> <td> <?php echo JText::_('DISPLAY'); ?> </td> <td colspan="2"> <?php echo JHTML::_('acyselect.radiolist', $contentType, 'contenttypeauto', 'size="1" onclick="updateTagAuto();"', 'value', 'text', 'full'); ?> </td> <td> <?php $jflanguages = acymailing_get('type.jflanguages'); if(!empty($jflanguages->values)){ $jflanguages->id = 'jflang_auto'; $jflanguages->onclick = 'onchange="updateTagAuto();"'; echo $jflanguages->display('language'); } ?> </td> </tr> <tr> <td> <?php echo JText::_('PRICE'); ?> </td> <td colspan="3"> <?php echo JHTML::_('acyselect.radiolist', $priceDisplay, 'pricedisplayauto', 'size="1" onclick="updateTagAuto();"', 'value', 'text', 'full'); ?> </td> </tr> <tr> <td> <label for="max_article"><?php echo JText::_('MAX_ARTICLE'); ?></label> </td> <td> <input type="text" name="max_article" id="max_article" style="width:50px" value="" onchange="updateTagAuto();"/> </td> <td> <?php echo JText::_('ACY_ORDER'); ?> </td> <td> <?php $values = array('product_id' => 'ACY_ID', 'product_created' => 'CREATED_DATE', 'product_modified' => 'MODIFIED_DATE', 'product_name' => 'HIKA_TITLE'); echo $this->acypluginsHelper->getOrderingField($values, 'product_id', 'DESC'); ?> </td> </tr> <?php if($type == 'autonews'){ ?> <tr> <td> <label for="min_article"><?php echo JText::_('MIN_ARTICLE'); ?></label> </td> <td> <input type="text" name="min_article" id="min_article" style="width:50px" value="1" onchange="updateTagAuto();"/> </td> <td> <?php echo JText::_('FILTER'); ?> </td> <td> <?php $filter = acymailing_get('type.contentfilter'); $filter->onclick = 'updateTagAuto();'; echo $filter->display('contentfilter', 'created', false); ?> </td> </tr> <?php } ?> </table> </div> <div class="onelineblockoptions"> <table class="acymailing_table" cellpadding="1" width="100%"> <tr id="product_catall" class="<?php echo "row0"; ?>" onclick="applyAutoProduct('all','<?php echo "row$k" ?>');" style="cursor:pointer;"> <td class="acytdcheckbox"></td> <td><?php echo JText::_('ACY_ALL'); ?></td> </tr> <?php $k = 0; echo $this->displayChildren($root, $k); ?> </table> </div> <?php echo $tabs->endPanel(); echo $tabs->startPanel(JText::_('HIKA_ABANDONED_CART'), 'hikashop_abandonedcart'); ?> <script language="javascript" type="text/javascript"> <!-- function updateTagCart(){ var tag = '{hikashop_abandonedcart:'; for(var icat in selectedCat){ if(selectedCat[icat] == 'product'){ tag += icat + '-'; } } for(var i = 0; i < document.adminForm.contenttypecart.length; i++){ if(document.adminForm.contenttypecart[i].checked){ tag += '| type:' + document.adminForm.contenttypecart[i].value; } } if(window.document.getElementById('jflang_cart') && window.document.getElementById('jflang_cart').value != ''){ tag += '| lang:' + window.document.getElementById('jflang_cart').value; } if(window.document.getElementById('nbdayscart') && window.document.getElementById('nbdayscart').value != ''){ tag += '| nbdayscart:' + window.document.getElementById('nbdayscart').value; } if(document.adminForm.paymentcart.value != ''){ tag += '| paymentcart:' + document.adminForm.paymentcart.value; } tag += '}'; setTag(tag); } //--> </script> <div class="onelineblockoptions"> <table width="100%" class="acymailing_table"> <tr> <td> <?php echo JText::_('DISPLAY'); ?> </td> <td colspan="2"> <?php echo JHTML::_('acyselect.radiolist', $contentType, 'contenttypecart', 'size="1" onclick="updateTagCart();"', 'value', 'text', 'full'); ?> </td> <td> <?php $jflanguages = acymailing_get('type.jflanguages'); if(!empty($jflanguages->values)){ $jflanguages->id = 'jflang_cart'; $jflanguages->onclick = 'onchange="updateTagCart();"'; echo $jflanguages->display('language'); } ?> </td> </tr> <tr> <td> <?php echo JText::sprintf('DAYS_AFTER_ORDERING', '<input class="inputbox" type="text" id="nbdayscart" name="nbdayscart" style="width:50px" value="1" onchange="updateTagCart()" />'); ?> </td> <td colspan="3"> <?php $payment = hikashop_get('type.payment'); $payment->extra = 'onchange="updateTagCart()"'; echo $payment->display("paymentcart", '', false); ?> </td> </tr> </table> </div> <?php echo $tabs->endPanel(); echo $tabs->startPanel(JText::_('COUPONS'), 'hikashop_coupon'); $currency = hikashop_get('type.currency'); $config =& hikashop_config(); ?> <script language="javascript" type="text/javascript"> <!-- function updateTag(){ var tagname = document.adminForm.minimum_order.value + '|'; tagname += document.adminForm.quota.value + '|'; tagname += document.adminForm.start.value + '|'; tagname += document.adminForm.end.value + '|'; tagname += document.adminForm.percent_amount.value + '|'; tagname += document.adminForm.flat_amount.value + '|'; tagname += document.adminForm.currency_id.value + '|'; tagname += document.adminForm.coupon_code.value + '|'; tagname += document.adminForm.product_id.value + '|'; tagname += document.adminForm.tax_id.value + '|'; tagname += document.adminForm.validity_period.value; setTag('{hikashop_coupon:' + tagname + '}'); } //--> </script> <div class="onelineblockoptions"> <table style="width:100%;"> <tr> <td style="width:50%;"> <table class="acymailing_table" style="margin:auto"> <tr> <td class="acykey"> <label for="coupon_code"> <?php echo JText::_('DISCOUNT_CODE'); ?> </label> </td> <td> <input type="text" id="coupon_code" onchange="updateTag();" value="[name][key][value]"/> </td> </tr> <tr> <td class="acykey"> <label for="flat_amount"> <?php echo JText::_('DISCOUNT_FLAT_AMOUNT'); ?> </label> </td> <td> <input style="width:50px;" type="text" id="flat_amount" onchange="updateTag();" value="0"/><?php echo $currency->display('currency_id', (int)$config->get('main_currency'), ' style="width:100px;" '); ?> </td> </tr> <tr> <td class="acykey"> <label for="percent_amount"> <?php echo JText::_('DISCOUNT_PERCENT_AMOUNT'); ?> </label> </td> <td> <input style="width:50px;" type="text" id="percent_amount" onchange="updateTag();" value="0"/> </td> </tr> </table> </td> <td> <table class="acymailing_table" style="margin:auto"> <tr> <td class="acykey"> <label for="start"> <?php echo JText::_('DISCOUNT_START_DATE'); ?> </label> </td> <td> <?php echo JHTML::_('calendar', '', 'start', 'start', '%Y-%m-%d %H:%M', array('style' => 'width:100px', 'onchange' => 'updateTag();')); ?> </td> </tr> <tr> <td class="acykey"> <label for="end"> <?php echo JText::_('DISCOUNT_END_DATE'); ?> </label> </td> <td> <?php echo JHTML::_('calendar', '', 'end', 'end', '%Y-%m-%d %H:%M', array('style' => 'width:100px', 'onchange' => 'updateTag();')); ?> </td> </tr> <tr> <td class="acykey"> <label for="validity_period"> <?php echo JText::_('VALIDITY_PERIOD'); ?> </label> </td> <td> <input style="width:60px;" type="text" id="validity_period" onchange="updateTag();" value="" placeholder="<?php echo JText::_('HIKA_UNLIMITED'); ?>"/> <?php echo JText::_('DAYS'); ?> </td> </tr> <?php if(hikashop_level(1)){ ?> <tr> <td class="acykey"> <label for="minimum_order"> <?php echo JText::_('MINIMUM_ORDER_VALUE'); ?> </label> </td> <td> <input style="width:50px;" type="text" id="minimum_order" value="0" onchange="updateTag();"/> </td> </tr> <tr> <td class="acykey"> <label for="quota"> <?php echo JText::_('DISCOUNT_QUOTA'); ?> </label> </td> <td> <input style="width:50px;" type="text" id="quota" value="" onchange="updateTag();"/> </td> </tr> <tr> <td class="acykey"> <label for="product_id"> <?php echo JText::_('PRODUCT'); ?> </label> </td> <td> <?php $this->db->setQuery("SELECT `product_id`, CONCAT(product_name,' ( ',product_code,' )') as `title` FROM #__hikashop_product WHERE `product_type`='main' AND `product_published`=1 ORDER BY `product_code` ASC"); $results = $this->db->loadObjectList(); $obj = new stdClass(); $obj->product_id = ''; $obj->title = JText::_('HIKA_NONE'); array_unshift($results, $obj); echo JHTML::_('select.genericlist', $results, 'product_id', 'size="1" style="width:150px;" onchange="updateTag();"', 'product_id', 'title', ''); ?> </td> </tr> <tr> <td class="acykey"> <label for="tax_id"> <?php echo JText::_('TAXATION_CATEGORY'); ?> </label> </td> <td> <?php $categoryType = hikashop_get('type.categorysub'); $categoryType->type = 'tax'; $categoryType->field = 'category_id'; echo $categoryType->display('', '', 'onchange="updateTag();"', true, 'tax_id'); ?> </td> </tr> <?php }else{ ?> <tr> <td> <input type="hidden" id="minimum_order" value="0"/> <input type="hidden" id="quota" value=""/> </td> </tr> <?php } ?> </table> </td> </tr> </table> </div> <?php echo $tabs->endPanel(); echo $tabs->endPane(); } function displayChildren($parentid, &$k, $level = 0){ if(empty($this->cats[$parentid])) return; foreach($this->cats[$parentid] as $oneCat){ $k = 1 - $k; echo '<tr id="product_cat'.$oneCat->category_id.'" class="row'.$k.'" onclick="applyAutoProduct('.$oneCat->category_id.',\'row'.$k.'\');" style="cursor:pointer;"><td class="acytdcheckbox"></td><td>'; echo str_repeat('- - ', $level).$oneCat->category_name.'</td></tr>'; $this->displayChildren($oneCat->category_id, $k, $level + 1); } } function acymailing_replacetags(&$email){ if(!$this->loadAcymailing()) return; $this->_replaceAuto($email); $this->_replaceProducts($email); } function acymailing_replaceusertags(&$email, &$user, $send = true){ if(!$this->loadAcymailing()) return; $this->_replaceCoupons($email, $user, $send); $this->_replaceAbandonedCarts($email, $user); } function _replaceAbandonedCarts(&$email, &$user, $send = true){ $tags = $this->acypluginsHelper->extractTags($email, 'hikashop_abandonedcart'); if(empty($tags)) return; $tagsReplaced = array(); foreach($tags as $i => $oneTag){ if(isset($tagsReplaced[$i])) continue; $tagsReplaced[$i] = $this->_replaceAbandonedCart($oneTag, $user); } $this->acypluginsHelper->replaceTags($email, $tagsReplaced, true); $this->_replaceProducts($email); } function _replaceAbandonedCart($oneTag, $user){ if(empty($user->userid)) return ''; $delay = 0; if(!empty($oneTag->nbdayscart)){ $delay = ($oneTag->nbdayscart * 86400); } $senddate = (time() - $delay); $config =& hikashop_config(); $createdstatus = $config->get('order_created_status', 'created'); $myquery = 'SELECT c.product_id FROM #__hikashop_order AS a LEFT JOIN #__hikashop_order AS b ON a.order_user_id = b.order_user_id AND b.order_id > a.order_id JOIN #__hikashop_order_product AS c ON a.order_id = c.order_id JOIN #__hikashop_user AS hikauser ON a.order_user_id = hikauser.user_id '; if(!empty($oneTag->paymentcart)) $myquery .= 'JOIN #__hikashop_payment AS payment ON payment.payment_type = a.order_payment_method AND payment.payment_id = '.intval($oneTag->paymentcart); $myquery .= ' WHERE hikauser.user_cms_id = '.intval($user->userid).' AND a.order_status = '.$this->db->Quote($createdstatus).' AND b.order_id IS NULL '; $myquery .= ' AND FROM_UNIXTIME(a.order_created,"%Y %d %m") = FROM_UNIXTIME('.$senddate.',"%Y %d %m")'; $this->db->setQuery($myquery); $Products = acymailing_loadResultArray($this->db); if(empty($Products)) return ''; $arrayElements = array(); foreach($Products as $oneProductId){ $args = array(); $args[] = 'hikashop_product:'.$oneProductId; if(!empty($oneTag->type)) $args[] = 'type:'.$oneTag->type; if(!empty($oneTag->lang)) $args[] = 'lang:'.$oneTag->lang; $arrayElements[] = '{'.implode('|', $args).'}'; } $stringTag = $this->acypluginsHelper->getFormattedResult($arrayElements, $oneTag); return $stringTag; } function _replaceCoupons(&$email, &$user, $send = true){ $results = array(); $match = '#{hikashop_coupon:(.*)}#Ui'; $variables = array('subject', 'body', 'altbody'); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; if(!$send || empty($user->subid)){ $tags[$oneTag] = '<i>'.JText::_('ACY_CHECK_EMAIL_COUPON').'</i>'; }else{ $tags[$oneTag] = $this->generateCoupon($allresults, $i, $user); } } } foreach(array_keys($results) as $var){ $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } function _replaceAuto(&$email){ $this->acymailing_generateautonews($email); if(empty($this->tags)) return; $this->acypluginsHelper->replaceTags($email, $this->tags, true); } function acymailing_generateautonews(&$email){ $tags = $this->acypluginsHelper->extractTags($email, 'hikashop_auto_product'); $return = new stdClass(); $return->status = true; $return->message = ''; $this->tags = array(); if(empty($tags)) return $return; foreach($tags as $oneTag => $parameter){ if(isset($this->tags[$oneTag])) continue; $allcats = explode('-', $parameter->id); $selectedArea = array(); foreach($allcats as $oneCat){ if(empty($oneCat)) continue; $selectedArea[] = intval($oneCat); } $query = 'SELECT DISTINCT b.`product_id` FROM '.acymailing_table('hikashop_product_category', false).' as a LEFT JOIN '.acymailing_table('hikashop_product', false).' as b ON a.product_id = b.product_id'; $where = array(); if($this->params->get('stock', 0) == '1') $where[] = '(b.product_quantity = -1 || b.product_quantity > 0)'; if(!empty($selectedArea)){ $where[] = 'a.category_id IN ('.implode(',', $selectedArea).')'; } $where[] = "b.`product_published` = 1"; if(!empty($parameter->filter) AND !empty($email->params['lastgenerateddate'])){ $condition = 'b.`product_created` >\''.$email->params['lastgenerateddate'].'\''; if($parameter->filter == 'modify'){ $condition .= ' OR b.`product_modified` >\''.$email->params['lastgenerateddate'].'\''; } $where[] = $condition; } $query .= ' WHERE ('.implode(') AND (', $where).')'; if(!empty($parameter->order)){ $ordering = explode(',', $parameter->order); if($ordering[0] == 'rand'){ $query .= ' ORDER BY rand()'; }else{ $query .= ' ORDER BY b.`'.acymailing_secureField(trim($ordering[0])).'` '.acymailing_secureField(trim($ordering[1])); } } if(!empty($parameter->max)) $query .= ' LIMIT '.(int)$parameter->max; $this->db->setQuery($query); $allArticles = acymailing_loadResultArray($this->db); if(!empty($parameter->min) && count($allArticles) < $parameter->min){ $return->status = false; $return->message = 'Not enough products for the tag '.$oneTag.' : '.count($allArticles).' / '.$parameter->min; } $stringTag = ''; if(!empty($allArticles)){ if(file_exists(ACYMAILING_TEMPLATE.'plugins'.DS.'hikashop_auto_product.php')){ ob_start(); require(ACYMAILING_TEMPLATE.'plugins'.DS.'hikashop_auto_product.php'); $stringTag = ob_get_clean(); }else{ $arrayElements = array(); foreach($allArticles as $oneArticleId){ $args = array(); $args[] = 'hikashop_product:'.$oneArticleId; if(!empty($parameter->type)) $args[] = 'type:'.$parameter->type; if(!empty($parameter->lang)) $args[] = 'lang:'.$parameter->lang; if(!empty($parameter->price)) $args[] = 'price:'.$parameter->price; $arrayElements[] = '{'.implode('|', $args).'}'; } $stringTag = $this->acypluginsHelper->getFormattedResult($arrayElements, $parameter); } } $this->tags[$oneTag] = $stringTag; } return $return; } private function _replaceProducts(&$email){ $tags = $this->acypluginsHelper->extractTags($email, 'hikashop_product'); if(empty($tags)) return; $this->readmore = empty($email->template->readmore) ? JText::_('JOOMEXT_READ_MORE') : '<img src="'.ACYMAILING_LIVE.$email->template->readmore.'" alt="'.JText::_('JOOMEXT_READ_MORE', true).'" />'; $tagsReplaced = array(); foreach($tags as $i => $oneTag){ if(isset($tagsReplaced[$i])) continue; $tagsReplaced[$i] = $this->_replaceProduct($oneTag, $email); } $this->acypluginsHelper->replaceTags($email, $tagsReplaced, true); } function _replaceProduct($tag, &$email){ if(empty($tag->lang) && !empty($email->language)) $tag->lang = $email->language; $this->db->setQuery('SELECT b.*,a.* FROM '.acymailing_table('hikashop_product', false).' as a LEFT JOIN '.acymailing_table('hikashop_file', false).' as b ON a.product_id=b.file_ref_id AND file_type=\'product\' WHERE a.product_id = '.$tag->id.' ORDER BY b.file_ordering ASC, b.file_id ASC LIMIT 1'); $product = $this->db->loadObject(); if(empty($product)){ $app = JFactory::getApplication(); $j = new JVersion(); $version=substr($j->getShortVersion(), 0,1); if($version < 4) { if($app->isAdmin()) $app->enqueueMessage('The product "'.$tag->id.'" could not be loaded', 'notice'); }else{ if($app->isClient('administrator')) $app->enqueueMessage('The product "'.$tag->id.'" could not be loaded', 'notice'); } return ''; } if($product->product_type == 'variant'){ $this->db->setQuery('SELECT * FROM '.hikashop_table('variant').' AS a LEFT JOIN '.hikashop_table('characteristic').' AS b ON a.variant_characteristic_id=b.characteristic_id WHERE a.variant_product_id='.(int)$tag->id.' ORDER BY a.ordering'); $product->characteristics = $this->db->loadObjectList(); $productClass = hikashop_get('class.product'); $this->db->setQuery('SELECT b.*,a.* FROM '.acymailing_table('hikashop_product', false).' as a LEFT JOIN '.acymailing_table('hikashop_file', false).' as b ON a.product_id=b.file_ref_id AND file_type=\'product\' WHERE a.product_id = '.(int)$product->product_parent_id.' ORDER BY b.file_ordering ASC, b.file_id ASC LIMIT 1'); $parentProduct = $this->db->loadObject(); $productClass->checkVariant($product, $parentProduct); } $translationHelper = hikashop_get('helper.translation'); if($translationHelper->isMulti(true, false)) $this->acypluginsHelper->translateItem($product, $tag, 'hikashop_product'); $varFields = array(); foreach($product as $fieldName => $oneField){ $varFields['{'.$fieldName.'}'] = $oneField; } $tag->itemid = intval($this->params->get('itemid')); $config =& hikashop_config(); $currencyClass = hikashop_get('class.currency'); $main_currency = $currency_id = (int)$config->get('main_currency', 1); $zone_id = explode(',', $config->get('main_tax_zone', 0)); $zone_id = count($zone_id) ? array_shift($zone_id) : 0; $ids = array($product->product_id); $discount_before_tax = (int)$config->get('discount_before_tax', 0); $currencyClass->getPrices($product, $ids, $currency_id, $main_currency, $zone_id, $discount_before_tax); $finalPrice = ''; if(empty($tag->price) || $tag->price == 'full'){ if($this->params->get('vat', 1)){ $finalPrice = @$currencyClass->format($product->prices[0]->price_value_with_tax, $product->prices[0]->price_currency_id); }else{ $finalPrice = $currencyClass->format($product->prices[0]->price_value, $product->prices[0]->price_currency_id); } if(!empty($product->discount)){ if($this->params->get('vat', 1)){ $finalPrice = '<strike>'.$currencyClass->format($product->prices[0]->price_value_without_discount_with_tax, $product->prices[0]->price_currency_id).'</strike> '.$finalPrice; }else{ $finalPrice = '<strike>'.$currencyClass->format($product->prices[0]->price_value_without_discount, $product->prices[0]->price_currency_id).'</strike> '.$finalPrice; } } }elseif($tag->price == 'no_discount'){ if($this->params->get('vat', 1)){ $finalPrice = $currencyClass->format($product->prices[0]->price_value_without_discount_with_tax, $product->prices[0]->price_currency_id); }else{ $finalPrice = $currencyClass->format($product->prices[0]->price_value_without_discount, $product->prices[0]->price_currency_id); } } $varFields['{finalPrice}'] = $finalPrice; if(empty($tag->type) || $tag->type == 'full'){ $description = $product->product_description; }else{ $pos = strpos($product->product_description, '<hr id="system-readmore"'); if($pos !== false){ $description = substr($product->product_description, 0, $pos); }else{ $description = substr($product->product_description, 0, 100).'...'; } } $link = 'index.php?option=com_hikashop&ctrl=product&task=show&cid='.$product->product_id; if(!empty($tag->lang)) $link .= '&lang='.substr($tag->lang, 0, strpos($tag->lang, ',')); if(!empty($tag->itemid)) $link .= '&Itemid='.$tag->itemid; if(!empty($product->product_canonical)) $link = $product->product_canonical; $link = acymailing_frontendLink($link); $varFields['{link}'] = $link; $image = hikashop_get('helper.image'); if(!empty($product->file_path)) { $img = $image->getThumbnail($product->file_path, null); if($img->success) $varFields['{pictHTML}'] = $img->url; else $varFields['{pictHTML}'] = $image->display($product->file_path, false, $product->product_name); } if(file_exists(ACYMAILING_MEDIA.'plugins'.DS.'hikashop_product.php')){ ob_start(); require(ACYMAILING_MEDIA.'plugins'.DS.'hikashop_product.php'); $result = ob_get_clean(); $result = str_replace(array_keys($varFields), $varFields, $result); return $result; } $result = ''; $astyle = ''; if(empty($tag->type) || $tag->type != 'title'){ $result .= '<div class="acymailing_product">'; $astyle = 'style="text-decoration:none;" name="product-'.$product->product_id.'"'; } $result .= '<a '.$astyle.' target="_blank" href="'.$link.'">'; if(empty($tag->type) || $tag->type != 'title') $result .= '<h2 class="acymailing_title">'; $result .= $product->product_name; if(!empty($finalPrice)) $result .= ' '.$finalPrice; if(empty($tag->type) || $tag->type != 'title') $result .= '</h2>'; $result .= '</a>'; if(empty($tag->type) || $tag->type != 'title'){ if(!empty($product->file_path)){ $config =& hikashop_config(); $uploadFolder = ltrim(JPath::clean(html_entity_decode($config->get('uploadfolder'))), DS); $uploadFolder = rtrim($uploadFolder, DS).DS; $image->uploadFolder_url = str_replace(DS, '/', $uploadFolder); $image->uploadFolder_url = ACYMAILING_LIVE.$image->uploadFolder_url; $pictureHTML = $image->display($product->file_path, false, $product->product_name, '', '', $config->get('thumbnail_x', 100), $config->get('thumbnail_y', 100)); $pictureHTML = '<a target="_blank" style="text-decoration:none;border:0" href="'.$link.'" >'.$pictureHTML.'</a>'; $result .= '<table class="acymailing_content"><tr><td valign="top" style="padding-right:5px">'.$pictureHTML.'</td><td>'.$description.'</td></tr></table>'; }else{ $result .= $description; } } if(empty($tag->type) || $tag->type != 'title') $result .= '</div>'; $result = $this->acypluginsHelper->removeJS($result); return $result; } function generateCoupon(&$allresults, $i, &$user){ list($minimum_order, $quota, $start, $end, $percent_amount, $flat_amount, $currency_id, $code, $product_id, $tax_id, $validity_period) = explode('|', $allresults[1][$i]); jimport('joomla.user.helper'); $key = JUserHelper::genrandompassword(5); if(!hikashop_level(1)){ $minimum_order = 0; $quota = ''; $product_id = ''; } if($percent_amount > 0){ $value = $percent_amount; }else{ $value = $flat_amount; } $value = str_replace(',', '.', $value); if($start){ $start = hikashop_getTime($start); } if($end){ $end = hikashop_getTime($end); } if((int)$validity_period > 0) { $end_period = time() + (int)$validity_period * 86400; if($end_period > $end) $end = $end_period; } $clean_name = strtoupper($user->name); $space = strpos($clean_name, ' '); if(!empty($space)){ $clean_name = substr($clean_name, 0, $space); } $code = str_replace(array('[name]', '[clean_name]', '[subid]', '[email]', '[key]', '[flat]', '[percent]', '[value]', '[prodid]'), array($user->name, $clean_name, $user->subid, $user->email, $key, $flat_amount, $percent_amount, $value, $product_id), $code); $this->db->setQuery('INSERT IGNORE INTO '.acymailing_table('hikashop_discount', false).'( `discount_code`, `discount_percent_amount`, `discount_flat_amount`, `discount_type`, `discount_start`, `discount_end`, `discount_minimum_order`, `discount_quota`, `discount_currency_id`, `discount_product_id`, `discount_tax_id`, `discount_published` ) VALUES ('.$this->db->Quote($code).','.$this->db->Quote($percent_amount).','.$this->db->Quote($flat_amount).',\'coupon\','.$this->db->Quote($start).','.$this->db->Quote($end).','.$this->db->Quote($minimum_order).','.$this->db->Quote($quota).','.$this->db->Quote(hikashop_getCurrency()).','.$this->db->Quote($product_id).','.$this->db->Quote($tax_id).', 1)'); $this->db->execute(); return $code; } function onAcyDisplayFilters(&$type, $context = 'massactions'){ if(!$this->loadAcymailing()) return ''; if($this->params->get('displayfilter_'.$context, true) == false) return ''; $this->db->setQuery("SELECT `product_id` as value, CONCAT(`product_name`,' ( ',`product_code`,' ) ') as text FROM ".acymailing_table('hikashop_product', false)." ORDER BY `product_code` ASC LIMIT 1000"); $allProducts = $this->db->loadObjectList(); if(!empty($allProducts)){ $selectOne = new stdClass; $selectOne->value = 0; $selectOne->text = JText::_('ACY_ONE_PRODUCT'); array_unshift($allProducts, $selectOne); } $hikaBuy = array(); $hikaBuy[] = JHTML::_('select.option', '1', JText::_('ACY_BOUGHT')); $hikaBuy[] = JHTML::_('select.option', '0', JText::_('ACY_DIDNOTBOUGHT')); $hikaGroupsParams = acymailing_get('type.operatorsin'); $hikaGroupsParams->js = 'onchange="countresults(__num__)"'; $operators = acymailing_get('type.operators'); $operators->extra = 'onchange="countresults(__num__)"'; $fields = acymailing_getColumns('#__hikashop_user'); $hikaFields = array(); if(!empty($fields)){ foreach($fields as $oneField => $fieldType){ $hikaFields[] = JHTML::_('select.option', $oneField, $oneField); } } $return = ''; $return .= '<div id="filter__num__hikaallorders">'; $return .= $hikaGroupsParams->display("filter[__num__][hikaallorders][type]").' '; $category = hikashop_get('type.categorysub'); $category->type = 'status'; $return .= $category->display("filter[__num__][hikaallorders][status]", '', 'size="1" onchange="countresults(__num__)" ', false); $payment = hikashop_get('type.payment'); $payment->extra = 'onchange="countresults(__num__)"'; $return .= $payment->display("filter[__num__][hikaallorders][payment]", '', false); $return .= '<br/> <input onclick="displayDatePicker(this,event)" name="filter[__num__][hikaallorders][cdateinf]" type="text" onchange="countresults(__num__)" /> < '.JText::_('CREATED_DATE').' < <input onclick="displayDatePicker(this,event)" type="text" name="filter[__num__][hikaallorders][cdatesup]" onchange="countresults(__num__)" />'; $return .= '<br/> <input onclick="displayDatePicker(this,event)" name="filter[__num__][hikaallorders][mdateinf]" type="text" onchange="countresults(__num__)" /> < '.JText::_('MODIFIED_DATE').' < <input onclick="displayDatePicker(this,event)" type="text" name="filter[__num__][hikaallorders][mdatesup]" onchange="countresults(__num__)" />'; $return .= '<br/> <input onclick="displayDatePicker(this,event)" name="filter[__num__][hikaallorders][idateinf]" type="text" onchange="countresults(__num__)" /> < '.JText::_('INVOICE_DATE').' < <input onclick="displayDatePicker(this,event)" type="text" name="filter[__num__][hikaallorders][idatesup]" onchange="countresults(__num__)" />'; $return .= '</div>'; $type['hikaallorders'] = 'HikaShop '.JText::_('ORDERS'); if(!empty($allProducts)){ $dateFilters = array(); $dateFilters[] = JHTML::_('select.option', 'order_created', JText::_('CREATED_DATE')); $dateFilters[] = JHTML::_('select.option', 'order_modified', JText::_('MODIFIED_DATE')); $dateFilters[] = JHTML::_('select.option', 'order_invoice_created', JText::_('INVOICE_DATE')); $return .= '<div id="filter__num__hikaorder">'.JHTML::_('select.genericlist', $hikaBuy, "filter[__num__][hikaorder][type]", 'class="custom-select" size="1" onchange="countresults(__num__)" ', 'value', 'text').' '; $return .= JHTML::_('select.genericlist', $allProducts, "filter[__num__][hikaorder][product]", 'class="custom-select" style="max-width:200px" size="1" onchange="countresults(__num__)" ', 'value', 'text'); $this->db->setQuery('SELECT `category_id` AS value, `category_name` AS text FROM '.acymailing_table('hikashop_category', false).' WHERE `category_type` = "product" ORDER BY `category_name` ASC LIMIT 1000'); $allCats = $this->db->loadObjectList(); if(!empty($allCats)){ $selectOne = new stdClass; $selectOne->value = 0; $selectOne->text = JText::_('ACY_ANY_CATEGORY'); array_unshift($allCats, $selectOne); } $return .= ' '.JHTML::_('select.genericlist', $allCats, "filter[__num__][hikaorder][cat]", 'class="custom-select" style="max-width:200px" size="1" onchange="countresults(__num__)" ', 'value', 'text'); $return .= '<br/> <input onclick="displayDatePicker(this,event)" type="text" name="filter[__num__][hikaorder][creationdateinf]" onchange="countresults(__num__)" /> < '.JHTML::_('select.genericlist', $dateFilters, "filter[__num__][hikaorder][datefield]", 'class="custom-select" size="1" onchange="countresults(__num__)" ', 'value', 'text').' < <input onclick="displayDatePicker(this,event)" type="text" name="filter[__num__][hikaorder][creationdatesup]" onchange="countresults(__num__)" />'; $return .= '</div>'; $type['hikaorder'] = 'HikaShop '.JText::_('CUSTOMERS'); } if(!empty($hikaFields)){ $return .= '<div id="filter__num__hikafield">'.JHTML::_('select.genericlist', $hikaFields, "filter[__num__][hikafield][map]", 'class="custom-select" onchange="countresults(__num__)" size="1"', 'value', 'text'); $return .= ' '.$operators->display("filter[__num__][hikafield][operator]").' <input class="inputbox" type="text" name="filter[__num__][hikafield][value]" size="50" value="" onchange="countresults(__num__)" />'; $return .= '</div>'; $type['hikafield'] = 'HikaShop '.JText::_('FIELD'); } $this->db->setQuery("SELECT `zone_namekey` AS value, CONCAT(`zone_name`,' ( ',`zone_name_english`,' )') AS text FROM ".acymailing_table('hikashop_zone', false)." WHERE `zone_type` = 'country' ORDER BY `zone_name_english` ASC LIMIT 1000"); $allCountries = $this->db->loadObjectList(); $selectOne = new stdClass; $selectOne->value = 0; $selectOne->text = JText::_('COUNTRYCAPTION'); array_unshift($allCountries, $selectOne); $jsOnChange = "displayCondFilter('displayStates', 'toChange__num__',__num__,'country='+this.value); "; $return .= '<div id="filter__num__hikaaddress">'; $return .= $hikaGroupsParams->display("filter[__num__][hikaaddress][type]").' '; $return .= JHTML::_('select.genericlist', $allCountries, "filter[__num__][hikaaddress][country]", 'class="custom-select" onchange="'.$jsOnChange.'countresults(__num__)" size="1"', 'value', 'text'); $return .= ' <span id="toChange__num__"></span>'; $return .= '</div>'; $type['hikaaddress'] = 'HikaShop '.JText::_('ADDRESSCAPTION'); $return .= '<div id="filter__num__hikareminder">'; $val = '<input class="inputbox" type="text" name="filter[__num__][hikareminder][nbdays]" style="width:50px" value="1" onchange="countresults(__num__)" />'; $return .= JText::sprintf('DAYS_AFTER_ORDERING', $val).'<br/>'; $payment = hikashop_get('type.payment'); $payment->extra = 'onchange="countresults(__num__)"'; $return .= $payment->display("filter[__num__][hikareminder][payment]", '', false); $return .= '</div>'; $type['hikareminder'] = 'HikaShop Reminder'; $acyconfig = acymailing_config(); if(version_compare($acyconfig->get('version'), '4.9.4', '<')){ echo 'Please update AcyMailing, the HikaShop plugin may not work properly with this version'; } return $return; } function onAcyTriggerFct_displayStates(){ $num = hikaInput::get()->getInt('num'); $country = hikaInput::get()->getString('country'); if(empty($country)) return ''; $this->db->setQuery("SELECT z.`zone_namekey` AS value, CONCAT(z.`zone_name`,' ( ',z.`zone_name_english`,' )') AS text FROM ".acymailing_table('hikashop_zone', false)." AS z JOIN ".acymailing_table('hikashop_zone_link', false)." AS l ON z.zone_namekey = l.zone_child_namekey WHERE z.`zone_type` = 'state' AND l.zone_parent_namekey = ".$this->db->Quote($country)." ORDER BY z.`zone_name_english` ASC LIMIT 1000"); $states = $this->db->loadObjectList(); $selectOne = new stdClass; $selectOne->value = 0; $selectOne->text = JText::_(' - - - '); array_unshift($states, $selectOne); return JHTML::_('select.genericlist', $states, "filter[".$num."][hikaaddress][state]", 'onchange="countresults('.$num.')" class="inputbox" size="1"', 'value', 'text', 0, 'filter'.$num.'hikaaddressstate'); } function onAcyProcessFilterCount_hikaaddress(&$query, $filter, $num){ $this->onAcyProcessFilter_hikaaddress($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilter_hikaaddress(&$query, $filter, $num){ if(!$this->loadAcymailing() || empty($filter['country'])) return; $join = '#__hikashop_user AS '.$num.'hikauser ON sub.email = '.$num.'hikauser.user_email'; $join2 = '#__hikashop_address AS '.$num.'hikaaddress ON '.$num.'hikauser.user_id = '.$num.'hikaaddress.address_user_id '; if(!empty($filter['state'])){ $join2 .= 'AND address_state = '.$query->db->Quote($filter['state']); }else $join2 .= 'AND address_country = '.$query->db->Quote($filter['country']); if($filter['type'] == 'IN'){ $query->join[$num.'hikashopaddressuser'] = $join; $query->join[$num.'hikashopaddress'] = $join2; }else{ $query->leftjoin[$num.'hikashopaddressuser'] = $join; $query->leftjoin[$num.'hikashopaddress'] = $join2; $query->where[$num.'hikashopaddress'] = $num.'hikaaddress.address_user_id IS NULL'; } } function onAcyProcessFilterCount_hikaallorders(&$query, $filter, $num){ $this->onAcyProcessFilter_hikaallorders($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilterCount_hikafield(&$query, $filter, $num){ $this->onAcyProcessFilter_hikafield($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilterCount_hikaorder(&$query, $filter, $num){ $this->onAcyProcessFilter_hikaorder($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilterCount_hikareminder(&$query, $filter, $num){ $this->onAcyProcessFilter_hikareminder($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function onAcyProcessFilter_hikaallorders(&$query, $filter, $num){ if(!$this->loadAcymailing()) return; $lj = "`#__hikashop_user` as hikaallordersUser$num on hikaallordersUser$num.user_email = sub.`email` LEFT JOIN `#__hikashop_order` as hikaallorders$num ON hikaallorders$num.`order_user_id` = hikaallordersUser$num.user_id"; if(!empty($filter['status'])) $lj .= " AND hikaallorders$num.`order_status` = ".$this->db->Quote($filter['status']); if(!empty($filter['cdateinf'])){ $filter['cdateinf'] = acymailing_replaceDate($filter['cdateinf']); if(!is_numeric($filter['cdateinf'])) $filter['cdateinf'] = strtotime($filter['cdateinf']); $lj .= " AND hikaallorders$num.`order_created` > ".$this->db->Quote($filter['cdateinf']); } if(!empty($filter['cdatesup'])){ $filter['cdatesup'] = acymailing_replaceDate($filter['cdatesup']); if(!is_numeric($filter['cdatesup'])) $filter['cdatesup'] = strtotime($filter['cdatesup']); $lj .= " AND hikaallorders$num.`order_created` < ".$this->db->Quote($filter['cdatesup']); } if(!empty($filter['mdateinf'])){ $filter['mdateinf'] = acymailing_replaceDate($filter['mdateinf']); if(!is_numeric($filter['mdateinf'])) $filter['mdateinf'] = strtotime($filter['mdateinf']); $lj .= " AND hikaallorders$num.`order_modified` > ".$this->db->Quote($filter['mdateinf']); } if(!empty($filter['mdatesup'])){ $filter['mdatesup'] = acymailing_replaceDate($filter['mdatesup']); if(!is_numeric($filter['mdatesup'])) $filter['mdatesup'] = strtotime($filter['mdatesup']); $lj .= " AND hikaallorders$num.`order_modified` < ".$this->db->Quote($filter['mdatesup']); } if(!empty($filter['idateinf'])){ $filter['idateinf'] = acymailing_replaceDate($filter['idateinf']); if(!is_numeric($filter['idateinf'])) $filter['idateinf'] = strtotime($filter['idateinf']); $lj .= " AND hikaallorders$num.`order_invoice_created` > ".$this->db->Quote($filter['idateinf']); } if(!empty($filter['idatesup'])){ $filter['idatesup'] = acymailing_replaceDate($filter['idatesup']); if(!is_numeric($filter['idatesup'])) $filter['idatesup'] = strtotime($filter['idatesup']); $lj .= " AND hikaallorders$num.`order_invoice_created` < ".$this->db->Quote($filter['idatesup']); } if(!empty($filter['payment'])){ $column = 'order_payment_method'; if(is_numeric($filter['payment'])){ $column = 'order_payment_id'; } $lj .= " AND hikaallorders$num.`".$column."` = ".$this->db->Quote($filter['payment']); } $query->leftjoin['hikaallorders_'.$num] = $lj; $operator = ($filter['type'] == 'IN') ? 'IS NOT NULL' : 'IS NULL'; $query->where[] = "hikaallorders$num.order_id ".$operator; } function onAcyProcessFilter_hikafield(&$query, $filter, $num){ if(!$this->loadAcymailing()) return; if($filter['map'] == 'user_created') $filter['value'] = acymailing_replaceDate($filter['value']); $query->join[$num.'hikashopfield'] = '#__hikashop_user AS '.$num.'hikafield ON sub.email = '.$num.'hikafield.user_email'; $query->where[$num.'hikashopfield'] = $query->convertQuery($num.'hikafield', $filter['map'], $filter['operator'], $filter['value']); } function onAcyProcessFilter_hikareminder(&$query, $filter, $num){ if(!$this->loadAcymailing()) return; $delay = 0; $comparisionFormat = '%Y %d %m'; if(!empty($filter['nbtype'])){ $delay = ($filter['nbdays'] * (int)$filter['nbtype']); switch((int)$filter['nbtype']){ case 60: $comparisionFormat = '%Y %d %m %h %i'; break; case 3600: $comparisionFormat = '%Y %d %m %h'; break; case 604800: $comparisionFormat = '%Y %d %u'; break; case 2635200: $comparisionFormat = '%Y %d'; break; case 31622400: $comparisionFormat = '%Y'; break; case 86400: default: break; } }elseif(!empty($filter['nbdays'])){ $delay = ($filter['nbdays'] * 86400); }elseif(!empty($filter['senddate'])) $delay = ($filter['senddate'] * 3600); $senddate = (time() - $delay); $config =& hikashop_config(); $createdstatus = $config->get('order_created_status', 'created'); $myquery = 'SELECT hikauser.user_email FROM #__hikashop_order AS a LEFT JOIN #__hikashop_order AS b ON a.order_user_id = b.order_user_id AND b.order_id > a.order_id JOIN #__hikashop_user AS hikauser ON a.order_user_id = hikauser.user_id '; if(!empty($filter['payment'])) $myquery .= 'JOIN #__hikashop_payment AS payment ON payment.payment_type = a.order_payment_method AND payment.payment_id = '.intval($filter['payment']); $myquery .= ' WHERE a.order_status = '.$this->db->Quote($createdstatus).' AND b.order_id IS NULL '; if(!empty($senddate)) $myquery .= 'AND FROM_UNIXTIME(a.order_created,"%Y %d %m") = FROM_UNIXTIME('.$senddate.',"%Y %d %m")'; $this->db->setQuery($myquery); $allOrders = acymailing_loadResultArray($this->db); if(empty($allOrders)) $allOrders[] = '-1'; $query->where[] = "sub.email IN ('".implode("','", $allOrders)."')"; } function onAcyProcessFilter_hikaorder(&$query, $filter, $num){ if(!$this->loadAcymailing()) return; $config =& hikashop_config(); $statuses = $config->get('invoice_order_statuses', 'confirmed,shipped'); if(empty($statuses)) $statuses = 'confirmed,shipped'; $statuses = explode(',', $statuses); $condition = array(); foreach($statuses as $status){ if(!empty($status)) $condition[] = $query->db->Quote($status); } $myquery = "SELECT DISTINCT b.user_email FROM #__hikashop_order_product AS a LEFT JOIN #__hikashop_order AS c ON a.order_id = c.order_id LEFT JOIN #__hikashop_user AS b on c.order_user_id = b.user_id"; $filters = array(); if(count($condition)) $filters[] = "c.order_status IN (".implode(',',$condition).")"; if(!empty($filter['product']) && is_numeric($filter['product'])) { $filters[] = "a.product_id = ".(int) $filter['product']; } elseif(!empty($filter['cat']) && is_numeric($filter['cat'])) { $myquery .= ' LEFT JOIN #__hikashop_product as hkp ON a.product_id = hkp.product_id LEFT JOIN #__hikashop_product_category AS hkpc ON (a.product_id = hkpc.product_id) OR (hkp.product_parent_id > 0 AND hkp.product_parent_id = hkpc.product_id) '; $filters[] = 'hkpc.category_id = '.(int)$filter['cat']; } $datesVar = array('creationdatesup', 'creationdateinf'); foreach($datesVar as $oneDate){ if(empty($filter[$oneDate])) continue; $filter[$oneDate] = acymailing_replaceDate($filter[$oneDate]); if(!is_numeric($filter[$oneDate])) $filter[$oneDate] = strtotime($filter[$oneDate]); } if(empty($filter['datefield'])) $filter['datefield'] = 'order_created'; if(!empty($filter['creationdateinf'])) $filters[] = 'c.`'.$filter['datefield'].'` > '.$filter['creationdateinf']; if(!empty($filter['creationdatesup'])) $filters[] = 'c.`'.$filter['datefield'].'` < '.$filter['creationdatesup']; if(count($filters)){ $myquery .= ' WHERE '.implode(' AND ', $filters); } $query->db->setQuery($myquery); $allEmails = acymailing_loadResultArray($query->db); if(empty($allEmails)) $allEmails[] = 'none'; if(empty($filter['type'])){ $query->where[] = "sub.email NOT IN ('".implode("','", $allEmails)."')"; }else{ $query->where[] = "sub.email IN ('".implode("','", $allEmails)."')"; } } function onAcyDisplayTriggers(&$triggers){ if(!$this->loadAcymailing()) return; $statusClass = hikashop_get('type.categorysub'); $statusClass->type = 'status'; $statusClass->load(); if(empty($statusClass->categories)) return; $triggers['hikaorder'] = new stdClass(); $triggers['hikaorder']->name = JText::_('HIKASHOP_ORDER_STATUS_CHANGED_TO'); $plugin = JPluginHelper::getPlugin('hikashop', 'acymailing'); if(empty($plugin)){ $triggers['hikaorder']->name .= ' (If you want to use this feature you need to publish the plugin AcyMailing for HikaShop in the hikashop configuration page under the plugins tab)'; } foreach($statusClass->categories as $category){ if(empty($category->value)){ $val = str_replace(' ', '_', strtoupper($category->category_name)); $category->value = JText::_($val); if($val == $category->value){ $category->value = $category->category_name; } } $triggers['hikaorder']->triggers['hikaorder_'.$category->category_name] = $category->value; } } }//endclass PK ! �#o, , hikashop/index.htmlnu �[��� <html><body bgcolor="#FFFFFF"></body></html>PK ! [�# # tablecontents/tablecontents.phpnu &1i� PK ! �`۴ � V# tablecontents/tablecontents.xmlnu &1i� PK ! �#o, , Y* tablecontents/index.htmlnu &1i� PK ! �#o, , �* index.htmlnu �[��� PK ! �#o, , 3+ tagsubscription/index.htmlnu &1i� PK ! �s�� �� # �+ tagsubscription/tagsubscription.phpnu &1i� PK ! �c��� � # �� tagsubscription/tagsubscription.xmlnu &1i� PK ! ���j-6 -6 �� managetext/managetext.phpnu &1i� PK ! �#o, , ; managetext/index.htmlnu &1i� PK ! 4 $7O O � managetext/managetext.xmlnu &1i� PK ! �#o, , D template/index.htmlnu &1i� PK ! ���� � � template/template.xmlnu &1i� PK ! 5�d�R% R% � template/template.phpnu &1i� PK ! ��[ *> tagtime/tagtime.xmlnu &1i� PK ! c��j� � �E tagtime/tagtime.phpnu &1i� PK ! �#o, , XT tagtime/index.htmlnu &1i� PK ! �#o, , �T share/index.htmlnu &1i� PK ! ��� � 2U share/share.xmlnu &1i� PK ! /ȟQ� � Ee share/share.phpnu &1i� PK ! �#o, , L� contentplugin/index.htmlnu &1i� PK ! ��:l �� contentplugin/contentplugin.phpnu &1i� PK ! 5�3� $� contentplugin/contentplugin.xmlnu &1i� PK ! ��6�� � � stats/stats.xmlnu &1i� PK ! �y�� � � stats/stats.phpnu &1i� PK ! �#o, , � stats/index.htmlnu &1i� PK ! �'Vm m |� taguser/taguser.xmlnu &1i� PK ! D�� 9 9 ,� taguser/taguser.phpnu &1i� PK ! �#o, , |� taguser/index.htmlnu &1i� PK ! �#o, , � tagcontent/index.htmlnu &1i� PK ! _��K� K� [� tagcontent/tagcontent.phpnu &1i� PK ! ���|! ! �� tagcontent/tagcontent.xmlnu &1i� PK ! �h3� � S tagsubscriber/tagsubscriber.xmlnu &1i� PK ! �� �eI eI 2 tagsubscriber/tagsubscriber.phpnu &1i� PK ! �#o, , �b tagsubscriber/index.htmlnu &1i� PK ! ���q Zc online/online.phpnu &1i� PK ! *��( ( �z online/online.xmlnu &1i� PK ! �#o, , � online/index.htmlnu &1i� PK ! _M+� � �� tagcbuser/tagcbuser_j30.xmlnu &1i� PK ! �Bv� � Q� tagcbuser/tagcbuser.xmlnu &1i� PK ! ��x�4 �4 A� tagcbuser/tagcbuser.phpnu &1i� PK ! �#o, , 1� tagcbuser/index.htmlnu &1i� PK ! +z��� � �� hikashop/hikashop.xmlnu �[��� PK ! @��a� � �� hikashop/hikashop.phpnu �[��� PK ! �#o, , � hikashop/index.htmlnu �[��� PK , , � |�
Close