Compare commits
1 commit
2024.09-rc
...
victort/LD
Author | SHA1 | Date | |
---|---|---|---|
908105684c |
|
@ -6,27 +6,5 @@ root = true
|
|||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespaces = true
|
||||
indent_style = tab
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
quote_type = single
|
||||
max_line_length = off
|
||||
|
||||
[*.js]
|
||||
quote_type = double
|
||||
ij_javascript_use_double_quotes = true
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.xml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.json]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[composer.json]
|
||||
indent_size = 4
|
||||
|
|
266
.tx/config
266
.tx/config
|
@ -1,399 +1,399 @@
|
|||
[main]
|
||||
host = https://api.transifex.com
|
||||
host = https://www.transifex.com
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_advancedcontentfilter_messagespo]
|
||||
[friendica.addon_advancedcontentfilter_messagespo]
|
||||
file_filter = advancedcontentfilter/lang/<lang>/messages.po
|
||||
source_file = advancedcontentfilter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_blackout_messagespo]
|
||||
[friendica.addon_blackout_messagespo]
|
||||
file_filter = blackout/lang/<lang>/messages.po
|
||||
source_file = blackout/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_blockem_messagespo]
|
||||
[friendica.addon_blockem_messagespo]
|
||||
file_filter = blockem/lang/<lang>/messages.po
|
||||
source_file = blockem/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_blogger_messagespo]
|
||||
[friendica.addon_blogger_messagespo]
|
||||
file_filter = blogger/lang/<lang>/messages.po
|
||||
source_file = blogger/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_buffer_messagespo]
|
||||
[friendica.addon_buffer_messagespo]
|
||||
file_filter = buffer/lang/<lang>/messages.po
|
||||
source_file = buffer/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_buglink_messagespo]
|
||||
[friendica.addon_buglink_messagespo]
|
||||
file_filter = buglink/lang/<lang>/messages.po
|
||||
source_file = buglink/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_catavatar_messagespo]
|
||||
[friendica.addon_catavatar_messagespo]
|
||||
file_filter = catavatar/lang/<lang>/messages.po
|
||||
source_file = catavatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_cookienotice_messagespo]
|
||||
[friendica.addon_cookienotice_messagespo]
|
||||
file_filter = cookienotice/lang/<lang>/messages.po
|
||||
source_file = cookienotice/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_curweather_messagespo]
|
||||
[friendica.addon_curweather_messagespo]
|
||||
file_filter = curweather/lang/<lang>/messages.po
|
||||
source_file = curweather/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_diaspora_messagespo]
|
||||
[friendica.addon_diaspora_messagespo]
|
||||
file_filter = diaspora/lang/<lang>/messages.po
|
||||
source_file = diaspora/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_dwpost_messagespo]
|
||||
[friendica.addon_dwpost_messagespo]
|
||||
file_filter = dwpost/lang/<lang>/messages.po
|
||||
source_file = dwpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_forumdirectory_messagespo]
|
||||
[friendica.addon_forumdirectory_messagespo]
|
||||
file_filter = forumdirectory/lang/<lang>/messages.po
|
||||
source_file = forumdirectory/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_fromapp_messagespo]
|
||||
[friendica.addon_fromapp_messagespo]
|
||||
file_filter = fromapp/lang/<lang>/messages.po
|
||||
source_file = fromapp/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_fromgplus_messagespo]
|
||||
[friendica.addon_fromgplus_messagespo]
|
||||
file_filter = fromgplus/lang/<lang>/messages.po
|
||||
source_file = fromgplus/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_geonames_messagespo]
|
||||
[friendica.addon_geonames_messagespo]
|
||||
file_filter = geonames/lang/<lang>/messages.po
|
||||
source_file = geonames/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_gnot_messagespo]
|
||||
[friendica.addon_gnot_messagespo]
|
||||
file_filter = gnot/lang/<lang>/messages.po
|
||||
source_file = gnot/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_gravatar_messagespo]
|
||||
[friendica.addon_gravatar_messagespo]
|
||||
file_filter = gravatar/lang/<lang>/messages.po
|
||||
source_file = gravatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_group_text_messagespo]
|
||||
[friendica.addon_group_text_messagespo]
|
||||
file_filter = group_text/lang/<lang>/messages.po
|
||||
source_file = group_text/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_ifttt_messagespo]
|
||||
[friendica.addon_ifttt_messagespo]
|
||||
file_filter = ifttt/lang/<lang>/messages.po
|
||||
source_file = ifttt/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_ijpost_messagespo]
|
||||
[friendica.addon_ijpost_messagespo]
|
||||
file_filter = ijpost/lang/<lang>/messages.po
|
||||
source_file = ijpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_impressum_messagespo]
|
||||
[friendica.addon_impressum_messagespo]
|
||||
file_filter = impressum/lang/<lang>/messages.po
|
||||
source_file = impressum/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_infiniteimprobabilitydrive_messagespo]
|
||||
[friendica.addon_infiniteimprobabilitydrive_messagespo]
|
||||
file_filter = infiniteimprobabilitydrive/lang/<lang>/messages.po
|
||||
source_file = infiniteimprobabilitydrive/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_irc_messagespo]
|
||||
[friendica.addon_irc_messagespo]
|
||||
file_filter = irc/lang/<lang>/messages.po
|
||||
source_file = irc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_jappixmini_messagespo]
|
||||
[friendica.addon_jappixmini_messagespo]
|
||||
file_filter = jappixmini/lang/<lang>/messages.po
|
||||
source_file = jappixmini/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_js_upload_messagespo]
|
||||
[friendica.addon_js_upload_messagespo]
|
||||
file_filter = js_upload/lang/<lang>/messages.po
|
||||
source_file = js_upload/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_krynn_messagespo]
|
||||
[friendica.addon_krynn_messagespo]
|
||||
file_filter = krynn/lang/<lang>/messages.po
|
||||
source_file = krynn/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_langfilter_messagespo]
|
||||
[friendica.addon_langfilter_messagespo]
|
||||
file_filter = langfilter/lang/<lang>/messages.po
|
||||
source_file = langfilter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_libertree_messagespo]
|
||||
[friendica.addon_libertree_messagespo]
|
||||
file_filter = libertree/lang/<lang>/messages.po
|
||||
source_file = libertree/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_libravatar_messagespo]
|
||||
[friendica.addon_libravatar_messagespo]
|
||||
file_filter = libravatar/lang/<lang>/messages.po
|
||||
source_file = libravatar/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_ljpost_messagespo]
|
||||
[friendica.addon_ljpost_messagespo]
|
||||
file_filter = ljpost/lang/<lang>/messages.po
|
||||
source_file = ljpost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_mailstream_messagespo]
|
||||
[friendica.addon_mailstream_messagespo]
|
||||
file_filter = mailstream/lang/<lang>/messages.po
|
||||
source_file = mailstream/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_mathjax_messagespo]
|
||||
[friendica.addon_mathjax_messagespo]
|
||||
file_filter = mathjax/lang/<lang>/messages.po
|
||||
source_file = mathjax/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_membersince_messagespo]
|
||||
[friendica.addon_membersince_messagespo]
|
||||
file_filter = membersince/lang/<lang>/messages.po
|
||||
source_file = membersince/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_morechoice_messagespo]
|
||||
[friendica.addon_morechoice_messagespo]
|
||||
file_filter = morechoice/lang/<lang>/messages.po
|
||||
source_file = morechoice/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_morepokes_messagespo]
|
||||
[friendica.addon_morepokes_messagespo]
|
||||
file_filter = morepokes/lang/<lang>/messages.po
|
||||
source_file = morepokes/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_newmemberwidget_messagespo]
|
||||
[friendica.addon_newmemberwidget_messagespo]
|
||||
file_filter = newmemberwidget/lang/<lang>/messages.po
|
||||
source_file = newmemberwidget/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_notifyall_messagespo]
|
||||
[friendica.addon_notifyall_messagespo]
|
||||
file_filter = notifyall/lang/<lang>/messages.po
|
||||
source_file = notifyall/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_notimeline_messagespo]
|
||||
[friendica.addon_notimeline_messagespo]
|
||||
file_filter = notimeline/lang/<lang>/messages.po
|
||||
source_file = notimeline/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_nsfw_messagespo]
|
||||
[friendica.addon_nsfw_messagespo]
|
||||
file_filter = nsfw/lang/<lang>/messages.po
|
||||
source_file = nsfw/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_numfriends_messagespo]
|
||||
[friendica.addon_numfriends_messagespo]
|
||||
file_filter = numfriends/lang/<lang>/messages.po
|
||||
source_file = numfriends/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_openstreetmap_messagespo]
|
||||
[friendica.addon_openstreetmap_messagespo]
|
||||
file_filter = openstreetmap/lang/<lang>/messages.po
|
||||
source_file = openstreetmap/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_pageheader_messagespo]
|
||||
[friendica.addon_pageheader_messagespo]
|
||||
file_filter = pageheader/lang/<lang>/messages.po
|
||||
source_file = pageheader/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_piwik_messagespo]
|
||||
[friendica.addon_piwik_messagespo]
|
||||
file_filter = piwik/lang/<lang>/messages.po
|
||||
source_file = piwik/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_planets_messagespo]
|
||||
[friendica.addon_planets_messagespo]
|
||||
file_filter = planets/lang/<lang>/messages.po
|
||||
source_file = planets/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_public_server_messagespo]
|
||||
[friendica.addon_public_server_messagespo]
|
||||
file_filter = public_server/lang/<lang>/messages.po
|
||||
source_file = public_server/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_pumpio_messagespo]
|
||||
[friendica.addon_pumpio_messagespo]
|
||||
file_filter = pumpio/lang/<lang>/messages.po
|
||||
source_file = pumpio/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_qcomment_messagespo]
|
||||
[friendica.addon_qcomment_messagespo]
|
||||
file_filter = qcomment/lang/<lang>/messages.po
|
||||
source_file = qcomment/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_randplace_messagespo]
|
||||
[friendica.addon_randplace_messagespo]
|
||||
file_filter = randplace/lang/<lang>/messages.po
|
||||
source_file = randplace/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_remote_permissions_messagespo]
|
||||
[friendica.addon_remote_permissions_messagespo]
|
||||
file_filter = remote_permissions/lang/<lang>/messages.po
|
||||
source_file = remote_permissions/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_rendertime_messagespo]
|
||||
[friendica.addon_rendertime_messagespo]
|
||||
file_filter = rendertime/lang/<lang>/messages.po
|
||||
source_file = rendertime/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_securemail_messagespo]
|
||||
[friendica.addon_securemail_messagespo]
|
||||
file_filter = securemail/lang/<lang>/messages.po
|
||||
source_file = securemail/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_showmore_messagespo]
|
||||
[friendica.addon_showmore_messagespo]
|
||||
file_filter = showmore/lang/<lang>/messages.po
|
||||
source_file = showmore/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_smileybutton_messagespo]
|
||||
[friendica.addon_smileybutton_messagespo]
|
||||
file_filter = smileybutton/lang/<lang>/messages.po
|
||||
source_file = smileybutton/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_startpage_messagespo]
|
||||
[friendica.addon_startpage_messagespo]
|
||||
file_filter = startpage/lang/<lang>/messages.po
|
||||
source_file = startpage/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_statusnet_messagespo]
|
||||
[friendica.addon_statusnet_messagespo]
|
||||
file_filter = statusnet/lang/<lang>/messages.po
|
||||
source_file = statusnet/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_superblock_messagespo]
|
||||
[friendica.addon_superblock_messagespo]
|
||||
file_filter = superblock/lang/<lang>/messages.po
|
||||
source_file = superblock/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_testdrive_messagespo]
|
||||
[friendica.addon_testdrive_messagespo]
|
||||
file_filter = testdrive/lang/<lang>/messages.po
|
||||
source_file = testdrive/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_tictac_messagespo]
|
||||
[friendica.addon_tictac_messagespo]
|
||||
file_filter = tictac/lang/<lang>/messages.po
|
||||
source_file = tictac/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_tumblr_messagespo]
|
||||
[friendica.addon_tumblr_messagespo]
|
||||
file_filter = tumblr/lang/<lang>/messages.po
|
||||
source_file = tumblr/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_twitter_messagespo]
|
||||
[friendica.addon_twitter_messagespo]
|
||||
file_filter = twitter/lang/<lang>/messages.po
|
||||
source_file = twitter/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_viewsrc_messagespo]
|
||||
[friendica.addon_viewsrc_messagespo]
|
||||
file_filter = viewsrc/lang/<lang>/messages.po
|
||||
source_file = viewsrc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_webrtc_messagespo]
|
||||
[friendica.addon_webrtc_messagespo]
|
||||
file_filter = webrtc/lang/<lang>/messages.po
|
||||
source_file = webrtc/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_widgets_messagespo]
|
||||
[friendica.addon_widgets_messagespo]
|
||||
file_filter = widgets/lang/<lang>/messages.po
|
||||
source_file = widgets/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_windowsphonepush_messagespo]
|
||||
[friendica.addon_windowsphonepush_messagespo]
|
||||
file_filter = windowsphonepush/lang/<lang>/messages.po
|
||||
source_file = windowsphonepush/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_wppost_messagespo]
|
||||
[friendica.addon_wppost_messagespo]
|
||||
file_filter = wppost/lang/<lang>/messages.po
|
||||
source_file = wppost/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
[o:Friendica:p:friendica:r:addon_xmpp_messagespo]
|
||||
[friendica.addon_xmpp_messagespo]
|
||||
file_filter = xmpp/lang/<lang>/messages.po
|
||||
source_file = xmpp/lang/C/messages.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
type = PO
|
||||
|
||||
|
|
|
@ -1,72 +0,0 @@
|
|||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git config --global --add safe.directory $CI_WORKSPACE
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
event: pull_request
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
event: pull_request
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
event: pull_request
|
||||
composer_install:
|
||||
image: composer
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- ./bin/composer.phar run cs:install
|
||||
when:
|
||||
event: pull_request
|
||||
rebuild_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
rebuild: true
|
||||
cache_key: '{{ .Repo.Name }}_phpcs_{{ arch }}_{{ os }}'
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
event: pull_request
|
||||
check:
|
||||
image: friendicaci/php-cs
|
||||
commands:
|
||||
- cd addon/
|
||||
- if [ ! -z "$${CI_COMMIT_PULL_REQUEST}" ]; then
|
||||
git fetch --no-tags origin ${CI_COMMIT_TARGET_BRANCH};
|
||||
export CHANGED_FILES="$(git diff --name-status $(git merge-base FETCH_HEAD origin/${CI_COMMIT_TARGET_BRANCH})..${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")";
|
||||
else
|
||||
export CHANGED_FILES="$(git diff --name-status ${CI_COMMIT_SHA} | grep ^A | cut -f2 | sed -e "s/^/addon\\//")";
|
||||
fi
|
||||
- cd ../
|
||||
- /check-php-cs.sh
|
||||
when:
|
||||
event: pull_request
|
|
@ -1,115 +0,0 @@
|
|||
# This prevents executing this pipeline at other servers than ci.friendi.ca
|
||||
labels:
|
||||
location: friendica
|
||||
type: releaser
|
||||
|
||||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git config --global --add safe.directory $CI_WORKSPACE
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
composer_install:
|
||||
image: friendicaci/php8.2:php8.2.16
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- composer validate
|
||||
- composer install --no-dev --optimize-autoloader
|
||||
volumes:
|
||||
- /etc/hosts:/etc/hosts
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
create_artifacts:
|
||||
image: debian
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install bzip2
|
||||
- mkdir ./build
|
||||
- export VERSION="$(cat VERSION)"
|
||||
- export RELEASE="friendica-addons-$VERSION"
|
||||
- export ARTIFACT="$RELEASE.tar.gz"
|
||||
- tar
|
||||
--exclude='.tx'
|
||||
--exclude='.git'
|
||||
--exclude='.editorconfig'
|
||||
--exclude='.gitattributes'
|
||||
--exclude='.gitignore'
|
||||
--exclude='.woodpecker'
|
||||
--exclude='**/*/messages.po'
|
||||
-cvzf ./build/$ARTIFACT addon/
|
||||
- cd ./build
|
||||
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
|
||||
- chmod 664 ./*
|
||||
- ls -lh
|
||||
- cat "$ARTIFACT.sum256"
|
||||
- sha256sum "$ARTIFACT"
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
sign_artifacts:
|
||||
image: plugins/gpgsign
|
||||
settings:
|
||||
key:
|
||||
from_secret: gpg_key
|
||||
passphrase:
|
||||
from_secret: gpg_password
|
||||
files:
|
||||
- build/*
|
||||
exclude:
|
||||
- build/*.sum256
|
||||
detach_sign: true
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
||||
publish_artifacts:
|
||||
image: alpine
|
||||
commands:
|
||||
- cp -fr build/* /tmp/friendica_files/
|
||||
volumes:
|
||||
- files:/tmp/friendica_files
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
branch: [ develop, '*-rc' ]
|
||||
event: push
|
|
@ -1,40 +0,0 @@
|
|||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git config --global --add safe.directory $CI_WORKSPACE
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
event: pull_request
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
event: pull_request
|
||||
build_xgettext:
|
||||
image: friendicaci/transifex
|
||||
commands:
|
||||
- /xgettext-addon.sh
|
||||
when:
|
||||
event: pull_request
|
||||
check:
|
||||
image: friendicaci/transifex
|
||||
commands:
|
||||
- /check-addons.sh
|
||||
when:
|
||||
event: pull_request
|
||||
|
||||
branches:
|
||||
exclude: [ stable ]
|
|
@ -1,118 +0,0 @@
|
|||
matrix:
|
||||
include:
|
||||
- PHP_MAJOR_VERSION: 7.4
|
||||
PHP_VERSION: 7.4.33
|
||||
- PHP_MAJOR_VERSION: 8.0
|
||||
PHP_VERSION: 8.0.30
|
||||
- PHP_MAJOR_VERSION: 8.1
|
||||
PHP_VERSION: 8.1.27
|
||||
- PHP_MAJOR_VERSION: 8.2
|
||||
PHP_VERSION: 8.2.16
|
||||
- PHP_MAJOR_VERSION: 8.3
|
||||
PHP_VERSION: 8.3.3
|
||||
|
||||
# This forces PHP Unit executions at the "opensocial" labeled location (because of much more power...)
|
||||
labels:
|
||||
location: opensocial
|
||||
|
||||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git config --global --add safe.directory $CI_WORKSPACE
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
composer_install:
|
||||
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- ./bin/composer.phar validate
|
||||
- ./bin/composer.phar install --prefer-dist
|
||||
volumes:
|
||||
- /etc/hosts:/etc/hosts
|
||||
rebuild_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
rebuild: true
|
||||
cache_key: "{{ .Repo.Name }}_php${PHP_MAJOR_VERSION}_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
test:
|
||||
image: friendicaci/php${PHP_MAJOR_VERSION}:php${PHP_VERSION}
|
||||
environment:
|
||||
MYSQL_HOST: "mariadb"
|
||||
MYSQL_PORT: "3306"
|
||||
MYSQL_DATABASE: "test"
|
||||
MYSQL_PASSWORD: "test"
|
||||
MYSQL_USER: "test"
|
||||
REDIS_HOST: "redis"
|
||||
MEMCACHED_HOST: "memcached"
|
||||
MEMCACHE_HOST: "memcached"
|
||||
commands:
|
||||
- cp config/local-sample.config.php config/local.config.php
|
||||
- if ! bin/wait-for-connection $MYSQL_HOST $MYSQL_PORT 300; then echo "[ERROR] Waited 300 seconds, no response" >&2; exit 1; fi
|
||||
- mysql -h$MYSQL_HOST -P$MYSQL_PORT -p$MYSQL_PASSWORD -u$MYSQL_USER $MYSQL_DATABASE < database.sql
|
||||
- if [ "${PHP_MAJOR_VERSION}" = "8.2" -a "${CI_REPO}" = "friendica/friendica-addons" ]; then
|
||||
phpenmod xdebug;
|
||||
export XDEBUG_MODE=coverage;
|
||||
phpunit --configuration tests/phpunit-addons.xml --coverage-clover clover.xml;
|
||||
else
|
||||
phpunit --configuration tests/phpunit-addons.xml;
|
||||
fi
|
||||
codecov:
|
||||
image: friendicaci/codecov
|
||||
when:
|
||||
matrix:
|
||||
PHP_MAJOR_VERSION: 8.2
|
||||
PHP_VERSION: 8.2.16
|
||||
repo:
|
||||
- friendica/friendica-addons
|
||||
commands:
|
||||
- codecov -R '.' -Z -f 'clover.xml'
|
||||
secrets:
|
||||
- source: codecov-token
|
||||
target: codecov_token
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:latest
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
|
||||
MYSQL_DATABASE: "test"
|
||||
MYSQL_PASSWORD: "test"
|
||||
MYSQL_USER: "test"
|
||||
|
||||
memcached:
|
||||
image: memcached
|
||||
|
||||
redis:
|
||||
image: redis
|
|
@ -1,108 +0,0 @@
|
|||
# This prevents executing this pipeline at other servers than ci.friendi.ca
|
||||
labels:
|
||||
location: friendica
|
||||
type: releaser
|
||||
|
||||
skip_clone: true
|
||||
|
||||
pipeline:
|
||||
clone_friendica_base:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git config --global --add safe.directory $CI_WORKSPACE
|
||||
- git clone https://github.com/friendica/friendica.git .
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
clone_friendica_addon:
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git config --global user.email "no-reply@friendi.ca"
|
||||
- git config --global user.name "Friendica"
|
||||
- git clone $CI_REPO_CLONE_URL addon
|
||||
- cd addon/
|
||||
- git checkout $CI_COMMIT_BRANCH
|
||||
- git fetch origin $CI_COMMIT_REF
|
||||
- git merge $CI_COMMIT_SHA
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
restore_cache:
|
||||
image: meltwater/drone-cache:dev
|
||||
settings:
|
||||
backend: "filesystem"
|
||||
restore: true
|
||||
cache_key: "{{ .Repo.Name }}_php7.4_{{ arch }}_{{ os }}"
|
||||
archive_format: "gzip"
|
||||
mount:
|
||||
- '.composer'
|
||||
volumes:
|
||||
- /tmp/drone-cache:/tmp/cache
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
composer_install:
|
||||
image: friendicaci/php8.2:php8.2.16
|
||||
commands:
|
||||
- export COMPOSER_HOME=.composer
|
||||
- composer validate
|
||||
- composer install --no-dev --optimize-autoloader
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
volumes:
|
||||
- /etc/hosts:/etc/hosts
|
||||
create_artifacts:
|
||||
image: debian
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install bzip2
|
||||
- mkdir ./build
|
||||
- export VERSION="$(cat VERSION)"
|
||||
- export RELEASE="friendica-addons-$VERSION"
|
||||
- export ARTIFACT="$RELEASE.tar.gz"
|
||||
- tar
|
||||
--exclude='.tx'
|
||||
--exclude='.git'
|
||||
--exclude='.editorconfig'
|
||||
--exclude='.gitattributes'
|
||||
--exclude='.gitignore'
|
||||
--exclude='.woodpecker'
|
||||
--exclude='**/*/messages.po'
|
||||
-cvzf ./build/$ARTIFACT addon/
|
||||
- cd ./build
|
||||
- sha256sum "$ARTIFACT" > "$ARTIFACT.sum256"
|
||||
- chmod 664 ./*
|
||||
- ls -lh
|
||||
- cat "$ARTIFACT.sum256"
|
||||
- sha256sum "$ARTIFACT"
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
sign_artifacts:
|
||||
image: plugins/gpgsign
|
||||
settings:
|
||||
key:
|
||||
from_secret: gpg_key
|
||||
passphrase:
|
||||
from_secret: gpg_password
|
||||
files:
|
||||
- build/*
|
||||
exclude:
|
||||
- build/*.sum256
|
||||
detach_sign: true
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
||||
publish_artifacts:
|
||||
image: alpine
|
||||
commands:
|
||||
- cp -fr build/* /tmp/friendica_files/
|
||||
volumes:
|
||||
- files:/tmp/friendica_files
|
||||
when:
|
||||
repo: friendica/friendica-addons
|
||||
event: tag
|
10
README.md
10
README.md
|
@ -6,24 +6,22 @@ You can add these addons to the /addon directory of your Friendica installation
|
|||
|
||||
After uploading the addons to your server, you need to activate the desired addons in the Admin panel. Addons not activated have no effect on your node.
|
||||
|
||||
## Issues
|
||||
|
||||
Please report any issues you have with addons of Friendica from this repository in [the main issue tracker of the project](https://github.com/friendica/friendica/issues).
|
||||
You can find more addons in the [Friendica Addon listing](https://addons.friendi.ca) in cases the addon developers have choosen not to include them here.
|
||||
|
||||
## Connectors
|
||||
|
||||
Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/stable/doc/Connectors.md) for various other networks (e.g. Twitter, pump.io, Google+) that are needed for communication when the protocol is not supported by Friendica core (DFRN, OStatus and Diaspora).
|
||||
Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks (e.g. Twitter, pump.io, Google+) that are needed for communication when the protocol is not supported by Friendica core (DFRN, OStatus and Diaspora).
|
||||
|
||||
For communication with contacts in networks supporting those (e.g. GNU social, Diaspora and red#matrix) you just need to access the page configuration in the Admin panel and enable them. For networks where communication is only possible the API access to a remote account, you need to activate the fitting connectors.
|
||||
|
||||
## Development
|
||||
|
||||
The addon interface of Friendica is very flexible and powerful, so if you are missing functionality, your chances are high it may be added with an addon.
|
||||
See the [documentation](https://github.com/friendica/friendica/blob/stable/doc/Addons.md) for more information on the addon development.
|
||||
See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Addons.md) for more information on the addon development.
|
||||
|
||||
## Translation
|
||||
|
||||
Addons can be translated like any other part of Friendica.
|
||||
Translation for addons is done at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/).
|
||||
|
||||
Read more about the workflow in the [Friendica translation documentation](https://github.com/friendica/friendica/blob/stable/doc/translations.md#addon).
|
||||
Read more about the workflow in the [Friendica translation documentation](https://github.com/friendica/friendica/blob/master/doc/translations.md#addon).
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -36,17 +36,16 @@
|
|||
use Friendica\App;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Content\Text\Markdown;
|
||||
use Friendica\Core\Cache;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Model\Tag;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\Security\Login;
|
||||
use Friendica\Model\Term;
|
||||
use Friendica\Module\Login;
|
||||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
@ -55,67 +54,49 @@ use Symfony\Component\ExpressionLanguage;
|
|||
|
||||
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
|
||||
function advancedcontentfilter_install()
|
||||
function advancedcontentfilter_install(App $a)
|
||||
{
|
||||
Hook::register('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
Hook::register('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
|
||||
Hook::register('addon_settings' , __FILE__, 'advancedcontentfilter_addon_settings');
|
||||
|
||||
Hook::add('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
DBStructure::performUpdate();
|
||||
DBStructure::update($a->getBasePath(), false, true);
|
||||
|
||||
Logger::notice('installed advancedcontentfilter');
|
||||
Logger::log("installed advancedcontentfilter");
|
||||
}
|
||||
|
||||
function advancedcontentfilter_uninstall()
|
||||
{
|
||||
Hook::unregister('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition');
|
||||
Hook::unregister('prepare_body_content_filter', __FILE__, 'advancedcontentfilter_prepare_body_content_filter');
|
||||
Hook::unregister('addon_settings' , __FILE__, 'advancedcontentfilter_addon_settings');
|
||||
}
|
||||
|
||||
/*
|
||||
* Hooks
|
||||
*/
|
||||
|
||||
function advancedcontentfilter_dbstructure_definition(&$database)
|
||||
function advancedcontentfilter_dbstructure_definition(App $a, &$database)
|
||||
{
|
||||
$database['advancedcontentfilter_rules'] = [
|
||||
'comment' => 'Advancedcontentfilter addon rules',
|
||||
'fields' => [
|
||||
'id' => ['type' => 'int unsigned', 'not null' => '1', 'extra' => 'auto_increment', 'primary' => '1', 'comment' => 'Auto incremented rule id'],
|
||||
'uid' => ['type' => 'int unsigned', 'not null' => '1', 'comment' => 'Owner user id'],
|
||||
'name' => ['type' => 'varchar(255)', 'not null' => '1', 'comment' => 'Rule name'],
|
||||
'expression' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Expression text'],
|
||||
'serialized' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Serialized parsed expression'],
|
||||
'active' => ['type' => 'boolean' , 'not null' => '1', 'default' => '1', 'comment' => 'Whether the rule is active or not'],
|
||||
'created' => ['type' => 'datetime' , 'not null' => '1', 'default' => DBA::NULL_DATETIME, 'comment' => 'Creation date'],
|
||||
$database["advancedcontentfilter_rules"] = [
|
||||
"comment" => "Advancedcontentfilter addon rules",
|
||||
"fields" => [
|
||||
"id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented rule id"],
|
||||
"uid" => ["type" => "int unsigned", "not null" => "1", "comment" => "Owner user id"],
|
||||
"name" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Rule name"],
|
||||
"expression" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Expression text"],
|
||||
"serialized" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Serialized parsed expression"],
|
||||
"active" => ["type" => "boolean" , "not null" => "1", "default" => "1", "comment" => "Whether the rule is active or not"],
|
||||
"created" => ["type" => "datetime" , "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"],
|
||||
],
|
||||
'indexes' => [
|
||||
'PRIMARY' => ['id'],
|
||||
'uid_active' => ['uid', 'active'],
|
||||
"indexes" => [
|
||||
"PRIMARY" => ["id"],
|
||||
"uid_active" => ["uid", "active"],
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $item Prepared by either Model\Item::prepareBody or advancedcontentfilter_prepare_item_row
|
||||
* @return array
|
||||
*/
|
||||
function advancedcontentfilter_get_filter_fields(array $item)
|
||||
{
|
||||
$vars = [];
|
||||
|
||||
// Convert the language JSON text into a filterable format
|
||||
if (!empty($item['language']) && ($languages = json_decode($item['language'], true))) {
|
||||
foreach ($languages as $key => $value) {
|
||||
$vars['language_' . strtolower($key)] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($item as $key => $value) {
|
||||
$vars[str_replace('-', '_', $key)] = $value;
|
||||
}
|
||||
|
||||
ksort($vars);
|
||||
|
||||
return $vars;
|
||||
}
|
||||
|
||||
function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
|
||||
function advancedcontentfilter_prepare_body_content_filter(App $a, &$hook_data)
|
||||
{
|
||||
static $expressionLanguage;
|
||||
|
||||
|
@ -123,21 +104,22 @@ function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
|
|||
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
|
||||
}
|
||||
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
if (!local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$vars = advancedcontentfilter_get_filter_fields($hook_data['item']);
|
||||
$vars = [];
|
||||
foreach ($hook_data['item'] as $key => $value) {
|
||||
$vars[str_replace('-', '_', $key)] = $value;
|
||||
}
|
||||
|
||||
$rules = DI::cache()->get('rules_' . DI::userSession()->getLocalUserId());
|
||||
$rules = Cache::get('rules_' . local_user());
|
||||
if (!isset($rules)) {
|
||||
$rules = DBA::toArray(DBA::select(
|
||||
'advancedcontentfilter_rules',
|
||||
['name', 'expression', 'serialized'],
|
||||
['uid' => DI::userSession()->getLocalUserId(), 'active' => true]
|
||||
['uid' => local_user(), 'active' => true]
|
||||
));
|
||||
|
||||
DI::cache()->set('rules_' . DI::userSession()->getLocalUserId(), $rules);
|
||||
}
|
||||
|
||||
if ($rules) {
|
||||
|
@ -155,7 +137,7 @@ function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
|
|||
}
|
||||
|
||||
if ($found) {
|
||||
$hook_data['filter_reasons'][] = DI::l10n()->t('Filtered by rule: %s', $rule['name']);
|
||||
$hook_data['filter_reasons'][] = L10n::t('Filtered by rule: %s', $rule['name']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -163,34 +145,31 @@ function advancedcontentfilter_prepare_body_content_filter(&$hook_data)
|
|||
}
|
||||
|
||||
|
||||
function advancedcontentfilter_addon_settings(array &$data)
|
||||
function advancedcontentfilter_addon_settings(App $a, &$s)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
if (!local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$data = [
|
||||
'addon' => 'advancedcontentfilter',
|
||||
'title' => DI::l10n()->t('Advanced Content Filter'),
|
||||
'href' => 'advancedcontentfilter',
|
||||
];
|
||||
$advancedcontentfilter = L10n::t('Advanced Content Filter');
|
||||
|
||||
$s .= <<<HTML
|
||||
<span class="settings-block fakelink" style="display: block;"><h3><a href="advancedcontentfilter">$advancedcontentfilter <i class="glyphicon glyphicon-share"></i></a></h3></span>
|
||||
HTML;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Module
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is a statement rather than an actual function definition. The simple
|
||||
* existence of this method is checked to figure out if the addon offers a
|
||||
* module.
|
||||
*/
|
||||
function advancedcontentfilter_module() {}
|
||||
|
||||
function advancedcontentfilter_init()
|
||||
function advancedcontentfilter_init(App $a)
|
||||
{
|
||||
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'api') {
|
||||
$slim = \Slim\Factory\AppFactory::create();
|
||||
if ($a->argc > 1 && $a->argv[1] == 'api') {
|
||||
$slim = new \Slim\App();
|
||||
|
||||
require __DIR__ . '/src/middlewares.php';
|
||||
|
||||
|
@ -201,16 +180,14 @@ function advancedcontentfilter_init()
|
|||
}
|
||||
}
|
||||
|
||||
function advancedcontentfilter_content()
|
||||
function advancedcontentfilter_content(App $a)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return Login::form('/' . implode('/', DI::args()->getArgv()));
|
||||
if (!local_user()) {
|
||||
return Login::form('/' . implode('/', $a->argv));
|
||||
}
|
||||
|
||||
if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'help') {
|
||||
$user = User::getById(DI::userSession()->getLocalUserId());
|
||||
|
||||
$lang = $user['language'];
|
||||
if ($a->argc > 1 && $a->argv[1] == 'help') {
|
||||
$lang = $a->user['language'];
|
||||
|
||||
$default_dir = 'addon/advancedcontentfilter/doc/';
|
||||
$help_file = 'advancedcontentfilter.md';
|
||||
|
@ -230,30 +207,30 @@ function advancedcontentfilter_content()
|
|||
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/advancedcontentfilter/');
|
||||
return Renderer::replaceMacros($t, [
|
||||
'$messages' => [
|
||||
'backtosettings' => DI::l10n()->t('Back to Addon Settings'),
|
||||
'title' => DI::l10n()->t('Advanced Content Filter'),
|
||||
'add_a_rule' => DI::l10n()->t('Add a Rule'),
|
||||
'help' => DI::l10n()->t('Help'),
|
||||
'intro' => DI::l10n()->t('Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'),
|
||||
'your_rules' => DI::l10n()->t('Your rules'),
|
||||
'no_rules' => DI::l10n()->t('You have no rules yet! Start adding one by clicking on the button above next to the title.'),
|
||||
'disabled' => DI::l10n()->t('Disabled'),
|
||||
'enabled' => DI::l10n()->t('Enabled'),
|
||||
'disable_this_rule' => DI::l10n()->t('Disable this rule'),
|
||||
'enable_this_rule' => DI::l10n()->t('Enable this rule'),
|
||||
'edit_this_rule' => DI::l10n()->t('Edit this rule'),
|
||||
'edit_the_rule' => DI::l10n()->t('Edit the rule'),
|
||||
'save_this_rule' => DI::l10n()->t('Save this rule'),
|
||||
'delete_this_rule' => DI::l10n()->t('Delete this rule'),
|
||||
'rule' => DI::l10n()->t('Rule'),
|
||||
'close' => DI::l10n()->t('Close'),
|
||||
'addtitle' => DI::l10n()->t('Add new rule'),
|
||||
'rule_name' => DI::l10n()->t('Rule Name'),
|
||||
'rule_expression' => DI::l10n()->t('Rule Expression'),
|
||||
'cancel' => DI::l10n()->t('Cancel'),
|
||||
'backtosettings' => L10n::t('Back to Addon Settings'),
|
||||
'title' => L10n::t('Advanced Content Filter'),
|
||||
'add_a_rule' => L10n::t('Add a Rule'),
|
||||
'help' => L10n::t('Help'),
|
||||
'intro' => L10n::t('Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'),
|
||||
'your_rules' => L10n::t('Your rules'),
|
||||
'no_rules' => L10n::t('You have no rules yet! Start adding one by clicking on the button above next to the title.'),
|
||||
'disabled' => L10n::t('Disabled'),
|
||||
'enabled' => L10n::t('Enabled'),
|
||||
'disable_this_rule' => L10n::t('Disable this rule'),
|
||||
'enable_this_rule' => L10n::t('Enable this rule'),
|
||||
'edit_this_rule' => L10n::t('Edit this rule'),
|
||||
'edit_the_rule' => L10n::t('Edit the rule'),
|
||||
'save_this_rule' => L10n::t('Save this rule'),
|
||||
'delete_this_rule' => L10n::t('Delete this rule'),
|
||||
'rule' => L10n::t('Rule'),
|
||||
'close' => L10n::t('Close'),
|
||||
'addtitle' => L10n::t('Add new rule'),
|
||||
'rule_name' => L10n::t('Rule Name'),
|
||||
'rule_expression' => L10n::t('Rule Expression'),
|
||||
'cancel' => L10n::t('Cancel'),
|
||||
],
|
||||
'$current_theme' => DI::app()->getCurrentTheme(),
|
||||
'$rules' => DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()])),
|
||||
'$current_theme' => $a->getCurrentTheme(),
|
||||
'$rules' => advancedcontentfilter_get_rules(),
|
||||
'$form_security_token' => BaseModule::getFormSecurityToken()
|
||||
]);
|
||||
}
|
||||
|
@ -271,20 +248,29 @@ function advancedcontentfilter_build_fields($data)
|
|||
}
|
||||
|
||||
if (!empty($data['expression'])) {
|
||||
// Using a dummy item to validate the field existence
|
||||
$condition = ["(`uid` = ? OR `uid` = 0)", DI::userSession()->getLocalUserId()];
|
||||
$params = ['order' => ['uid' => true]];
|
||||
$item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
|
||||
|
||||
if (!DBA::isResult($item_row)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('This addon requires this node having at least one post'));
|
||||
}
|
||||
$allowed_keys = [
|
||||
'author_id', 'author_link', 'author_name', 'author_avatar',
|
||||
'owner_id', 'owner_link', 'owner_name', 'owner_avatar',
|
||||
'contact_id', 'uid', 'id', 'parent', 'uri',
|
||||
'thr_parent', 'parent_uri',
|
||||
'content_warning',
|
||||
'commented', 'created', 'edited', 'received',
|
||||
'verb', 'object_type', 'postopts', 'plink', 'guid', 'wall', 'private', 'starred',
|
||||
'title', 'body',
|
||||
'file', 'event_id', 'location', 'coord', 'app', 'attach',
|
||||
'rendered_hash', 'rendered_html', 'object',
|
||||
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
|
||||
'item_id', 'item_network', 'author_thumb', 'owner_thumb',
|
||||
'network', 'url', 'name', 'writable', 'self',
|
||||
'cid', 'alias',
|
||||
'event_created', 'event_edited', 'event_start', 'event_finish', 'event_summary',
|
||||
'event_desc', 'event_location', 'event_type', 'event_nofinish', 'event_adjust', 'event_ignore',
|
||||
'children', 'pagedrop', 'tags', 'hashtags', 'mentions',
|
||||
];
|
||||
|
||||
$expressionLanguage = new ExpressionLanguage\ExpressionLanguage();
|
||||
$parsedExpression = $expressionLanguage->parse(
|
||||
$data['expression'],
|
||||
array_keys(advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row)))
|
||||
);
|
||||
|
||||
$parsedExpression = $expressionLanguage->parse($data['expression'], $allowed_keys);
|
||||
|
||||
$serialized = serialize($parsedExpression->getNodes());
|
||||
|
||||
|
@ -305,38 +291,36 @@ function advancedcontentfilter_build_fields($data)
|
|||
* API
|
||||
*/
|
||||
|
||||
function advancedcontentfilter_get_rules(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
|
||||
function advancedcontentfilter_get_rules()
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
$rules = DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => DI::userSession()->getLocalUserId()]));
|
||||
$rules = DBA::toArray(DBA::select('advancedcontentfilter_rules', [], ['uid' => local_user()]));
|
||||
|
||||
$response->getBody()->write(json_encode($rules));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
return json_encode($rules);
|
||||
}
|
||||
|
||||
function advancedcontentfilter_get_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()]);
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => $args['id'], 'uid' => local_user()]);
|
||||
|
||||
$response->getBody()->write(json_encode($rule));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
return json_encode($rule);
|
||||
}
|
||||
|
||||
function advancedcontentfilter_post_rules(ServerRequestInterface $request, ResponseInterface $response)
|
||||
function advancedcontentfilter_post_rules(ServerRequestInterface $request)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!BaseModule::checkFormSecurityToken()) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
throw new HTTPException\BadRequestException(L10n::t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
$data = json_decode($request->getBody(), true);
|
||||
|
@ -344,40 +328,37 @@ function advancedcontentfilter_post_rules(ServerRequestInterface $request, Respo
|
|||
try {
|
||||
$fields = advancedcontentfilter_build_fields($data);
|
||||
} catch (Exception $e) {
|
||||
throw new HTTPException\BadRequestException($e->getMessage(), $e);
|
||||
throw new HTTPException\BadRequestException($e->getMessage(), 0, $e);
|
||||
}
|
||||
|
||||
if (empty($fields['name']) || empty($fields['expression'])) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('The rule name and expression are required.'));
|
||||
throw new HTTPException\BadRequestException(L10n::t('The rule name and expression are required.'));
|
||||
}
|
||||
|
||||
$fields['uid'] = DI::userSession()->getLocalUserId();
|
||||
$fields['uid'] = local_user();
|
||||
$fields['created'] = DateTimeFormat::utcNow();
|
||||
|
||||
if (!DBA::insert('advancedcontentfilter_rules', $fields)) {
|
||||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
throw new HTTPException\ServiceUnavaiableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
$rule = DBA::selectFirst('advancedcontentfilter_rules', [], ['id' => DBA::lastInsertId()]);
|
||||
|
||||
DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
|
||||
|
||||
$response->getBody()->write(json_encode(['message' => DI::l10n()->t('Rule successfully added'), 'rule' => $rule]));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
return json_encode(['message' => L10n::t('Rule successfully added'), 'rule' => $rule]);
|
||||
}
|
||||
|
||||
function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!BaseModule::checkFormSecurityToken()) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
throw new HTTPException\BadRequestException(L10n::t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()])) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => local_user()])) {
|
||||
throw new HTTPException\NotFoundException(L10n::t('Rule doesn\'t exist or doesn\'t belong to you.'));
|
||||
}
|
||||
|
||||
$data = json_decode($request->getBody(), true);
|
||||
|
@ -385,83 +366,65 @@ function advancedcontentfilter_put_rules_id(ServerRequestInterface $request, Res
|
|||
try {
|
||||
$fields = advancedcontentfilter_build_fields($data);
|
||||
} catch (Exception $e) {
|
||||
throw new HTTPException\BadRequestException($e->getMessage(), $e);
|
||||
throw new HTTPException\BadRequestException($e->getMessage(), 0, $e);
|
||||
}
|
||||
|
||||
if (!DBA::update('advancedcontentfilter_rules', $fields, ['id' => $args['id']])) {
|
||||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
throw new HTTPException\ServiceUnavaiableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
|
||||
|
||||
$response->getBody()->write(json_encode(['message' => DI::l10n()->t('Rule successfully updated')]));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
return json_encode(['message' => L10n::t('Rule successfully updated')]);
|
||||
}
|
||||
|
||||
function advancedcontentfilter_delete_rules_id(ServerRequestInterface $request, ResponseInterface $response, $args)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!BaseModule::checkFormSecurityToken()) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Invalid form security token, please refresh the page.'));
|
||||
throw new HTTPException\BadRequestException(L10n::t('Invalid form security token, please refresh the page.'));
|
||||
}
|
||||
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => DI::userSession()->getLocalUserId()])) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Rule doesn\'t exist or doesn\'t belong to you.'));
|
||||
if (!DBA::exists('advancedcontentfilter_rules', ['id' => $args['id'], 'uid' => local_user()])) {
|
||||
throw new HTTPException\NotFoundException(L10n::t('Rule doesn\'t exist or doesn\'t belong to you.'));
|
||||
}
|
||||
|
||||
if (!DBA::delete('advancedcontentfilter_rules', ['id' => $args['id']])) {
|
||||
throw new HTTPException\ServiceUnavailableException(DBA::errorMessage());
|
||||
throw new HTTPException\ServiceUnavaiableException(DBA::errorMessage());
|
||||
}
|
||||
|
||||
DI::cache()->delete('rules_' . DI::userSession()->getLocalUserId());
|
||||
|
||||
$response->getBody()->write(json_encode(['message' => DI::l10n()->t('Rule successfully deleted')]));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
return json_encode(['message' => L10n::t('Rule successfully deleted')]);
|
||||
}
|
||||
|
||||
function advancedcontentfilter_get_variables_guid(ServerRequestInterface $request, ResponseInterface $response, $args)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
throw new HTTPException\UnauthorizedException(DI::l10n()->t('You must be logged in to use this method'));
|
||||
if (!local_user()) {
|
||||
throw new HTTPException\UnauthorizedException(L10n::t('You must be logged in to use this method'));
|
||||
}
|
||||
|
||||
if (!isset($args['guid'])) {
|
||||
throw new HTTPException\BadRequestException(DI::l10n()->t('Missing argument: guid.'));
|
||||
throw new HTTPException\BadRequestException(L10n::t('Missing argument: guid.'));
|
||||
}
|
||||
|
||||
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], DI::userSession()->getLocalUserId()];
|
||||
$condition = ["`guid` = ? AND (`uid` = ? OR `uid` = 0)", $args['guid'], local_user()];
|
||||
$params = ['order' => ['uid' => true]];
|
||||
$item_row = Post::selectFirstForUser(DI::userSession()->getLocalUserId(), [], $condition, $params);
|
||||
$item = Item::selectFirstForUser(local_user(), [], $condition, $params);
|
||||
|
||||
if (!DBA::isResult($item_row)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('Unknown post with guid: %s', $args['guid']));
|
||||
if (!DBA::isResult($item)) {
|
||||
throw new HTTPException\NotFoundException(L10n::t('Unknown post with guid: %s', $args['guid']));
|
||||
}
|
||||
|
||||
$return = advancedcontentfilter_get_filter_fields(advancedcontentfilter_prepare_item_row($item_row));
|
||||
$tags = Term::populateTagsFromItem($item);
|
||||
|
||||
$response->getBody()->write(json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]));
|
||||
return $response->withHeader('Content-Type', 'application/json');
|
||||
}
|
||||
|
||||
/**
|
||||
* This mimimcs the processing performed in Model\Item::prepareBody
|
||||
*
|
||||
* @param array $item_row
|
||||
* @return array
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws ImagickException
|
||||
*/
|
||||
function advancedcontentfilter_prepare_item_row(array $item_row): array
|
||||
{
|
||||
$tags = Tag::populateFromItem($item_row);
|
||||
|
||||
$item_row['tags'] = $tags['tags'];
|
||||
$item_row['hashtags'] = $tags['hashtags'];
|
||||
$item_row['mentions'] = $tags['mentions'];
|
||||
$item_row['attachments'] = DI::postMediaRepository()->splitAttachments($item_row['uri-id']);
|
||||
|
||||
return $item_row;
|
||||
$item['tags'] = $tags['tags'];
|
||||
$item['hashtags'] = $tags['hashtags'];
|
||||
$item['mentions'] = $tags['mentions'];
|
||||
|
||||
$return = [];
|
||||
foreach ($item as $key => $value) {
|
||||
$return[str_replace('-', '_', $key)] = $value;
|
||||
}
|
||||
|
||||
return json_encode(['variables' => str_replace('\\\'', '\'', var_export($return, true))]);
|
||||
}
|
||||
|
|
11894
advancedcontentfilter/asset/vue/dist/vue.js
vendored
11894
advancedcontentfilter/asset/vue/dist/vue.js
vendored
File diff suppressed because it is too large
Load diff
11
advancedcontentfilter/asset/vue/dist/vue.min.js
vendored
11
advancedcontentfilter/asset/vue/dist/vue.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,27 +1,25 @@
|
|||
{
|
||||
"name": "friendica-addons/advancedcontentfilter",
|
||||
"description": "Advanced Content Filter addon for Friendica",
|
||||
"type": "friendica-addon",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Hypolite Petovan",
|
||||
"email": "hypolite@mrpetovan.com",
|
||||
"homepage": "https://friendica.mrpetovan.com/profile/hypolite",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"slim/slim": "^4",
|
||||
"symfony/expression-language": "^3.4"
|
||||
},
|
||||
"license": "3-clause BSD license",
|
||||
"minimum-stability": "stable",
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.4"
|
||||
},
|
||||
"optimize-autoloader": true,
|
||||
"autoloader-suffix": "AdvancedContentFilterAddon",
|
||||
"preferred-install": "dist"
|
||||
}
|
||||
"name": "friendica-addons/advancedcontentfilter",
|
||||
"description": "Advanced Content Filter addon for Friendica",
|
||||
"type": "friendica-addon",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Hypolite Petovan",
|
||||
"email": "hypolite@mrpetovan.com",
|
||||
"homepage": "https://friendica.mrpetovan.com/profile/hypolite",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.6.0",
|
||||
"slim/slim": "^3.1",
|
||||
"symfony/expression-language": "^3.4"
|
||||
},
|
||||
"license": "3-clause BSD license",
|
||||
"minimum-stability": "stable",
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
"autoloader-suffix": "AdvancedContentFilterAddon",
|
||||
"preferred-install": "dist"
|
||||
}
|
||||
}
|
||||
|
|
1021
advancedcontentfilter/composer.lock
generated
1021
advancedcontentfilter/composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -34,14 +34,6 @@ If the expression using a post variables returns `true`, the post will be collap
|
|||
|
||||
A post will be collapsed if at least one rule matches, but all matching rule names will be displayed above the collapsed content.
|
||||
|
||||
## Examples
|
||||
|
||||
1. Collapse posts with specific domains `body matches "/\\.example\\.com/"`
|
||||
2. Collapse posts that contains the words `body matches "/Guten Morgen/"`
|
||||
3. Collapse posts with the word facebook that have a space in front and after the word `body matches "//s facebook/s /"`
|
||||
4. Collapse posts that contains more than 1 image `body matches "/(?:(?:(?:\\[url(?:=.*)?\\])?\\[img(?:=.*)?\\].*\\[\\/img\\]\\s*(?:\\[\\/url\\])?)\\s*){2}/"`
|
||||
|
||||
|
||||
## Expression Syntax
|
||||
|
||||
### Supported Literals
|
||||
|
@ -330,7 +322,7 @@ You can also retrieve the variables of a specific post by pasting its URL below
|
|||
<th>rendered_html</th>
|
||||
<td>string</td>
|
||||
<td>
|
||||
Over-compensation #<a href="https://friendica.mrpetovan.com/search?tag=Street" class="tag" title="Street">Street</a> #<a href="https://friendica.mrpetovan.com/search?tag=Night" class="tag" title="Night">Night</a> #<a href="https://friendica.mrpetovan.com/search?tag=CarLights" class="tag" title="CarLights">CarLights</a> #<a href="https://friendica.mrpetovan.com/search?tag=Jeep" class="tag" title="Jeep">Jeep</a> #<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" class="tag" title="NoPeople">NoPeople</a> #<a href="https://friendica.mrpetovan.com/search?tag=Close" class="tag" title="Close">Close</a>-up <div class="type-link"><a href="https://www.eyeem.com/p/120800309" target="_blank" rel="noopener noreferrer"><img src="https://friendica.mrpetovan.com/proxy/bb/aHR0cHM6Ly9jZG4uZXllZW0uY29tL3RodW1iL2IyZjAxOTczOGNiZWVmMDZlMmY4Yzk1MTdjNjI4NmE4YWRjZDNhMDAtMTUyMjE4NDgyMDY0MS82NDAvNDgw" alt="" title="Over-compensation Street Night Car Lights Jeep No | EyeEm" class="attachment-image"></a><br><h4><a href="https://www.eyeem.com/p/120800309">Over-compensation Street Night Car Lights Jeep No | EyeEm</a></h4><blockquote>Photo by @<a href="https://twitter.com/MrPetovan" class="userinfo mention" title="MrPetovan">MrPetovan</a></blockquote><sup><a href="https://www.eyeem.com/p/120800309">www.eyeem.com</a></sup></div>
|
||||
Over-compensation #<a href="https://friendica.mrpetovan.com/search?tag=Street" class="tag" title="Street">Street</a> #<a href="https://friendica.mrpetovan.com/search?tag=Night" class="tag" title="Night">Night</a> #<a href="https://friendica.mrpetovan.com/search?tag=CarLights" class="tag" title="CarLights">CarLights</a> #<a href="https://friendica.mrpetovan.com/search?tag=Jeep" class="tag" title="Jeep">Jeep</a> #<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" class="tag" title="NoPeople">NoPeople</a> #<a href="https://friendica.mrpetovan.com/search?tag=Close" class="tag" title="Close">Close</a>-up <div class="type-link"><a href="https://www.eyeem.com/p/120800309" target="_blank"><img src="https://friendica.mrpetovan.com/proxy/bb/aHR0cHM6Ly9jZG4uZXllZW0uY29tL3RodW1iL2IyZjAxOTczOGNiZWVmMDZlMmY4Yzk1MTdjNjI4NmE4YWRjZDNhMDAtMTUyMjE4NDgyMDY0MS82NDAvNDgw" alt="" title="Over-compensation Street Night Car Lights Jeep No | EyeEm" class="attachment-image"></a><br><h4><a href="https://www.eyeem.com/p/120800309">Over-compensation Street Night Car Lights Jeep No | EyeEm</a></h4><blockquote>Photo by @<a href="https://twitter.com/MrPetovan" class="userinfo mention" title="MrPetovan">MrPetovan</a></blockquote><sup><a href="https://www.eyeem.com/p/120800309">www.eyeem.com</a></sup></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -458,6 +450,11 @@ You can also retrieve the variables of a specific post by pasting its URL below
|
|||
<td>string</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_adjust</th>
|
||||
<td>boolean</td>
|
||||
<td>null</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>event_ignore</th>
|
||||
<td>boolean</td>
|
||||
|
@ -473,14 +470,14 @@ You can also retrieve the variables of a specific post by pasting its URL below
|
|||
<td>list</td>
|
||||
<td>
|
||||
<ol start="0">
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank" rel="noopener noreferrer">street</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank" rel="noopener noreferrer">night</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank" rel="noopener noreferrer">carlights</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank" rel="noopener noreferrer">jeep</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank" rel="noopener noreferrer">nopeople</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank" rel="noopener noreferrer">close</a></li>
|
||||
<li>@<a href="https://twitter.com/MrPetovan" target="_blank" rel="noopener noreferrer">mrpetovan</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank" rel="noopener noreferrer">close-up</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank">street</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank">night</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank">carlights</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank">jeep</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank">nopeople</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank">close</a></li>
|
||||
<li>@<a href="https://twitter.com/MrPetovan" target="_blank">mrpetovan</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank">close-up</a></li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -489,13 +486,13 @@ You can also retrieve the variables of a specific post by pasting its URL below
|
|||
<td>list</td>
|
||||
<td>
|
||||
<ol start="0">
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank" rel="noopener noreferrer">street</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank" rel="noopener noreferrer">night</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank" rel="noopener noreferrer">carlights</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank" rel="noopener noreferrer">jeep</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank" rel="noopener noreferrer">nopeople</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank" rel="noopener noreferrer">close</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank" rel="noopener noreferrer">close-up</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Street" target="_blank">street</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Night" target="_blank">night</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=CarLights" target="_blank">carlights</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Jeep" target="_blank">jeep</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=NoPeople" target="_blank">nopeople</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close" target="_blank">close</a></li>
|
||||
<li>#<a href="https://friendica.mrpetovan.com/search?tag=Close-up" target="_blank">close-up</a></li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -504,9 +501,9 @@ You can also retrieve the variables of a specific post by pasting its URL below
|
|||
<td>string</td>
|
||||
<td>
|
||||
<ol start="0">
|
||||
<li>@<a href="https://twitter.com/MrPetovan" target="_blank" rel="noopener noreferrer">mrpetovan</a></li>
|
||||
<li>@<a href="https://twitter.com/MrPetovan" target="_blank">mrpetovan</a></li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</table>
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,145 +17,147 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have "
|
||||
"a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next "
|
||||
"to the title."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/"
|
||||
"profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/middlewares.php:49
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,166 +0,0 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Farida Khalaf <faridakhalaf@hotmail.com>, 2021
|
||||
# abidin toumi <abidin24@tutanota.com>, 2021
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-07-25 13:15+0000\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: abidin toumi <abidin24@tutanota.com>, 2021\n"
|
||||
"Language-Team: Arabic (https://www.transifex.com/Friendica/teams/12172/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: advancedcontentfilter.php:153
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "رشّح حسب القاعدة: %s"
|
||||
|
||||
#: advancedcontentfilter.php:167 advancedcontentfilter.php:224
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "ترشيح المحتوى المتقدم"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "الرجوع إلى إعدادات الإضافات"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
msgid "Add a Rule"
|
||||
msgstr "أضف قاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Help"
|
||||
msgstr "مساعدة"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"إضافة وإدارة قواعد ترشيح المحتوى الشخصية هنا.\n"
|
||||
" القواعد لها اسم وتعبير سيتم مطابقته مع بيانات المشاركة. للحصول على مرجع كامل للعمليات والمتغيرات المتاحة ، راجع صفحة المساعدة."
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid "Your rules"
|
||||
msgstr "القواعد"
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"لا يوجد قواعد!\n"
|
||||
"أضف واحدة من خلال النقر على الزر أعلاه بجوار العنوان."
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid "Disabled"
|
||||
msgstr "معطل"
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Enabled"
|
||||
msgstr "مفعل"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Disable this rule"
|
||||
msgstr "عطّل القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Enable this rule"
|
||||
msgstr "فعّل القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Edit this rule"
|
||||
msgstr "عدّل هذه القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit the rule"
|
||||
msgstr "عدّل القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Save this rule"
|
||||
msgstr "احفظ هذه القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Delete this rule"
|
||||
msgstr "احذف هذه القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Rule"
|
||||
msgstr "القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Close"
|
||||
msgstr "اغلق"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Add new rule"
|
||||
msgstr "أضف قاعدة جديدة"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Rule Name"
|
||||
msgstr "اسم القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Expression"
|
||||
msgstr "تعبير القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Cancel"
|
||||
msgstr "الغ"
|
||||
|
||||
#: advancedcontentfilter.php:310 advancedcontentfilter.php:321
|
||||
#: advancedcontentfilter.php:332 advancedcontentfilter.php:366
|
||||
#: advancedcontentfilter.php:395 advancedcontentfilter.php:416
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "عليك الولوج لاستخدام هذه الطريقة"
|
||||
|
||||
#: advancedcontentfilter.php:336 advancedcontentfilter.php:370
|
||||
#: advancedcontentfilter.php:399
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "رمز أمان النموذج غير صالح ، يرجى تحديث الصفحة."
|
||||
|
||||
#: advancedcontentfilter.php:348
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "يلزم اسم وتعبير للقاعدة."
|
||||
|
||||
#: advancedcontentfilter.php:360
|
||||
msgid "Rule successfully added"
|
||||
msgstr "نجحت إضافة القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:374 advancedcontentfilter.php:403
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "القاعدة غير موجودة أو لا تنتمي إليك."
|
||||
|
||||
#: advancedcontentfilter.php:389
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "نجح تحديث القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:410
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "نجح حذف القاعدة"
|
||||
|
||||
#: advancedcontentfilter.php:420
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "معامل ناقص: دليل."
|
||||
|
||||
#: advancedcontentfilter.php:428
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "مشاركة غير معروفة ذات الدليل: 1%s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "لم يُعثر على التطبيق"
|
|
@ -1,41 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ar")) {
|
||||
function string_plural_select_ar($n){
|
||||
$n = intval($n);
|
||||
if ($n==0) { return 0; } else if ($n==1) { return 1; } else if ($n==2) { return 2; } else if ($n%100>=3 && $n%100<=10) { return 3; } else if ($n%100>=11 && $n%100<=99) { return 4; } else { return 5; }
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'رشّح حسب القاعدة: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'ترشيح المحتوى المتقدم';
|
||||
$a->strings['Back to Addon Settings'] = 'الرجوع إلى إعدادات الإضافات';
|
||||
$a->strings['Add a Rule'] = 'أضف قاعدة';
|
||||
$a->strings['Help'] = 'مساعدة';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'إضافة وإدارة قواعد ترشيح المحتوى الشخصية هنا.
|
||||
القواعد لها اسم وتعبير سيتم مطابقته مع بيانات المشاركة. للحصول على مرجع كامل للعمليات والمتغيرات المتاحة ، راجع صفحة المساعدة.';
|
||||
$a->strings['Your rules'] = 'القواعد';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'لا يوجد قواعد!
|
||||
أضف واحدة من خلال النقر على الزر أعلاه بجوار العنوان.';
|
||||
$a->strings['Disabled'] = 'معطل';
|
||||
$a->strings['Enabled'] = 'مفعل';
|
||||
$a->strings['Disable this rule'] = 'عطّل القاعدة';
|
||||
$a->strings['Enable this rule'] = 'فعّل القاعدة';
|
||||
$a->strings['Edit this rule'] = 'عدّل هذه القاعدة';
|
||||
$a->strings['Edit the rule'] = 'عدّل القاعدة';
|
||||
$a->strings['Save this rule'] = 'احفظ هذه القاعدة';
|
||||
$a->strings['Delete this rule'] = 'احذف هذه القاعدة';
|
||||
$a->strings['Rule'] = 'القاعدة';
|
||||
$a->strings['Close'] = 'اغلق';
|
||||
$a->strings['Add new rule'] = 'أضف قاعدة جديدة';
|
||||
$a->strings['Rule Name'] = 'اسم القاعدة';
|
||||
$a->strings['Rule Expression'] = 'تعبير القاعدة';
|
||||
$a->strings['Cancel'] = 'الغ';
|
||||
$a->strings['You must be logged in to use this method'] = 'عليك الولوج لاستخدام هذه الطريقة';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'رمز أمان النموذج غير صالح ، يرجى تحديث الصفحة.';
|
||||
$a->strings['The rule name and expression are required.'] = 'يلزم اسم وتعبير للقاعدة.';
|
||||
$a->strings['Rule successfully added'] = 'نجحت إضافة القاعدة';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'القاعدة غير موجودة أو لا تنتمي إليك.';
|
||||
$a->strings['Rule successfully updated'] = 'نجح تحديث القاعدة';
|
||||
$a->strings['Rule successfully deleted'] = 'نجح حذف القاعدة';
|
||||
$a->strings['Missing argument: guid.'] = 'معامل ناقص: دليل.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'مشاركة غير معروفة ذات الدليل: 1%s';
|
||||
$a->strings['Method not found'] = 'لم يُعثر على التطبيق';
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_ca")) {
|
||||
function string_plural_select_ca($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrat per regla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Contingut avançat Filtre';
|
||||
$a->strings['Back to Addon Settings'] = 'Torna Addon Configuració';
|
||||
$a->strings['Add a Rule'] = 'Afegiu una regla';
|
||||
$a->strings['Help'] = 'Ajuda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Afegiu i gestioneu les vostres regles de filtre de contingut personal en aquesta pantalla. Les regles tenen un nom i una expressió arbitrària que es combinen amb les dades de la publicació. Per obtenir una referència completa de les variables i operacions disponibles, comproveu el botó <a href="advancedcontentfilter/help">pàgina d’ajuda</a>.';
|
||||
$a->strings['Your rules'] = 'Les seves normes';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Encara no teniu normes. Comenceu a afegir-ne un fent clic al botó situat al costat del títol.';
|
||||
$a->strings['Disabled'] = 'Desactivat';
|
||||
$a->strings['Enabled'] = 'Permetre';
|
||||
$a->strings['Disable this rule'] = 'Desactiva aquesta regla';
|
||||
$a->strings['Enable this rule'] = 'Activa aquesta regla';
|
||||
$a->strings['Edit this rule'] = 'Edita aquesta regla';
|
||||
$a->strings['Edit the rule'] = 'Edita la regla';
|
||||
$a->strings['Save this rule'] = 'Deseu aquesta regla';
|
||||
$a->strings['Delete this rule'] = 'Suprimeix aquesta regla';
|
||||
$a->strings['Rule'] = 'Regla';
|
||||
$a->strings['Close'] = 'Tancar';
|
||||
$a->strings['Add new rule'] = 'Add nova regla';
|
||||
$a->strings['Rule Name'] = 'Nom de la regla';
|
||||
$a->strings['Rule Expression'] = 'Expressió de regla';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Exemples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = 'cancel·lar';
|
||||
$a->strings['You must be logged in to use this method'] = 'Per utilitzar aquest mètode, heu d’iniciar sessió';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'El testimoni de seguretat del formulari no és vàlid. Actualitza la pàgina';
|
||||
$a->strings['The rule name and expression are required.'] = 'El nom i l’expressió de la regla són obligatoris';
|
||||
$a->strings['Rule successfully added'] = 'La regla s\'ha afegit correctament';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existeix o no us pertany.';
|
||||
$a->strings['Rule successfully updated'] = 'La regla s\'ha actualitzat correctament';
|
||||
$a->strings['Rule successfully deleted'] = 'S\'ha suprimit la regla correctament';
|
||||
$a->strings['Missing argument: guid.'] = 'Falta un argument: guia';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Publicació desconeguda amb guia: %s';
|
||||
$a->strings['Method not found'] = 'Mètode no trobat';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrat per regla: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Contingut avançat Filtre";
|
||||
$a->strings["Back to Addon Settings"] = "Torna Addon Configuració";
|
||||
$a->strings["Add a Rule"] = "Afegiu una regla";
|
||||
$a->strings["Help"] = "Ajuda";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Afegiu i gestioneu les vostres regles de filtre de contingut personal en aquesta pantalla. Les regles tenen un nom i una expressió arbitrària que es combinen amb les dades de la publicació. Per obtenir una referència completa de les variables i operacions disponibles, comproveu el botó <a href=\"advancedcontentfilter/help\">pàgina d’ajuda</a>.";
|
||||
$a->strings["Your rules"] = "Les seves normes";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Encara no teniu normes. Comenceu a afegir-ne un fent clic al botó situat al costat del títol.";
|
||||
$a->strings["Disabled"] = "Desactivat";
|
||||
$a->strings["Enabled"] = "Permetre";
|
||||
$a->strings["Disable this rule"] = "Desactiva aquesta regla";
|
||||
$a->strings["Enable this rule"] = "Activa aquesta regla";
|
||||
$a->strings["Edit this rule"] = "Edita aquesta regla";
|
||||
$a->strings["Edit the rule"] = "Edita la regla";
|
||||
$a->strings["Save this rule"] = "Deseu aquesta regla";
|
||||
$a->strings["Delete this rule"] = "Suprimeix aquesta regla";
|
||||
$a->strings["Rule"] = "Regla";
|
||||
$a->strings["Close"] = "Tancar";
|
||||
$a->strings["Add new rule"] = "Add nova regla";
|
||||
$a->strings["Rule Name"] = "Nom de la regla";
|
||||
$a->strings["Rule Expression"] = "Expressió de regla";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Exemples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>";
|
||||
$a->strings["Cancel"] = "cancel·lar";
|
||||
$a->strings["You must be logged in to use this method"] = "Per utilitzar aquest mètode, heu d’iniciar sessió";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "El testimoni de seguretat del formulari no és vàlid. Actualitza la pàgina";
|
||||
$a->strings["The rule name and expression are required."] = "El nom i l’expressió de la regla són obligatoris";
|
||||
$a->strings["Rule successfully added"] = "La regla s'ha afegit correctament";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regla no existeix o no us pertany.";
|
||||
$a->strings["Rule successfully updated"] = "La regla s'ha actualitzat correctament";
|
||||
$a->strings["Rule successfully deleted"] = "S'ha suprimit la regla correctament";
|
||||
$a->strings["Missing argument: guid."] = "Falta un argument: guia";
|
||||
$a->strings["Unknown post with guid: %s"] = "Publicació desconeguda amb guia: %s";
|
||||
$a->strings["Method not found"] = "Mètode no trobat";
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_cs")) {
|
||||
function string_plural_select_cs($n){
|
||||
$n = intval($n);
|
||||
if (($n == 1 && $n % 1 == 0)) { return 0; } else if (($n >= 2 && $n <= 4 && $n % 1 == 0)) { return 1; } else if (($n % 1 != 0 )) { return 2; } else { return 3; }
|
||||
return ($n == 1 && $n % 1 == 0) ? 0 : ($n >= 2 && $n <= 4 && $n % 1 == 0) ? 1: ($n % 1 != 0 ) ? 2 : 3;;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrováno podle pravidla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Rozšířený filtr obsahu';
|
||||
$a->strings['Back to Addon Settings'] = 'Zpět na nastavení doplňku';
|
||||
$a->strings['Add a Rule'] = 'Přidat pravidlo';
|
||||
$a->strings['Help'] = 'Nápověda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Přidávejte a spravujte Vaše osobní pravidla pro filtrování obsahu na této obrazovce. Pravidla mají název a libovolný výraz, který bude porovnán s daty příspěvku. Pro úplnou referenci dostupných operací a proměnných navštivte <a href="advancedcontentfilter/help">stránku nápovědy</a>.';
|
||||
$a->strings['Your rules'] = 'Vaše pravidla';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Ještě nemáte žádná pravidla! Přidejte první kliknutím na tlačítko nahoře vedle nadpisu.';
|
||||
$a->strings['Disabled'] = 'Zakázáno';
|
||||
$a->strings['Enabled'] = 'Povoleno';
|
||||
$a->strings['Disable this rule'] = 'Zakázat toto pravidlo';
|
||||
$a->strings['Enable this rule'] = 'Povolit toto pravidlo';
|
||||
$a->strings['Edit this rule'] = 'Upravit toto pravidlo';
|
||||
$a->strings['Edit the rule'] = 'Upravit pravidlo';
|
||||
$a->strings['Save this rule'] = 'Uložit toto pravidlo';
|
||||
$a->strings['Delete this rule'] = 'Smazat toto pravidlo';
|
||||
$a->strings['Rule'] = 'Pravidlo';
|
||||
$a->strings['Close'] = 'Zavřít';
|
||||
$a->strings['Add new rule'] = 'Přidat nové pravidlo';
|
||||
$a->strings['Rule Name'] = 'Název pravidla';
|
||||
$a->strings['Rule Expression'] = 'Výraz pravidla';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Příklady:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = 'Zrušit';
|
||||
$a->strings['You must be logged in to use this method'] = 'Pro použití této metody musíte být přihlášen/a';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Neplatná forma bezpečnostního tokenu, prosím obnovte stránku.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Je požadován název pravidla a výraz.';
|
||||
$a->strings['Rule successfully added'] = 'Pravidlo úspěšně přidáno';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Pravidlo buď neexistuje, nebo Vám nepatří.';
|
||||
$a->strings['Rule successfully updated'] = 'Pravidlo úspěšně aktualizováno';
|
||||
$a->strings['Rule successfully deleted'] = 'Pravidlo úspěšně smazáno';
|
||||
$a->strings['Missing argument: guid.'] = 'Chybí argument: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Neznámý pžíspěvek s číslem guid: %s';
|
||||
$a->strings['Method not found'] = 'Metoda nenalezena';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrováno podle pravidla: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Rozšířený filtr obsahu";
|
||||
$a->strings["Back to Addon Settings"] = "Zpět na nastavení doplňku";
|
||||
$a->strings["Add a Rule"] = "Přidat pravidlo";
|
||||
$a->strings["Help"] = "Nápověda";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Přidávejte a spravujte Vaše osobní pravidla pro filtrování obsahu na této obrazovce. Pravidla mají název a libovolný výraz, který bude porovnán s daty příspěvku. Pro úplnou referenci dostupných operací a proměnných navštivte <a href=\"advancedcontentfilter/help\">stránku nápovědy</a>.";
|
||||
$a->strings["Your rules"] = "Vaše pravidla";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Ještě nemáte žádná pravidla! Přidejte první kliknutím na tlačítko nahoře vedle nadpisu.";
|
||||
$a->strings["Disabled"] = "Zakázáno";
|
||||
$a->strings["Enabled"] = "Povoleno";
|
||||
$a->strings["Disable this rule"] = "Zakázat toto pravidlo";
|
||||
$a->strings["Enable this rule"] = "Povolit toto pravidlo";
|
||||
$a->strings["Edit this rule"] = "Upravit toto pravidlo";
|
||||
$a->strings["Edit the rule"] = "Upravit pravidlo";
|
||||
$a->strings["Save this rule"] = "Uložit toto pravidlo";
|
||||
$a->strings["Delete this rule"] = "Smazat toto pravidlo";
|
||||
$a->strings["Rule"] = "Pravidlo";
|
||||
$a->strings["Close"] = "Zavřít";
|
||||
$a->strings["Add new rule"] = "Přidat nové pravidlo";
|
||||
$a->strings["Rule Name"] = "Název pravidla";
|
||||
$a->strings["Rule Expression"] = "Výraz pravidla";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Příklady:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>";
|
||||
$a->strings["Cancel"] = "Zrušit";
|
||||
$a->strings["You must be logged in to use this method"] = "Pro použití této metody musíte být přihlášen/a";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Neplatná forma bezpečnostního tokenu, prosím obnovte stránku.";
|
||||
$a->strings["The rule name and expression are required."] = "Je požadován název pravidla a výraz.";
|
||||
$a->strings["Rule successfully added"] = "Pravidlo úspěšně přidáno";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Pravidlo buď neexistuje, nebo Vám nepatří.";
|
||||
$a->strings["Rule successfully updated"] = "Pravidlo úspěšně aktualizováno";
|
||||
$a->strings["Rule successfully deleted"] = "Pravidlo úspěšně smazáno";
|
||||
$a->strings["Missing argument: guid."] = "Chybí argument: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Neznámý pžíspěvek s číslem guid: %s";
|
||||
$a->strings["Method not found"] = "Metoda nenalezena";
|
||||
|
|
|
@ -1,157 +0,0 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Language-Team: Danish (Denmark) (https://www.transifex.com/Friendica/teams/12172/da_DK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da_DK\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:323
|
||||
#: advancedcontentfilter.php:334 advancedcontentfilter.php:370
|
||||
#: advancedcontentfilter.php:401 advancedcontentfilter.php:424
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:338 advancedcontentfilter.php:374
|
||||
#: advancedcontentfilter.php:405
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:350
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:364
|
||||
msgid "Rule successfully added"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:409
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:395
|
||||
msgid "Rule successfully updated"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:428
|
||||
msgid "Missing argument: guid."
|
||||
msgstr ""
|
||||
|
||||
#: advancedcontentfilter.php:436
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr ""
|
|
@ -1,7 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_da_dk")) {
|
||||
function string_plural_select_da_dk($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
|
@ -3,64 +3,61 @@
|
|||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Ulf Rompe <transifex.com@rompe.org>, 2019
|
||||
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2022\n"
|
||||
"Language-Team: German (https://app.transifex.com/Friendica/teams/12172/de/)\n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018\n"
|
||||
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Nach dieser Regel gefiltert: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Erweiterter Inhaltsfilter"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Zurück zu den Addon Einstellungen"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Eine Regel hinzufügen"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Hilfe"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln"
|
||||
" müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser "
|
||||
"Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann "
|
||||
"gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für "
|
||||
"die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons."
|
||||
"die Filter, wirf bitte einen Blick auf die <a "
|
||||
"href=\"advancedcontentfilter/help\">Hilfsseite</a> des Addons."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Deine Regeln"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -68,108 +65,110 @@ msgstr ""
|
|||
"Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen,"
|
||||
" verwende bitte den Button neben dem Titel."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiv"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Diese Regel deaktivieren"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Diese Regel aktivieren"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Diese Regel bearbeiten"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Die Regel bearbeiten"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Regel speichern"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Diese Regel löschen"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Neue Regel hinzufügen"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Name der Regel"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Ausdruck der Regel"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Ein Beispiel:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag"
|
||||
" existiert."
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Du musst angemeldet sein, um diese Methode verwenden zu können "
|
||||
msgstr "Du musst angemeldet sein um diese Methode verwenden zu können "
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Ungültiges Sciherheitstoken, bitte die Seite neu laden."
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Der Name der Regel und der Ausdruck sind erforderlich."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regel erfolgreich hinzugefügt."
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Entweder existiert die Regel nicht, oder sie gehört dir nicht."
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regel wurde erfolgreich aktualisiert."
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regel erfolgreich gelöscht."
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Fehlendes Argument: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Unbekannter Beitrag mit der guid: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Methode nicht gefunden"
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_de")) {
|
||||
function string_plural_select_de($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Nach dieser Regel gefiltert: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Erweiterter Inhaltsfilter';
|
||||
$a->strings['Back to Addon Settings'] = 'Zurück zu den Addon Einstellungen';
|
||||
$a->strings['Add a Rule'] = 'Eine Regel hinzufügen';
|
||||
$a->strings['Help'] = 'Hilfe';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für die Filter, wirf bitte einen Blick auf die Hilfsseite des Addons.';
|
||||
$a->strings['Your rules'] = 'Deine Regeln';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen, verwende bitte den Button neben dem Titel.';
|
||||
$a->strings['Disabled'] = 'Deaktiviert';
|
||||
$a->strings['Enabled'] = 'Aktiv';
|
||||
$a->strings['Disable this rule'] = 'Diese Regel deaktivieren';
|
||||
$a->strings['Enable this rule'] = 'Diese Regel aktivieren';
|
||||
$a->strings['Edit this rule'] = 'Diese Regel bearbeiten';
|
||||
$a->strings['Edit the rule'] = 'Die Regel bearbeiten';
|
||||
$a->strings['Save this rule'] = 'Regel speichern';
|
||||
$a->strings['Delete this rule'] = 'Diese Regel löschen';
|
||||
$a->strings['Rule'] = 'Regel';
|
||||
$a->strings['Close'] = 'Schließen';
|
||||
$a->strings['Add new rule'] = 'Neue Regel hinzufügen';
|
||||
$a->strings['Rule Name'] = 'Name der Regel';
|
||||
$a->strings['Rule Expression'] = 'Ausdruck der Regel';
|
||||
$a->strings['Cancel'] = 'Abbrechen';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Dieses Addon funktioniert nur, wenn auf diesem Knoten mindestens ein Beitrag existiert.';
|
||||
$a->strings['You must be logged in to use this method'] = 'Du musst angemeldet sein, um diese Methode verwenden zu können ';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Ungültiges Sciherheitstoken, bitte die Seite neu laden.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Der Name der Regel und der Ausdruck sind erforderlich.';
|
||||
$a->strings['Rule successfully added'] = 'Regel erfolgreich hinzugefügt.';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Entweder existiert die Regel nicht, oder sie gehört dir nicht.';
|
||||
$a->strings['Rule successfully updated'] = 'Regel wurde erfolgreich aktualisiert.';
|
||||
$a->strings['Rule successfully deleted'] = 'Regel erfolgreich gelöscht.';
|
||||
$a->strings['Missing argument: guid.'] = 'Fehlendes Argument: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Unbekannter Beitrag mit der guid: %s';
|
||||
$a->strings['Method not found'] = 'Methode nicht gefunden';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Nach dieser Regel gefiltert: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Erweiterter Inhaltsfilter";
|
||||
$a->strings["Back to Addon Settings"] = "Zurück zu den Addon Einstellungen";
|
||||
$a->strings["Add a Rule"] = "Eine Regel hinzufügen";
|
||||
$a->strings["Help"] = "Hilfe";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Auf dieser Seite kannst du deine persönlichen Filterregeln verwalten. Regeln müssen einen Namen und einen frei wählbaren Ausdruck besitzen. Dieser Ausdruck wird mit den Daten der Beiträge abgeglichen und diese dann gegebenenfalls gefiltert. Für eine Übersicht der verfügbaren Operatoren für die Filter, wirf bitte einen Blick auf die <a href=\"advancedcontentfilter/help\">Hilfsseite</a> des Addons.";
|
||||
$a->strings["Your rules"] = "Deine Regeln";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Du hast bisher noch keine Regeln definiert. Um eine neue Regel zu erstellen, verwende bitte den Button neben dem Titel.";
|
||||
$a->strings["Disabled"] = "Deaktiviert";
|
||||
$a->strings["Enabled"] = "Aktiv";
|
||||
$a->strings["Disable this rule"] = "Diese Regel deaktivieren";
|
||||
$a->strings["Enable this rule"] = "Diese Regel aktivieren";
|
||||
$a->strings["Edit this rule"] = "Diese Regel bearbeiten";
|
||||
$a->strings["Edit the rule"] = "Die Regel bearbeiten";
|
||||
$a->strings["Save this rule"] = "Regel speichern";
|
||||
$a->strings["Delete this rule"] = "Diese Regel löschen";
|
||||
$a->strings["Rule"] = "Regel";
|
||||
$a->strings["Close"] = "Schließen";
|
||||
$a->strings["Add new rule"] = "Neue Regel hinzufügen";
|
||||
$a->strings["Rule Name"] = "Name der Regel";
|
||||
$a->strings["Rule Expression"] = "Ausdruck der Regel";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Ein Beispiel:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>";
|
||||
$a->strings["Cancel"] = "Abbrechen";
|
||||
$a->strings["You must be logged in to use this method"] = "Du musst angemeldet sein um diese Methode verwenden zu können ";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Ungültiges Sciherheitstoken, bitte die Seite neu laden.";
|
||||
$a->strings["The rule name and expression are required."] = "Der Name der Regel und der Ausdruck sind erforderlich.";
|
||||
$a->strings["Rule successfully added"] = "Regel erfolgreich hinzugefügt.";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Entweder existiert die Regel nicht, oder sie gehört dir nicht.";
|
||||
$a->strings["Rule successfully updated"] = "Regel wurde erfolgreich aktualisiert.";
|
||||
$a->strings["Rule successfully deleted"] = "Regel erfolgreich gelöscht.";
|
||||
$a->strings["Missing argument: guid."] = "Fehlendes Argument: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Unbekannter Beitrag mit der guid: %s";
|
||||
$a->strings["Method not found"] = "Methode nicht gefunden";
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_en_gb")) {
|
||||
function string_plural_select_en_gb($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtered by rule: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Advanced Content Filter';
|
||||
$a->strings['Back to Addon Settings'] = 'Back to addon settings';
|
||||
$a->strings['Add a Rule'] = 'Add a rule';
|
||||
$a->strings['Help'] = 'Help';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.';
|
||||
$a->strings['Your rules'] = 'Your rules';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'You have no rules yet! Start adding one by clicking on the button above next to the title.';
|
||||
$a->strings['Disabled'] = 'Disabled';
|
||||
$a->strings['Enabled'] = 'Enabled';
|
||||
$a->strings['Disable this rule'] = 'Disable this rule';
|
||||
$a->strings['Enable this rule'] = 'Enable this rule';
|
||||
$a->strings['Edit this rule'] = 'Edit this rule';
|
||||
$a->strings['Edit the rule'] = 'Edit the rule';
|
||||
$a->strings['Save this rule'] = 'Save this rule';
|
||||
$a->strings['Delete this rule'] = 'Delete this rule';
|
||||
$a->strings['Rule'] = 'Rule';
|
||||
$a->strings['Close'] = 'Close';
|
||||
$a->strings['Add new rule'] = 'Add new rule';
|
||||
$a->strings['Rule Name'] = 'Rule name';
|
||||
$a->strings['Rule Expression'] = 'Rule expression';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = 'Cancel';
|
||||
$a->strings['You must be logged in to use this method'] = 'You must be logged in to use this method';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Invalid form security token, please refresh the page.';
|
||||
$a->strings['The rule name and expression are required.'] = 'The rule name and expression are required.';
|
||||
$a->strings['Rule successfully added'] = 'Rule successfully added';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Rule doesn\'t exist or doesn\'t belong to you.';
|
||||
$a->strings['Rule successfully updated'] = 'Rule successfully updated';
|
||||
$a->strings['Rule successfully deleted'] = 'Rule successfully deleted';
|
||||
$a->strings['Missing argument: guid.'] = 'Missing argument: Global Unique Identifier (GUID).';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Unknown post with Global Unique Identifier (GUID): %s';
|
||||
$a->strings['Method not found'] = 'Method not found';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtered by rule: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Advanced Content Filter";
|
||||
$a->strings["Back to Addon Settings"] = "Back to addon settings";
|
||||
$a->strings["Add a Rule"] = "Add a rule";
|
||||
$a->strings["Help"] = "Help";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>.";
|
||||
$a->strings["Your rules"] = "Your rules";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "You have no rules yet! Start adding one by clicking on the button above next to the title.";
|
||||
$a->strings["Disabled"] = "Disabled";
|
||||
$a->strings["Enabled"] = "Enabled";
|
||||
$a->strings["Disable this rule"] = "Disable this rule";
|
||||
$a->strings["Enable this rule"] = "Enable this rule";
|
||||
$a->strings["Edit this rule"] = "Edit this rule";
|
||||
$a->strings["Edit the rule"] = "Edit the rule";
|
||||
$a->strings["Save this rule"] = "Save this rule";
|
||||
$a->strings["Delete this rule"] = "Delete this rule";
|
||||
$a->strings["Rule"] = "Rule";
|
||||
$a->strings["Close"] = "Close";
|
||||
$a->strings["Add new rule"] = "Add new rule";
|
||||
$a->strings["Rule Name"] = "Rule name";
|
||||
$a->strings["Rule Expression"] = "Rule expression";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>";
|
||||
$a->strings["Cancel"] = "Cancel";
|
||||
$a->strings["You must be logged in to use this method"] = "You must be logged in to use this method";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Invalid form security token, please refresh the page.";
|
||||
$a->strings["The rule name and expression are required."] = "The rule name and expression are required.";
|
||||
$a->strings["Rule successfully added"] = "Rule successfully added";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Rule doesn't exist or doesn't belong to you.";
|
||||
$a->strings["Rule successfully updated"] = "Rule successfully updated";
|
||||
$a->strings["Rule successfully deleted"] = "Rule successfully deleted";
|
||||
$a->strings["Missing argument: guid."] = "Missing argument: Global Unique Identifier (GUID).";
|
||||
$a->strings["Unknown post with guid: %s"] = "Unknown post with Global Unique Identifier (GUID): %s";
|
||||
$a->strings["Method not found"] = "Method not found";
|
||||
|
|
|
@ -1,173 +0,0 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Albert, 2018
|
||||
# Yasmine A <yasmine.elachkar@gmail.com>, 2018
|
||||
# Julio Cova, 2019
|
||||
# Boris Daniel Martinez Millàn <borisdanielmartinezmillan@gmail.com>, 2021
|
||||
# Senex Petrovic <javierruizo@hotmail.com>, 2021
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Senex Petrovic <javierruizo@hotmail.com>, 2021\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/Friendica/teams/12172/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Método no encontrado"
|
||||
|
||||
#: advancedcontentfilter.php:136
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrado por la regla: %s"
|
||||
|
||||
#: advancedcontentfilter.php:150 advancedcontentfilter.php:207
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtro de contenido avanzado"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Volver a Ajustes de Complemento"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Add a Rule"
|
||||
msgstr "Añadir una regla"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid "Help"
|
||||
msgstr "Ayuda"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Agregue y administre sus reglas de filtrado de contenido personal en esta "
|
||||
"pantalla. Las reglas tienen un nombre y una expresión arbitraria que se "
|
||||
"comparará con los datos de la publicación. Para obtener una referencia "
|
||||
"completa de las operaciones y variables disponibles, consulte la página de "
|
||||
"ayuda."
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Your rules"
|
||||
msgstr "Tus reglas"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de "
|
||||
"arriba al lado del título. "
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Enabled"
|
||||
msgstr "Activado"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Disable this rule"
|
||||
msgstr "Desactivar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Enable this rule"
|
||||
msgstr "Activar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Edit this rule"
|
||||
msgstr "Editar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Edit the rule"
|
||||
msgstr "Editar regla"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Save this rule"
|
||||
msgstr "Guardar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Delete this rule"
|
||||
msgstr "Borrar esta regla"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule"
|
||||
msgstr "Regla"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid "Add new rule"
|
||||
msgstr "Agregar nueva regla"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Rule Name"
|
||||
msgstr "Nombre de la regla"
|
||||
|
||||
#: advancedcontentfilter.php:225
|
||||
msgid "Rule Expression"
|
||||
msgstr "Expresión de la regla"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: advancedcontentfilter.php:293 advancedcontentfilter.php:304
|
||||
#: advancedcontentfilter.php:315 advancedcontentfilter.php:349
|
||||
#: advancedcontentfilter.php:378 advancedcontentfilter.php:399
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Debe estar registrado para usar este método"
|
||||
|
||||
#: advancedcontentfilter.php:319 advancedcontentfilter.php:353
|
||||
#: advancedcontentfilter.php:382
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr ""
|
||||
"Token de seguridad de formulario inválido, por favor actualice la página."
|
||||
|
||||
#: advancedcontentfilter.php:331
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "El nombre y la expresión de la regla son obligatorios."
|
||||
|
||||
#: advancedcontentfilter.php:343
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regla añadida exitosamente"
|
||||
|
||||
#: advancedcontentfilter.php:357 advancedcontentfilter.php:386
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "La regla no existe o no te pertenece."
|
||||
|
||||
#: advancedcontentfilter.php:372
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regla actualizada exitosamente"
|
||||
|
||||
#: advancedcontentfilter.php:393
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regla eliminada exitosamente"
|
||||
|
||||
#: advancedcontentfilter.php:403
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Algumento faltante: guía"
|
||||
|
||||
#: advancedcontentfilter.php:411
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Publicacion desconocida con la guía: %s"
|
|
@ -1,39 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_es")) {
|
||||
function string_plural_select_es($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Method not found'] = 'Método no encontrado';
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrado por la regla: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtro de contenido avanzado';
|
||||
$a->strings['Back to Addon Settings'] = 'Volver a Ajustes de Complemento';
|
||||
$a->strings['Add a Rule'] = 'Añadir una regla';
|
||||
$a->strings['Help'] = 'Ayuda';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Agregue y administre sus reglas de filtrado de contenido personal en esta pantalla. Las reglas tienen un nombre y una expresión arbitraria que se comparará con los datos de la publicación. Para obtener una referencia completa de las operaciones y variables disponibles, consulte la página de ayuda.';
|
||||
$a->strings['Your rules'] = 'Tus reglas';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '¡Aún no tienes reglas! Empieza añadiendo una haciendo clic en el botón de arriba al lado del título. ';
|
||||
$a->strings['Disabled'] = 'Desactivado';
|
||||
$a->strings['Enabled'] = 'Activado';
|
||||
$a->strings['Disable this rule'] = 'Desactivar esta regla';
|
||||
$a->strings['Enable this rule'] = 'Activar esta regla';
|
||||
$a->strings['Edit this rule'] = 'Editar esta regla';
|
||||
$a->strings['Edit the rule'] = 'Editar regla';
|
||||
$a->strings['Save this rule'] = 'Guardar esta regla';
|
||||
$a->strings['Delete this rule'] = 'Borrar esta regla';
|
||||
$a->strings['Rule'] = 'Regla';
|
||||
$a->strings['Close'] = 'Cerrar';
|
||||
$a->strings['Add new rule'] = 'Agregar nueva regla';
|
||||
$a->strings['Rule Name'] = 'Nombre de la regla';
|
||||
$a->strings['Rule Expression'] = 'Expresión de la regla';
|
||||
$a->strings['Cancel'] = 'Cancelar';
|
||||
$a->strings['You must be logged in to use this method'] = 'Debe estar registrado para usar este método';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Token de seguridad de formulario inválido, por favor actualice la página.';
|
||||
$a->strings['The rule name and expression are required.'] = 'El nombre y la expresión de la regla son obligatorios.';
|
||||
$a->strings['Rule successfully added'] = 'Regla añadida exitosamente';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regla no existe o no te pertenece.';
|
||||
$a->strings['Rule successfully updated'] = 'Regla actualizada exitosamente';
|
||||
$a->strings['Rule successfully deleted'] = 'Regla eliminada exitosamente';
|
||||
$a->strings['Missing argument: guid.'] = 'Algumento faltante: guía';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Publicacion desconocida con la guía: %s';
|
|
@ -3,20 +3,39 @@
|
|||
if(! function_exists("string_plural_select_fi")) {
|
||||
function string_plural_select_fi($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Add a Rule'] = 'Lisää sääntö';
|
||||
$a->strings['Your rules'] = 'Sääntösi';
|
||||
$a->strings['Disabled'] = 'Ei käytössä';
|
||||
$a->strings['Enabled'] = 'Käytössä';
|
||||
$a->strings['Enable this rule'] = 'Ota tämä sääntö käyttöön';
|
||||
$a->strings['Edit this rule'] = 'Muokkaa tätä sääntöä';
|
||||
$a->strings['Edit the rule'] = 'Muokkaa sääntöä';
|
||||
$a->strings['Save this rule'] = 'Tallenna tämä sääntö';
|
||||
$a->strings['Delete this rule'] = 'Poista tämä sääntö';
|
||||
$a->strings['Rule'] = 'Sääntö';
|
||||
$a->strings['Close'] = 'Sulje';
|
||||
$a->strings['Add new rule'] = 'Lisää uusi sääntö';
|
||||
$a->strings['Rule successfully added'] = 'Sääntö lisätty';
|
||||
$a->strings['Rule successfully updated'] = 'Sääntö päivitetty';
|
||||
$a->strings['Rule successfully deleted'] = 'Sääntö poistettu';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "";
|
||||
$a->strings["Advanced Content Filter"] = "";
|
||||
$a->strings["Back to Addon Settings"] = "";
|
||||
$a->strings["Add a Rule"] = "Lisää sääntö";
|
||||
$a->strings["Help"] = "";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "";
|
||||
$a->strings["Your rules"] = "Sääntösi";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "";
|
||||
$a->strings["Disabled"] = "Ei käytössä";
|
||||
$a->strings["Enabled"] = "Käytössä";
|
||||
$a->strings["Disable this rule"] = "";
|
||||
$a->strings["Enable this rule"] = "Ota tämä sääntö käyttöön";
|
||||
$a->strings["Edit this rule"] = "Muokkaa tätä sääntöä";
|
||||
$a->strings["Edit the rule"] = "Muokkaa sääntöä";
|
||||
$a->strings["Save this rule"] = "Tallenna tämä sääntö";
|
||||
$a->strings["Delete this rule"] = "Poista tämä sääntö";
|
||||
$a->strings["Rule"] = "Sääntö";
|
||||
$a->strings["Close"] = "Sulje";
|
||||
$a->strings["Add new rule"] = "Lisää uusi sääntö";
|
||||
$a->strings["Rule Name"] = "";
|
||||
$a->strings["Rule Expression"] = "";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "";
|
||||
$a->strings["Cancel"] = "";
|
||||
$a->strings["You must be logged in to use this method"] = "";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "";
|
||||
$a->strings["The rule name and expression are required."] = "";
|
||||
$a->strings["Rule successfully added"] = "Sääntö lisätty";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "";
|
||||
$a->strings["Rule successfully updated"] = "Sääntö päivitetty";
|
||||
$a->strings["Rule successfully deleted"] = "Sääntö poistettu";
|
||||
$a->strings["Missing argument: guid."] = "";
|
||||
$a->strings["Unknown post with guid: %s"] = "";
|
||||
$a->strings["Method not found"] = "";
|
||||
|
|
|
@ -7,62 +7,60 @@
|
|||
# Marie Olive <lacellule101@gmail.com>, 2018
|
||||
# Vladimir Núñez <lapoubelle111@gmail.com>, 2018
|
||||
# Phigger Phigger <automates@lepouete.fr>, 2019
|
||||
# Wil Tur <wiltur@yargl.com>, 2021
|
||||
# Hypolite Petovan <hypolite@mrpetovan.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Hypolite Petovan <hypolite@mrpetovan.com>, 2022\n"
|
||||
"Last-Translator: Phigger Phigger <automates@lepouete.fr>, 2019\n"
|
||||
"Language-Team: French (https://www.transifex.com/Friendica/teams/12172/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtré par règle:%s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtre avancé de contenu"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Retour aux paramètres de l'extension"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Ajouter une règle"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"Cet écran permet d'ajouter et de gérer vos règles de filtrage de contenu "
|
||||
"personnelles. Les règles ont un nom et une expression arbitraire qui sera "
|
||||
"comparée aux données des messages. Pour une référence complète des "
|
||||
"opérations et variables disponibles, consultez la page d'aide."
|
||||
"Dans cet écran, ajoutez et gérez votre règle personnelle de filtre de "
|
||||
"contenu. Les règles portent un nom et contiennent une expression arbitraire "
|
||||
"qui sera appliquée aux données du post. Pour une liste complète des "
|
||||
"opérations disponibles, voyez la page d'aide"
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Vos règles"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -70,108 +68,110 @@ msgstr ""
|
|||
"Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-"
|
||||
"dessus près du titre"
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Désactiver cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Activer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Modifier cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Modifier la règle"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Enregistrer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Supprimer cette règle"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Règle"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Ajouter nouvelle règle"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Nommer règle"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Expression de règle"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Exemples :</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Cette extension requiert au moins une publication sur ce serveur pour "
|
||||
"fonctionner"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Vous devez être connecté pour utiliser cette méthode"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Formulaire token de sécurité invalide, rafraîchissez la page"
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Le nom et l'expression de cette règle sont requis"
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Règle bien ajoutée"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Cette règle n'existe pas ou ne vous appartient pas"
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Règle bien mise à jour"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Règle bien supprimée"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argument manquant: "
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Post inconnu avec guid : %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Méthode non trouvée"
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
$n = intval($n);
|
||||
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
|
||||
return ($n > 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtré par règle:%s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtre avancé de contenu';
|
||||
$a->strings['Back to Addon Settings'] = 'Retour aux paramètres de l\'extension';
|
||||
$a->strings['Add a Rule'] = 'Ajouter une règle';
|
||||
$a->strings['Help'] = 'Aide';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Cet écran permet d\'ajouter et de gérer vos règles de filtrage de contenu personnelles. Les règles ont un nom et une expression arbitraire qui sera comparée aux données des messages. Pour une référence complète des opérations et variables disponibles, consultez la page d\'aide.';
|
||||
$a->strings['Your rules'] = 'Vos règles';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Vous n\'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-dessus près du titre';
|
||||
$a->strings['Disabled'] = 'Désactivé';
|
||||
$a->strings['Enabled'] = 'Activé';
|
||||
$a->strings['Disable this rule'] = 'Désactiver cette règle';
|
||||
$a->strings['Enable this rule'] = 'Activer cette règle';
|
||||
$a->strings['Edit this rule'] = 'Modifier cette règle';
|
||||
$a->strings['Edit the rule'] = 'Modifier la règle';
|
||||
$a->strings['Save this rule'] = 'Enregistrer cette règle';
|
||||
$a->strings['Delete this rule'] = 'Supprimer cette règle';
|
||||
$a->strings['Rule'] = 'Règle';
|
||||
$a->strings['Close'] = 'Fermer';
|
||||
$a->strings['Add new rule'] = 'Ajouter nouvelle règle';
|
||||
$a->strings['Rule Name'] = 'Nommer règle';
|
||||
$a->strings['Rule Expression'] = 'Expression de règle';
|
||||
$a->strings['Cancel'] = 'Annuler';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Cette extension requiert au moins une publication sur ce serveur pour fonctionner';
|
||||
$a->strings['You must be logged in to use this method'] = 'Vous devez être connecté pour utiliser cette méthode';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Formulaire token de sécurité invalide, rafraîchissez la page';
|
||||
$a->strings['The rule name and expression are required.'] = 'Le nom et l\'expression de cette règle sont requis';
|
||||
$a->strings['Rule successfully added'] = 'Règle bien ajoutée';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Cette règle n\'existe pas ou ne vous appartient pas';
|
||||
$a->strings['Rule successfully updated'] = 'Règle bien mise à jour';
|
||||
$a->strings['Rule successfully deleted'] = 'Règle bien supprimée';
|
||||
$a->strings['Missing argument: guid.'] = 'Argument manquant: ';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Post inconnu avec guid : %s';
|
||||
$a->strings['Method not found'] = 'Méthode non trouvée';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtré par règle:%s";
|
||||
$a->strings["Advanced Content Filter"] = "Filtre avancé de contenu";
|
||||
$a->strings["Back to Addon Settings"] = "Retour aux paramètres de l'extension";
|
||||
$a->strings["Add a Rule"] = "Ajouter une règle";
|
||||
$a->strings["Help"] = "Aide";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Dans cet écran, ajoutez et gérez votre règle personnelle de filtre de contenu. Les règles portent un nom et contiennent une expression arbitraire qui sera appliquée aux données du post. Pour une liste complète des opérations disponibles, voyez la page d'aide";
|
||||
$a->strings["Your rules"] = "Vos règles";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Vous n'avez encore aucune règle! Ajoutez-en une en cliquant le bouton au-dessus près du titre";
|
||||
$a->strings["Disabled"] = "Désactivé";
|
||||
$a->strings["Enabled"] = "Activé";
|
||||
$a->strings["Disable this rule"] = "Désactiver cette règle";
|
||||
$a->strings["Enable this rule"] = "Activer cette règle";
|
||||
$a->strings["Edit this rule"] = "Modifier cette règle";
|
||||
$a->strings["Edit the rule"] = "Modifier la règle";
|
||||
$a->strings["Save this rule"] = "Enregistrer cette règle";
|
||||
$a->strings["Delete this rule"] = "Supprimer cette règle";
|
||||
$a->strings["Rule"] = "Règle";
|
||||
$a->strings["Close"] = "Fermer";
|
||||
$a->strings["Add new rule"] = "Ajouter nouvelle règle";
|
||||
$a->strings["Rule Name"] = "Nommer règle";
|
||||
$a->strings["Rule Expression"] = "Expression de règle";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Exemples :</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>";
|
||||
$a->strings["Cancel"] = "Annuler";
|
||||
$a->strings["You must be logged in to use this method"] = "Vous devez être connecté pour utiliser cette méthode";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Formulaire token de sécurité invalide, rafraîchissez la page";
|
||||
$a->strings["The rule name and expression are required."] = "Le nom et l'expression de cette règle sont requis";
|
||||
$a->strings["Rule successfully added"] = "Règle bien ajoutée";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Cette règle n'existe pas ou ne vous appartient pas";
|
||||
$a->strings["Rule successfully updated"] = "Règle bien mise à jour";
|
||||
$a->strings["Rule successfully deleted"] = "Règle bien supprimée";
|
||||
$a->strings["Missing argument: guid."] = "Argument manquant: ";
|
||||
$a->strings["Unknown post with guid: %s"] = "Post inconnu avec guid : %s";
|
||||
$a->strings["Method not found"] = "Méthode non trouvée";
|
||||
|
|
|
@ -1,173 +0,0 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2022\n"
|
||||
"Language-Team: Hungarian (https://www.transifex.com/Friendica/teams/12172/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Szűrve a szabály alapján: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Speciális tartalomszűrő"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Vissza a bővítménybeállításokhoz"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Szabály hozzáadása"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Súgó"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Személyes tartalomszűrő szabályok hozzáadása és kezelése ezen a képernyőn. A"
|
||||
" szabályoknak van nevük és egy tetszőleges kifejezésük, amely a bejegyzés "
|
||||
"adataira lesz illesztve. Az elérhető műveletek és változók teljes "
|
||||
"hivatkozásáért nézze meg a súgóoldalt."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Az Ön szabályai"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett "
|
||||
"lévő fenti gombra kattintva."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Letiltva"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Engedélyezve"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "A szabály letiltása"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "A szabály engedélyezése"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "A szabály szerkesztése"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "A szabály szerkesztése"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "A szabály mentése"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "A szabály törlése"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Szabály"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Új szabály hozzáadása"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Szabály neve"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Szabály kifejezése"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr ""
|
||||
"Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy "
|
||||
"bejegyzése legyen"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Bejelentkezve kell lennie a módszer használatához"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Érvénytelen űrlap biztonsági token. Frissítse az oldalt."
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "A szabály neve és kifejezése kötelező."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "A szabály sikeresen hozzáadva"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "A szabály nem létezik vagy nem Önhöz tatozik."
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "A szabály sikeresen frissítve"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "A szabály sikeresen törölve"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Hiányzó argumentum: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Ismeretlen bejegyzés a következő guid azonosítóval: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "A módszer nem található"
|
|
@ -1,40 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_hu")) {
|
||||
function string_plural_select_hu($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Szűrve a szabály alapján: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Speciális tartalomszűrő';
|
||||
$a->strings['Back to Addon Settings'] = 'Vissza a bővítménybeállításokhoz';
|
||||
$a->strings['Add a Rule'] = 'Szabály hozzáadása';
|
||||
$a->strings['Help'] = 'Súgó';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Személyes tartalomszűrő szabályok hozzáadása és kezelése ezen a képernyőn. A szabályoknak van nevük és egy tetszőleges kifejezésük, amely a bejegyzés adataira lesz illesztve. Az elérhető műveletek és változók teljes hivatkozásáért nézze meg a súgóoldalt.';
|
||||
$a->strings['Your rules'] = 'Az Ön szabályai';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Még nincsenek szabályai! Kezdje meg egy szabály hozzáadását a cím mellett lévő fenti gombra kattintva.';
|
||||
$a->strings['Disabled'] = 'Letiltva';
|
||||
$a->strings['Enabled'] = 'Engedélyezve';
|
||||
$a->strings['Disable this rule'] = 'A szabály letiltása';
|
||||
$a->strings['Enable this rule'] = 'A szabály engedélyezése';
|
||||
$a->strings['Edit this rule'] = 'A szabály szerkesztése';
|
||||
$a->strings['Edit the rule'] = 'A szabály szerkesztése';
|
||||
$a->strings['Save this rule'] = 'A szabály mentése';
|
||||
$a->strings['Delete this rule'] = 'A szabály törlése';
|
||||
$a->strings['Rule'] = 'Szabály';
|
||||
$a->strings['Close'] = 'Bezárás';
|
||||
$a->strings['Add new rule'] = 'Új szabály hozzáadása';
|
||||
$a->strings['Rule Name'] = 'Szabály neve';
|
||||
$a->strings['Rule Expression'] = 'Szabály kifejezése';
|
||||
$a->strings['Cancel'] = 'Mégse';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Ez a bővítmény megköveteli, hogy ennek a csomópontnak legalább egy bejegyzése legyen';
|
||||
$a->strings['You must be logged in to use this method'] = 'Bejelentkezve kell lennie a módszer használatához';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Érvénytelen űrlap biztonsági token. Frissítse az oldalt.';
|
||||
$a->strings['The rule name and expression are required.'] = 'A szabály neve és kifejezése kötelező.';
|
||||
$a->strings['Rule successfully added'] = 'A szabály sikeresen hozzáadva';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'A szabály nem létezik vagy nem Önhöz tatozik.';
|
||||
$a->strings['Rule successfully updated'] = 'A szabály sikeresen frissítve';
|
||||
$a->strings['Rule successfully deleted'] = 'A szabály sikeresen törölve';
|
||||
$a->strings['Missing argument: guid.'] = 'Hiányzó argumentum: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Ismeretlen bejegyzés a következő guid azonosítóval: %s';
|
||||
$a->strings['Method not found'] = 'A módszer nem található';
|
|
@ -3,63 +3,60 @@
|
|||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2018
|
||||
# Sylke Vicious <silkevicious@gmail.com>, 2023
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Sylke Vicious <silkevicious@gmail.com>, 2023\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/Friendica/teams/12172/it/)\n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>, 2018\n"
|
||||
"Language-Team: Italian (https://www.transifex.com/Friendica/teams/12172/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrato dalla regola: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Filtro Avanzato Contenuti"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Torna alle impostazioni del componente aggiuntivo"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Aggiungi una regola"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Aiuto"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"Aggiungi e gestisci le tue regole personali di filtro contenuti in questa "
|
||||
"schermata. Le regole hanno un nome e un'espressione arbitraria che sarà "
|
||||
"confrontata con i dati del messaggio. Per un elenco completo delle "
|
||||
"operazioni e variabili disponibili, controlla la pagina di aiuto."
|
||||
"operazioni disponibili, controlla la <a "
|
||||
"href=\"advancedcontentfilter/help\">pagina di aiuto</a>."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Le tue regole"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -67,106 +64,110 @@ msgstr ""
|
|||
"Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui "
|
||||
"sopra a fianco al titolo."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Disabilitato"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Abilitato"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Diabilita questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Abilita questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Modifica questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Modifica la regola"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Salva questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Elimina questa regola"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Regola"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Aggiungi nuova regola"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Nome Regola"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Espressione Regola"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Esempi:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Questo addon richiede che questo nodo abbia almeno un messaggio"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Devi essere autenticato per usare questo metodo"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Token di sicurezza invalido, aggiorna la pagina."
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Il nome e l'espressione della regola sono richiesti."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regola aggiunta con successo"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "La regola non esiste o non ti appartiene."
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Regola aggiornata con successo"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Regola eliminata con successo"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argomento mancante: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Messaggio con guid %s sconosciuto"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Metodo non trovato"
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
$n = intval($n);
|
||||
if ($n == 1) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrato dalla regola: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Filtro Avanzato Contenuti';
|
||||
$a->strings['Back to Addon Settings'] = 'Torna alle impostazioni del componente aggiuntivo';
|
||||
$a->strings['Add a Rule'] = 'Aggiungi una regola';
|
||||
$a->strings['Help'] = 'Aiuto';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Aggiungi e gestisci le tue regole personali di filtro contenuti in questa schermata. Le regole hanno un nome e un\'espressione arbitraria che sarà confrontata con i dati del messaggio. Per un elenco completo delle operazioni e variabili disponibili, controlla la pagina di aiuto.';
|
||||
$a->strings['Your rules'] = 'Le tue regole';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui sopra a fianco al titolo.';
|
||||
$a->strings['Disabled'] = 'Disabilitato';
|
||||
$a->strings['Enabled'] = 'Abilitato';
|
||||
$a->strings['Disable this rule'] = 'Diabilita questa regola';
|
||||
$a->strings['Enable this rule'] = 'Abilita questa regola';
|
||||
$a->strings['Edit this rule'] = 'Modifica questa regola';
|
||||
$a->strings['Edit the rule'] = 'Modifica la regola';
|
||||
$a->strings['Save this rule'] = 'Salva questa regola';
|
||||
$a->strings['Delete this rule'] = 'Elimina questa regola';
|
||||
$a->strings['Rule'] = 'Regola';
|
||||
$a->strings['Close'] = 'Chiudi';
|
||||
$a->strings['Add new rule'] = 'Aggiungi nuova regola';
|
||||
$a->strings['Rule Name'] = 'Nome Regola';
|
||||
$a->strings['Rule Expression'] = 'Espressione Regola';
|
||||
$a->strings['Cancel'] = 'Annulla';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Questo addon richiede che questo nodo abbia almeno un messaggio';
|
||||
$a->strings['You must be logged in to use this method'] = 'Devi essere autenticato per usare questo metodo';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Token di sicurezza invalido, aggiorna la pagina.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Il nome e l\'espressione della regola sono richiesti.';
|
||||
$a->strings['Rule successfully added'] = 'Regola aggiunta con successo';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'La regola non esiste o non ti appartiene.';
|
||||
$a->strings['Rule successfully updated'] = 'Regola aggiornata con successo';
|
||||
$a->strings['Rule successfully deleted'] = 'Regola eliminata con successo';
|
||||
$a->strings['Missing argument: guid.'] = 'Argomento mancante: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Messaggio con guid %s sconosciuto';
|
||||
$a->strings['Method not found'] = 'Metodo non trovato';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrato dalla regola: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Filtro Avanzato Contenuti";
|
||||
$a->strings["Back to Addon Settings"] = "Torna alle impostazioni del componente aggiuntivo";
|
||||
$a->strings["Add a Rule"] = "Aggiungi una regola";
|
||||
$a->strings["Help"] = "Aiuto";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Aggiungi e gestisci le tue regole personali di filtro contenuti in questa schermata. Le regole hanno un nome e un'espressione arbitraria che sarà confrontata con i dati del messaggio. Per un elenco completo delle operazioni disponibili, controlla la <a href=\"advancedcontentfilter/help\">pagina di aiuto</a>.";
|
||||
$a->strings["Your rules"] = "Le tue regole";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Non hai ancora nessuna regola! Aggiungine una cliccando sul bottone qui sopra a fianco al titolo.";
|
||||
$a->strings["Disabled"] = "Disabilitato";
|
||||
$a->strings["Enabled"] = "Abilitato";
|
||||
$a->strings["Disable this rule"] = "Diabilita questa regola";
|
||||
$a->strings["Enable this rule"] = "Abilita questa regola";
|
||||
$a->strings["Edit this rule"] = "Modifica questa regola";
|
||||
$a->strings["Edit the rule"] = "Modifica la regola";
|
||||
$a->strings["Save this rule"] = "Salva questa regola";
|
||||
$a->strings["Delete this rule"] = "Elimina questa regola";
|
||||
$a->strings["Rule"] = "Regola";
|
||||
$a->strings["Close"] = "Chiudi";
|
||||
$a->strings["Add new rule"] = "Aggiungi nuova regola";
|
||||
$a->strings["Rule Name"] = "Nome Regola";
|
||||
$a->strings["Rule Expression"] = "Espressione Regola";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Esempi:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>";
|
||||
$a->strings["Cancel"] = "Annulla";
|
||||
$a->strings["You must be logged in to use this method"] = "Devi essere autenticato per usare questo metodo";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Token di sicurezza invalido, aggiorna la pagina.";
|
||||
$a->strings["The rule name and expression are required."] = "Il nome e l'espressione della regola sono richiesti.";
|
||||
$a->strings["Rule successfully added"] = "Regola aggiunta con successo";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "La regola non esiste o non ti appartiene.";
|
||||
$a->strings["Rule successfully updated"] = "Regola aggiornata con successo";
|
||||
$a->strings["Rule successfully deleted"] = "Regola eliminata con successo";
|
||||
$a->strings["Missing argument: guid."] = "Argomento mancante: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Messaggio con guid %s sconosciuto";
|
||||
$a->strings["Method not found"] = "Metodo non trovato";
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_nl")) {
|
||||
function string_plural_select_nl($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Gefilterd volgens regel: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Geavanceerd filter voor berichtsinhoud';
|
||||
$a->strings['Back to Addon Settings'] = 'Terug naar Addon instellingen';
|
||||
$a->strings['Add a Rule'] = 'Filterregel toevoegen';
|
||||
$a->strings['Help'] = 'Help';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = 'Beheer de filterregels van je persoonlijke filter voor berichtsinhoud in dit scherm. Regels hebben een naam en bewoording welke we automatisch controleren door te vergelijken met de inhoud van elk bericht. Voor een compleet naslagwerk van de beschikbare bewerkingen en variabelen, zie de <a href="advancedcontentfilter/help">help pagina</a>.';
|
||||
$a->strings['Your rules'] = 'Jouw regels';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Je hebt nog geen regels! Klik op de knop bovenin naast de titel om een regel toe te voegen.';
|
||||
$a->strings['Disabled'] = 'Uitgeschakeld';
|
||||
$a->strings['Enabled'] = 'Geactiveerd';
|
||||
$a->strings['Disable this rule'] = 'Deze regel uitschakelen';
|
||||
$a->strings['Enable this rule'] = 'Deze regel inschakelen';
|
||||
$a->strings['Edit this rule'] = 'Regel bewerken';
|
||||
$a->strings['Edit the rule'] = 'Regel bewerken';
|
||||
$a->strings['Save this rule'] = 'Deze regel opslaan';
|
||||
$a->strings['Delete this rule'] = 'Deze regel verwijderen';
|
||||
$a->strings['Rule'] = 'Regel';
|
||||
$a->strings['Close'] = 'Sluiten';
|
||||
$a->strings['Add new rule'] = 'Voeg nieuwe regel toe';
|
||||
$a->strings['Rule Name'] = 'Regel naam';
|
||||
$a->strings['Rule Expression'] = 'Regel bewoording';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>Voorbeelden:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>label</li></ul>';
|
||||
$a->strings['Cancel'] = 'Annuleren';
|
||||
$a->strings['You must be logged in to use this method'] = 'Je moet ingelogd zijn om deze methode te gebruiken';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b.';
|
||||
$a->strings['The rule name and expression are required.'] = 'De regelnaam en bewoording zijn vereist.';
|
||||
$a->strings['Rule successfully added'] = 'Regel succesvol toegevoegd';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Deze regel bestaat niet, of is niet van jou.';
|
||||
$a->strings['Rule successfully updated'] = 'Regel succesvol opgeslagen';
|
||||
$a->strings['Rule successfully deleted'] = 'Regel succesvol verwijderd';
|
||||
$a->strings['Missing argument: guid.'] = 'Parameter guid niet aanwezig';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Onbekend bericht met guid: %s';
|
||||
$a->strings['Method not found'] = 'Methode niet gevonden';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Gefilterd volgens regel: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Geavanceerd filter voor berichtsinhoud";
|
||||
$a->strings["Back to Addon Settings"] = "Terug naar Addon instellingen";
|
||||
$a->strings["Add a Rule"] = "Filterregel toevoegen";
|
||||
$a->strings["Help"] = "Help";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Beheer de filterregels van je persoonlijke filter voor berichtsinhoud in dit scherm. Regels hebben een naam en bewoording welke we automatisch controleren door te vergelijken met de inhoud van elk bericht. Voor een compleet naslagwerk van de beschikbare bewerkingen en variabelen, zie de <a href=\"advancedcontentfilter/help\">help pagina</a>.";
|
||||
$a->strings["Your rules"] = "Jouw regels";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Je hebt nog geen regels! Klik op de knop bovenin naast de titel om een regel toe te voegen.";
|
||||
$a->strings["Disabled"] = "Uitgeschakeld";
|
||||
$a->strings["Enabled"] = "Geactiveerd";
|
||||
$a->strings["Disable this rule"] = "Deze regel uitschakelen";
|
||||
$a->strings["Enable this rule"] = "Deze regel inschakelen";
|
||||
$a->strings["Edit this rule"] = "Regel bewerken";
|
||||
$a->strings["Edit the rule"] = "Regel bewerken";
|
||||
$a->strings["Save this rule"] = "Deze regel opslaan";
|
||||
$a->strings["Delete this rule"] = "Deze regel verwijderen";
|
||||
$a->strings["Rule"] = "Regel";
|
||||
$a->strings["Close"] = "Sluiten";
|
||||
$a->strings["Add new rule"] = "Voeg nieuwe regel toe";
|
||||
$a->strings["Rule Name"] = "Regel naam";
|
||||
$a->strings["Rule Expression"] = "Regel bewoording";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Voorbeelden:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>label</li></ul>";
|
||||
$a->strings["Cancel"] = "Annuleren";
|
||||
$a->strings["You must be logged in to use this method"] = "Je moet ingelogd zijn om deze methode te gebruiken";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Ongeldige formulier beveiligings token, vernieuw de pagina a.u.b.";
|
||||
$a->strings["The rule name and expression are required."] = "De regelnaam en bewoording zijn vereist.";
|
||||
$a->strings["Rule successfully added"] = "Regel succesvol toegevoegd";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Deze regel bestaat niet, of is niet van jou.";
|
||||
$a->strings["Rule successfully updated"] = "Regel succesvol opgeslagen";
|
||||
$a->strings["Rule successfully deleted"] = "Regel succesvol verwijderd";
|
||||
$a->strings["Missing argument: guid."] = "Parameter guid niet aanwezig";
|
||||
$a->strings["Unknown post with guid: %s"] = "Onbekend bericht met guid: %s";
|
||||
$a->strings["Method not found"] = "Methode niet gevonden";
|
||||
|
|
|
@ -3,19 +3,14 @@
|
|||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Waldemar Stoczkowski, 2018
|
||||
# Joe Doe, 2021
|
||||
# Piotr Strębski <strebski@gmail.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2022\n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Waldemar Stoczkowski <waldemar.stoczkowski@gmail.com>, 2018\n"
|
||||
"Language-Team: Polish (https://www.transifex.com/Friendica/teams/12172/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -23,44 +18,44 @@ msgstr ""
|
|||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr " Filtruj według reguły: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Zaawansowany filtr zawartości"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Powrót do ustawień dodatków"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Dodaj regułę"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania "
|
||||
"treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego "
|
||||
"przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych "
|
||||
"opracji oraz zmiennych, zapoznaj się ze stronę pomocy."
|
||||
"Dodaj i zarządzaj regułami filtrowania treści osobistych na tym ekranie. "
|
||||
"Reguły mają nazwę i dowolne wyrażenie, które zostanie dopasowane do danych "
|
||||
"postów. Aby uzyskać pełne informacje o dostępnych operacjach i zmiennych, "
|
||||
"sprawdź <a href=\"advancedcontentfilter/help\">stronę pomocy</a>."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Twoje zasady"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -68,106 +63,110 @@ msgstr ""
|
|||
"Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk "
|
||||
"znajdujący się nad tytułem."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Wyłącz"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Włącz"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Wyłącz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Włącz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Edytuj tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Edytuj regułę"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Zapisz tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Usuń tę regułę"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Reguła"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Dodaj nową regułę"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Nazwa reguły"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Wyrażanie reguły"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>przykład</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tagi</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Ten dodatek wymaga, aby ten węzeł miał co najmniej jeden wpis"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Musisz być zalogowany, aby skorzystać z tej metody"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Nieprawidłowy token zabezpieczający formularz, odśwież stronę."
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Nazwa reguły i wyrażenie są wymagane."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Reguła została pomyślnie dodana"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Reguła nie istnieje lub nie należy do ciebie."
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Reguła została pomyślnie zaktualizowana"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Reguła została pomyślnie usunięta"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Brakujący argument: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Nieznany post z guid:%s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Nie znaleziono metody"
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_pl")) {
|
||||
function string_plural_select_pl($n){
|
||||
$n = intval($n);
|
||||
if ($n==1) { return 0; } else if (($n%10>=2 && $n%10<=4) && ($n%100<12 || $n%100>14)) { return 1; } else if ($n!=1 && ($n%10>=0 && $n%10<=1) || ($n%10>=5 && $n%10<=9) || ($n%100>=12 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
return ($n==1 ? 0 : ($n%10>=2 && $n%10<=4) && ($n%100<12 || $n%100>14) ? 1 : $n!=1 && ($n%10>=0 && $n%10<=1) || ($n%10>=5 && $n%10<=9) || ($n%100>=12 && $n%100<=14) ? 2 : 3);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = ' Filtruj według reguły: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Zaawansowany filtr zawartości';
|
||||
$a->strings['Back to Addon Settings'] = 'Powrót do ustawień dodatków';
|
||||
$a->strings['Add a Rule'] = 'Dodaj regułę';
|
||||
$a->strings['Help'] = 'Pomoc';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Na tym ekranie możesz zarządzać swoimi osobistymi regułami filtrowania treści. Reguły składają się z nazwy oraz dowolnego wyrażenia, do którego przyrównywane będą posty. Aby uzyskć więcej informacji na temat dostępnych opracji oraz zmiennych, zapoznaj się ze stronę pomocy.';
|
||||
$a->strings['Your rules'] = 'Twoje zasady';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk znajdujący się nad tytułem.';
|
||||
$a->strings['Disabled'] = 'Wyłącz';
|
||||
$a->strings['Enabled'] = 'Włącz';
|
||||
$a->strings['Disable this rule'] = 'Wyłącz tę regułę';
|
||||
$a->strings['Enable this rule'] = 'Włącz tę regułę';
|
||||
$a->strings['Edit this rule'] = 'Edytuj tę regułę';
|
||||
$a->strings['Edit the rule'] = 'Edytuj regułę';
|
||||
$a->strings['Save this rule'] = 'Zapisz tę regułę';
|
||||
$a->strings['Delete this rule'] = 'Usuń tę regułę';
|
||||
$a->strings['Rule'] = 'Reguła';
|
||||
$a->strings['Close'] = 'Zamknij';
|
||||
$a->strings['Add new rule'] = 'Dodaj nową regułę';
|
||||
$a->strings['Rule Name'] = 'Nazwa reguły';
|
||||
$a->strings['Rule Expression'] = 'Wyrażanie reguły';
|
||||
$a->strings['Cancel'] = 'Anuluj';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Ten dodatek wymaga, aby ten węzeł miał co najmniej jeden wpis';
|
||||
$a->strings['You must be logged in to use this method'] = 'Musisz być zalogowany, aby skorzystać z tej metody';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Nieprawidłowy token zabezpieczający formularz, odśwież stronę.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Nazwa reguły i wyrażenie są wymagane.';
|
||||
$a->strings['Rule successfully added'] = 'Reguła została pomyślnie dodana';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Reguła nie istnieje lub nie należy do ciebie.';
|
||||
$a->strings['Rule successfully updated'] = 'Reguła została pomyślnie zaktualizowana';
|
||||
$a->strings['Rule successfully deleted'] = 'Reguła została pomyślnie usunięta';
|
||||
$a->strings['Missing argument: guid.'] = 'Brakujący argument: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Nieznany post z guid:%s';
|
||||
$a->strings['Method not found'] = 'Nie znaleziono metody';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = " Filtruj według reguły: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Zaawansowany filtr zawartości";
|
||||
$a->strings["Back to Addon Settings"] = "Powrót do ustawień dodatków";
|
||||
$a->strings["Add a Rule"] = "Dodaj regułę";
|
||||
$a->strings["Help"] = "Pomoc";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Dodaj i zarządzaj regułami filtrowania treści osobistych na tym ekranie. Reguły mają nazwę i dowolne wyrażenie, które zostanie dopasowane do danych postów. Aby uzyskać pełne informacje o dostępnych operacjach i zmiennych, sprawdź <a href=\"advancedcontentfilter/help\">stronę pomocy</a>.";
|
||||
$a->strings["Your rules"] = "Twoje zasady";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Nie masz jeszcze żadnych zasad! Zacznij dodawać jedną, klikając przycisk znajdujący się nad tytułem.";
|
||||
$a->strings["Disabled"] = "Wyłącz";
|
||||
$a->strings["Enabled"] = "Włącz";
|
||||
$a->strings["Disable this rule"] = "Wyłącz tę regułę";
|
||||
$a->strings["Enable this rule"] = "Włącz tę regułę";
|
||||
$a->strings["Edit this rule"] = "Edytuj tę regułę";
|
||||
$a->strings["Edit the rule"] = "Edytuj regułę";
|
||||
$a->strings["Save this rule"] = "Zapisz tę regułę";
|
||||
$a->strings["Delete this rule"] = "Usuń tę regułę";
|
||||
$a->strings["Rule"] = "Reguła";
|
||||
$a->strings["Close"] = "Zamknij";
|
||||
$a->strings["Add new rule"] = "Dodaj nową regułę";
|
||||
$a->strings["Rule Name"] = "Nazwa reguły";
|
||||
$a->strings["Rule Expression"] = "Wyrażanie reguły";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>przykład</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tagi</li></ul>";
|
||||
$a->strings["Cancel"] = "Anuluj";
|
||||
$a->strings["You must be logged in to use this method"] = "Musisz być zalogowany, aby skorzystać z tej metody";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Nieprawidłowy token zabezpieczający formularz, odśwież stronę.";
|
||||
$a->strings["The rule name and expression are required."] = "Nazwa reguły i wyrażenie są wymagane.";
|
||||
$a->strings["Rule successfully added"] = "Reguła została pomyślnie dodana";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Reguła nie istnieje lub nie należy do ciebie.";
|
||||
$a->strings["Rule successfully updated"] = "Reguła została pomyślnie zaktualizowana";
|
||||
$a->strings["Rule successfully deleted"] = "Reguła została pomyślnie usunięta";
|
||||
$a->strings["Missing argument: guid."] = "Brakujący argument: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Nieznany post z guid:%s";
|
||||
$a->strings["Method not found"] = "Nie znaleziono metody";
|
||||
|
|
|
@ -1,173 +0,0 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Alexey Adamov <2077@tutanota.com>, 2019
|
||||
# Eugene Veresk <eugene.vereshchagin@gmail.com>, 2020
|
||||
# Alexander An <ravnina@gmail.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Alexander An <ravnina@gmail.com>, 2022\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/Friendica/teams/12172/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Отфильтровано по правилу: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Расширенный фильтр содержимого"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "Вернуться к настройкам дополнений"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
msgid "Add a Rule"
|
||||
msgstr "Добавить правило"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
msgid "Help"
|
||||
msgstr "Помощь"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
msgstr ""
|
||||
"Добавляйте и управляйте своими собственными фильтрами на этой странице. У "
|
||||
"правил есть имя и произвольное выражение, которое будет сопоставляться с "
|
||||
"данными поста. Для полной ссылки на доступные операции и переменные, "
|
||||
"посмотрите страницу справки."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
msgid "Your rules"
|
||||
msgstr "Ваши правила"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr ""
|
||||
"У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку "
|
||||
"выше, рядом с названием."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
msgid "Disabled"
|
||||
msgstr "Отключено"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
msgid "Enabled"
|
||||
msgstr "Включено"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
msgid "Disable this rule"
|
||||
msgstr "Отключить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
msgid "Enable this rule"
|
||||
msgstr "Включить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
msgid "Edit this rule"
|
||||
msgstr "Изменить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
msgid "Edit the rule"
|
||||
msgstr "Изменить правило"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
msgid "Save this rule"
|
||||
msgstr "Сохранить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
msgid "Delete this rule"
|
||||
msgstr "Удалить это правило"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
msgid "Rule"
|
||||
msgstr "Правило"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
msgid "Add new rule"
|
||||
msgstr "Добавить новое правило"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
msgid "Rule Name"
|
||||
msgstr "Название правила"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
msgid "Rule Expression"
|
||||
msgstr "Содержание правила"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Это дополнение требует наличия хотя бы одной записи на этом узле."
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Вы должны авторизоваться для использования этого метода"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Неверный ключ, пожалуйста, перезагрузите страницу"
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Требуется ввести название и значение правила."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Правило успешно добавлено"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Правило не найдено или доступ к нему закрыт"
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Правило успешно обновлено"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Правило успешно удалено"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Отсутствующий аргумент: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Неизвестный пост в ID: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
msgid "Method not found"
|
||||
msgstr "Метод не найден"
|
|
@ -1,40 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ru")) {
|
||||
function string_plural_select_ru($n){
|
||||
$n = intval($n);
|
||||
if ($n%10==1 && $n%100!=11) { return 0; } else if ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14)) { return 1; } else if ($n%10==0 || ($n%10>=5 && $n%10<=9) || ($n%100>=11 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Отфильтровано по правилу: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Расширенный фильтр содержимого';
|
||||
$a->strings['Back to Addon Settings'] = 'Вернуться к настройкам дополнений';
|
||||
$a->strings['Add a Rule'] = 'Добавить правило';
|
||||
$a->strings['Help'] = 'Помощь';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Добавляйте и управляйте своими собственными фильтрами на этой странице. У правил есть имя и произвольное выражение, которое будет сопоставляться с данными поста. Для полной ссылки на доступные операции и переменные, посмотрите страницу справки.';
|
||||
$a->strings['Your rules'] = 'Ваши правила';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'У Вас нет ни одного правила. Начните добавление первого с нажатия на кнопку выше, рядом с названием.';
|
||||
$a->strings['Disabled'] = 'Отключено';
|
||||
$a->strings['Enabled'] = 'Включено';
|
||||
$a->strings['Disable this rule'] = 'Отключить это правило';
|
||||
$a->strings['Enable this rule'] = 'Включить это правило';
|
||||
$a->strings['Edit this rule'] = 'Изменить это правило';
|
||||
$a->strings['Edit the rule'] = 'Изменить правило';
|
||||
$a->strings['Save this rule'] = 'Сохранить это правило';
|
||||
$a->strings['Delete this rule'] = 'Удалить это правило';
|
||||
$a->strings['Rule'] = 'Правило';
|
||||
$a->strings['Close'] = 'Закрыть';
|
||||
$a->strings['Add new rule'] = 'Добавить новое правило';
|
||||
$a->strings['Rule Name'] = 'Название правила';
|
||||
$a->strings['Rule Expression'] = 'Содержание правила';
|
||||
$a->strings['Cancel'] = 'Отмена';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Это дополнение требует наличия хотя бы одной записи на этом узле.';
|
||||
$a->strings['You must be logged in to use this method'] = 'Вы должны авторизоваться для использования этого метода';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Неверный ключ, пожалуйста, перезагрузите страницу';
|
||||
$a->strings['The rule name and expression are required.'] = 'Требуется ввести название и значение правила.';
|
||||
$a->strings['Rule successfully added'] = 'Правило успешно добавлено';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Правило не найдено или доступ к нему закрыт';
|
||||
$a->strings['Rule successfully updated'] = 'Правило успешно обновлено';
|
||||
$a->strings['Rule successfully deleted'] = 'Правило успешно удалено';
|
||||
$a->strings['Missing argument: guid.'] = 'Отсутствующий аргумент: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Неизвестный пост в ID: %s';
|
||||
$a->strings['Method not found'] = 'Метод не найден';
|
|
@ -5,16 +5,15 @@
|
|||
#
|
||||
# Translators:
|
||||
# Bjoessi <torbjorn.andersson@syte.se>, 2019
|
||||
# Viktor Nilsson, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-05-11 08:54-0400\n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Viktor Nilsson, 2022\n"
|
||||
"Last-Translator: Bjoessi <torbjorn.andersson@syte.se>, 2019\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/Friendica/teams/12172/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -22,44 +21,44 @@ msgstr ""
|
|||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: advancedcontentfilter.php:154
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "Filtrerat efter regel: %s"
|
||||
|
||||
#: advancedcontentfilter.php:170 advancedcontentfilter.php:225
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "Avancerat innehållsfiter"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "TIllbaka till Tilläggsinställningar"
|
||||
|
||||
#: advancedcontentfilter.php:226
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "Lägg till en regel"
|
||||
|
||||
#: advancedcontentfilter.php:227
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "Hjälp"
|
||||
|
||||
#: advancedcontentfilter.php:228
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the help page."
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"Lägg till och hantera dina personliga regler för innehållsfilter i det här "
|
||||
"fönstret. Regler har ett namn och ett filteruttryck som jämförs mot "
|
||||
"inläggets innehåll. Förteckning över alla operander och variabler finns att "
|
||||
"hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>."
|
||||
"fönstret. Regler har ett namn och ett valfritt uttryck och kommer jämföras "
|
||||
"mot inläggets innehåll. Förteckning av alla operander och variabler finns "
|
||||
"att hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>."
|
||||
|
||||
#: advancedcontentfilter.php:229
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "Dina regler"
|
||||
|
||||
#: advancedcontentfilter.php:230
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
|
@ -67,106 +66,110 @@ msgstr ""
|
|||
"Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför,"
|
||||
" bredvid överskriften."
|
||||
|
||||
#: advancedcontentfilter.php:231
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "Inaktiverad"
|
||||
|
||||
#: advancedcontentfilter.php:232
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiverad"
|
||||
|
||||
#: advancedcontentfilter.php:233
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "Inaktivera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:234
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "Aktivera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:235
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "Redigera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:236
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "Redigera den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:237
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "Spara den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:238
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "Ta bort den här regeln"
|
||||
|
||||
#: advancedcontentfilter.php:239
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "Regel"
|
||||
|
||||
#: advancedcontentfilter.php:240
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: advancedcontentfilter.php:241
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "Lägg till ny regel"
|
||||
|
||||
#: advancedcontentfilter.php:242
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "Regelnamn"
|
||||
|
||||
#: advancedcontentfilter.php:243
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "Regeluttryck"
|
||||
|
||||
#: advancedcontentfilter.php:244
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>Exempel:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>taggar</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: advancedcontentfilter.php:295
|
||||
msgid "This addon requires this node having at least one post"
|
||||
msgstr "Detta tillägg kräver att denna nod har åtminstone ett inlägg"
|
||||
|
||||
#: advancedcontentfilter.php:325 advancedcontentfilter.php:336
|
||||
#: advancedcontentfilter.php:347 advancedcontentfilter.php:383
|
||||
#: advancedcontentfilter.php:414 advancedcontentfilter.php:437
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "Du måste vara inloggad för att använda den här funktionen"
|
||||
|
||||
#: advancedcontentfilter.php:351 advancedcontentfilter.php:387
|
||||
#: advancedcontentfilter.php:418
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan."
|
||||
|
||||
#: advancedcontentfilter.php:363
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "Regelns namn och uttryck krävs."
|
||||
|
||||
#: advancedcontentfilter.php:377
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "Regeln kunde läggas till"
|
||||
|
||||
#: advancedcontentfilter.php:391 advancedcontentfilter.php:422
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "Regeln finns inte eller tillhör inte dig."
|
||||
|
||||
#: advancedcontentfilter.php:408
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "Uppdatering av regel lyckades"
|
||||
|
||||
#: advancedcontentfilter.php:431
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "Borttagning av regel lyckades"
|
||||
|
||||
#: advancedcontentfilter.php:441
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "Argument saknas: guid."
|
||||
|
||||
#: advancedcontentfilter.php:449
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "Okänt inlägg med guid: %s"
|
||||
|
||||
#: src/middlewares.php:49
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "Metod hittades inte"
|
||||
|
|
|
@ -3,38 +3,39 @@
|
|||
if(! function_exists("string_plural_select_sv")) {
|
||||
function string_plural_select_sv($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
return ($n != 1);;
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = 'Filtrerat efter regel: %s';
|
||||
$a->strings['Advanced Content Filter'] = 'Avancerat innehållsfiter';
|
||||
$a->strings['Back to Addon Settings'] = 'TIllbaka till Tilläggsinställningar';
|
||||
$a->strings['Add a Rule'] = 'Lägg till en regel';
|
||||
$a->strings['Help'] = 'Hjälp';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the help page.'] = 'Lägg till och hantera dina personliga regler för innehållsfilter i det här fönstret. Regler har ett namn och ett filteruttryck som jämförs mot inläggets innehåll. Förteckning över alla operander och variabler finns att hitta på <a href="advancedcontentfilter/help">hjälpsidan</a>.';
|
||||
$a->strings['Your rules'] = 'Dina regler';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = 'Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför, bredvid överskriften.';
|
||||
$a->strings['Disabled'] = 'Inaktiverad';
|
||||
$a->strings['Enabled'] = 'Aktiverad';
|
||||
$a->strings['Disable this rule'] = 'Inaktivera den här regeln';
|
||||
$a->strings['Enable this rule'] = 'Aktivera den här regeln';
|
||||
$a->strings['Edit this rule'] = 'Redigera den här regeln';
|
||||
$a->strings['Edit the rule'] = 'Redigera den här regeln';
|
||||
$a->strings['Save this rule'] = 'Spara den här regeln';
|
||||
$a->strings['Delete this rule'] = 'Ta bort den här regeln';
|
||||
$a->strings['Rule'] = 'Regel';
|
||||
$a->strings['Close'] = 'Stäng';
|
||||
$a->strings['Add new rule'] = 'Lägg till ny regel';
|
||||
$a->strings['Rule Name'] = 'Regelnamn';
|
||||
$a->strings['Rule Expression'] = 'Regeluttryck';
|
||||
$a->strings['Cancel'] = 'Avbryt';
|
||||
$a->strings['This addon requires this node having at least one post'] = 'Detta tillägg kräver att denna nod har åtminstone ett inlägg';
|
||||
$a->strings['You must be logged in to use this method'] = 'Du måste vara inloggad för att använda den här funktionen';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = 'Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan.';
|
||||
$a->strings['The rule name and expression are required.'] = 'Regelns namn och uttryck krävs.';
|
||||
$a->strings['Rule successfully added'] = 'Regeln kunde läggas till';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = 'Regeln finns inte eller tillhör inte dig.';
|
||||
$a->strings['Rule successfully updated'] = 'Uppdatering av regel lyckades';
|
||||
$a->strings['Rule successfully deleted'] = 'Borttagning av regel lyckades';
|
||||
$a->strings['Missing argument: guid.'] = 'Argument saknas: guid.';
|
||||
$a->strings['Unknown post with guid: %s'] = 'Okänt inlägg med guid: %s';
|
||||
$a->strings['Method not found'] = 'Metod hittades inte';
|
||||
;
|
||||
$a->strings["Filtered by rule: %s"] = "Filtrerat efter regel: %s";
|
||||
$a->strings["Advanced Content Filter"] = "Avancerat innehållsfiter";
|
||||
$a->strings["Back to Addon Settings"] = "TIllbaka till Tilläggsinställningar";
|
||||
$a->strings["Add a Rule"] = "Lägg till en regel";
|
||||
$a->strings["Help"] = "Hjälp";
|
||||
$a->strings["Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href=\"advancedcontentfilter/help\">help page</a>."] = "Lägg till och hantera dina personliga regler för innehållsfilter i det här fönstret. Regler har ett namn och ett valfritt uttryck och kommer jämföras mot inläggets innehåll. Förteckning av alla operander och variabler finns att hitta på <a href=\"advancedcontentfilter/help\">hjälpsidan</a>.";
|
||||
$a->strings["Your rules"] = "Dina regler";
|
||||
$a->strings["You have no rules yet! Start adding one by clicking on the button above next to the title."] = "Du har inga regler än! Lägg till regler genom att klicka på knappen ovanför, bredvid överskriften.";
|
||||
$a->strings["Disabled"] = "Inaktiverad";
|
||||
$a->strings["Enabled"] = "Aktiverad";
|
||||
$a->strings["Disable this rule"] = "Inaktivera den här regeln";
|
||||
$a->strings["Enable this rule"] = "Aktivera den här regeln";
|
||||
$a->strings["Edit this rule"] = "Redigera den här regeln";
|
||||
$a->strings["Edit the rule"] = "Redigera den här regeln";
|
||||
$a->strings["Save this rule"] = "Spara den här regeln";
|
||||
$a->strings["Delete this rule"] = "Ta bort den här regeln";
|
||||
$a->strings["Rule"] = "Regel";
|
||||
$a->strings["Close"] = "Stäng";
|
||||
$a->strings["Add new rule"] = "Lägg till ny regel";
|
||||
$a->strings["Rule Name"] = "Regelnamn";
|
||||
$a->strings["Rule Expression"] = "Regeluttryck";
|
||||
$a->strings["<p>Examples:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"] = "<p>Exempel:</p><ul><li><pre>author_link == 'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>taggar</li></ul>";
|
||||
$a->strings["Cancel"] = "Avbryt";
|
||||
$a->strings["You must be logged in to use this method"] = "Du måste vara inloggad för att använda den här funktionen";
|
||||
$a->strings["Invalid form security token, please refresh the page."] = "Felaktigt säkerhetsformulärstecken, vänligen uppdatera sidan.";
|
||||
$a->strings["The rule name and expression are required."] = "Regelns namn och uttryck krävs.";
|
||||
$a->strings["Rule successfully added"] = "Regeln kunde läggas till";
|
||||
$a->strings["Rule doesn't exist or doesn't belong to you."] = "Regeln finns inte eller tillhör inte dig.";
|
||||
$a->strings["Rule successfully updated"] = "Uppdatering av regel lyckades";
|
||||
$a->strings["Rule successfully deleted"] = "Borttagning av regel lyckades";
|
||||
$a->strings["Missing argument: guid."] = "Argument saknas: guid.";
|
||||
$a->strings["Unknown post with guid: %s"] = "Okänt inlägg med guid: %s";
|
||||
$a->strings["Method not found"] = "Metod hittades inte";
|
||||
|
|
|
@ -1,171 +0,0 @@
|
|||
# ADDON advancedcontentfilter
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica advancedcontentfilter addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Tom <hxxtom@gmail.com>, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-17 04:04+0200\n"
|
||||
"PO-Revision-Date: 2018-05-24 06:41+0000\n"
|
||||
"Last-Translator: Tom <hxxtom@gmail.com>, 2020\n"
|
||||
"Language-Team: Chinese (China) (https://www.transifex.com/Friendica/teams/12172/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: advancedcontentfilter.php:134
|
||||
#, php-format
|
||||
msgid "Filtered by rule: %s"
|
||||
msgstr "通过规则过滤:%s"
|
||||
|
||||
#: advancedcontentfilter.php:147 advancedcontentfilter.php:204
|
||||
msgid "Advanced Content Filter"
|
||||
msgstr "高级内容过滤"
|
||||
|
||||
#: advancedcontentfilter.php:203
|
||||
msgid "Back to Addon Settings"
|
||||
msgstr "返回扩展设置"
|
||||
|
||||
#: advancedcontentfilter.php:205
|
||||
msgid "Add a Rule"
|
||||
msgstr "添加规则"
|
||||
|
||||
#: advancedcontentfilter.php:206
|
||||
msgid "Help"
|
||||
msgstr "帮助"
|
||||
|
||||
#: advancedcontentfilter.php:207
|
||||
msgid ""
|
||||
"Add and manage your personal content filter rules in this screen. Rules have"
|
||||
" a name and an arbitrary expression that will be matched against post data. "
|
||||
"For a complete reference of the available operations and variables, check "
|
||||
"the <a href=\"advancedcontentfilter/help\">help page</a>."
|
||||
msgstr ""
|
||||
"在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a "
|
||||
"href=\"advancedcontentfilter/help\">帮助页面</a>。"
|
||||
|
||||
#: advancedcontentfilter.php:208
|
||||
msgid "Your rules"
|
||||
msgstr "你的规则"
|
||||
|
||||
#: advancedcontentfilter.php:209
|
||||
msgid ""
|
||||
"You have no rules yet! Start adding one by clicking on the button above next"
|
||||
" to the title."
|
||||
msgstr "你还没有规则!点击标题上方的按钮开始新增规则。"
|
||||
|
||||
#: advancedcontentfilter.php:210
|
||||
msgid "Disabled"
|
||||
msgstr "禁用"
|
||||
|
||||
#: advancedcontentfilter.php:211
|
||||
msgid "Enabled"
|
||||
msgstr "启用"
|
||||
|
||||
#: advancedcontentfilter.php:212
|
||||
msgid "Disable this rule"
|
||||
msgstr "禁用此规则"
|
||||
|
||||
#: advancedcontentfilter.php:213
|
||||
msgid "Enable this rule"
|
||||
msgstr "启用此规则"
|
||||
|
||||
#: advancedcontentfilter.php:214
|
||||
msgid "Edit this rule"
|
||||
msgstr "编辑此规则"
|
||||
|
||||
#: advancedcontentfilter.php:215
|
||||
msgid "Edit the rule"
|
||||
msgstr "编辑规则"
|
||||
|
||||
#: advancedcontentfilter.php:216
|
||||
msgid "Save this rule"
|
||||
msgstr "保存规则"
|
||||
|
||||
#: advancedcontentfilter.php:217
|
||||
msgid "Delete this rule"
|
||||
msgstr "删除此规则"
|
||||
|
||||
#: advancedcontentfilter.php:218
|
||||
msgid "Rule"
|
||||
msgstr "规则"
|
||||
|
||||
#: advancedcontentfilter.php:219
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
|
||||
#: advancedcontentfilter.php:220
|
||||
msgid "Add new rule"
|
||||
msgstr "新增规则"
|
||||
|
||||
#: advancedcontentfilter.php:221
|
||||
msgid "Rule Name"
|
||||
msgstr "规则名"
|
||||
|
||||
#: advancedcontentfilter.php:222
|
||||
msgid "Rule Expression"
|
||||
msgstr "规则表达式"
|
||||
|
||||
#: advancedcontentfilter.php:223
|
||||
msgid ""
|
||||
"<p>Examples:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite'</pre></li><li>tags</li></ul>"
|
||||
msgstr ""
|
||||
"<p>例子:</p><ul><li><pre>author_link == "
|
||||
"'https://friendica.mrpetovan.com/profile/hypolite</pre></li><li>tags</li></ul>"
|
||||
|
||||
#: advancedcontentfilter.php:224
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: advancedcontentfilter.php:290 advancedcontentfilter.php:301
|
||||
#: advancedcontentfilter.php:312 advancedcontentfilter.php:346
|
||||
#: advancedcontentfilter.php:375 advancedcontentfilter.php:396
|
||||
msgid "You must be logged in to use this method"
|
||||
msgstr "使用此模式您必须先登录。"
|
||||
|
||||
#: advancedcontentfilter.php:316 advancedcontentfilter.php:350
|
||||
#: advancedcontentfilter.php:379
|
||||
msgid "Invalid form security token, please refresh the page."
|
||||
msgstr "无效的安全令牌,请刷新页面。"
|
||||
|
||||
#: advancedcontentfilter.php:328
|
||||
msgid "The rule name and expression are required."
|
||||
msgstr "规则名和表达式必填。"
|
||||
|
||||
#: advancedcontentfilter.php:340
|
||||
msgid "Rule successfully added"
|
||||
msgstr "规则添加成功。"
|
||||
|
||||
#: advancedcontentfilter.php:354 advancedcontentfilter.php:383
|
||||
msgid "Rule doesn't exist or doesn't belong to you."
|
||||
msgstr "规则不存在或不属于你。"
|
||||
|
||||
#: advancedcontentfilter.php:369
|
||||
msgid "Rule successfully updated"
|
||||
msgstr "规则更新成功"
|
||||
|
||||
#: advancedcontentfilter.php:390
|
||||
msgid "Rule successfully deleted"
|
||||
msgstr "规则删除成功"
|
||||
|
||||
#: advancedcontentfilter.php:400
|
||||
msgid "Missing argument: guid."
|
||||
msgstr "缺少参数:guid。"
|
||||
|
||||
#: advancedcontentfilter.php:406
|
||||
#, php-format
|
||||
msgid "Unknown post with guid: %s"
|
||||
msgstr "未知帖子 guid:%s"
|
||||
|
||||
#: src/middlewares.php:28
|
||||
msgid "Method not found"
|
||||
msgstr "未找到模式"
|
|
@ -1,40 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_zh_cn")) {
|
||||
function string_plural_select_zh_cn($n){
|
||||
$n = intval($n);
|
||||
return intval(0);
|
||||
}}
|
||||
$a->strings['Filtered by rule: %s'] = '通过规则过滤:%s';
|
||||
$a->strings['Advanced Content Filter'] = '高级内容过滤';
|
||||
$a->strings['Back to Addon Settings'] = '返回扩展设置';
|
||||
$a->strings['Add a Rule'] = '添加规则';
|
||||
$a->strings['Help'] = '帮助';
|
||||
$a->strings['Add and manage your personal content filter rules in this screen. Rules have a name and an arbitrary expression that will be matched against post data. For a complete reference of the available operations and variables, check the <a href="advancedcontentfilter/help">help page</a>.'] = '在此界面上添加和管理你的个人内容过滤规则。规则要有名称和能匹配帖子内容的任意表达式。完整可用的运算符和变量,请查看<a href="advancedcontentfilter/help">帮助页面</a>。';
|
||||
$a->strings['Your rules'] = '你的规则';
|
||||
$a->strings['You have no rules yet! Start adding one by clicking on the button above next to the title.'] = '你还没有规则!点击标题上方的按钮开始新增规则。';
|
||||
$a->strings['Disabled'] = '禁用';
|
||||
$a->strings['Enabled'] = '启用';
|
||||
$a->strings['Disable this rule'] = '禁用此规则';
|
||||
$a->strings['Enable this rule'] = '启用此规则';
|
||||
$a->strings['Edit this rule'] = '编辑此规则';
|
||||
$a->strings['Edit the rule'] = '编辑规则';
|
||||
$a->strings['Save this rule'] = '保存规则';
|
||||
$a->strings['Delete this rule'] = '删除此规则';
|
||||
$a->strings['Rule'] = '规则';
|
||||
$a->strings['Close'] = '关闭';
|
||||
$a->strings['Add new rule'] = '新增规则';
|
||||
$a->strings['Rule Name'] = '规则名';
|
||||
$a->strings['Rule Expression'] = '规则表达式';
|
||||
$a->strings['<p>Examples:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite\'</pre></li><li>tags</li></ul>'] = '<p>例子:</p><ul><li><pre>author_link == \'https://friendica.mrpetovan.com/profile/hypolite</pre></li><li>tags</li></ul>';
|
||||
$a->strings['Cancel'] = '取消';
|
||||
$a->strings['You must be logged in to use this method'] = '使用此模式您必须先登录。';
|
||||
$a->strings['Invalid form security token, please refresh the page.'] = '无效的安全令牌,请刷新页面。';
|
||||
$a->strings['The rule name and expression are required.'] = '规则名和表达式必填。';
|
||||
$a->strings['Rule successfully added'] = '规则添加成功。';
|
||||
$a->strings['Rule doesn\'t exist or doesn\'t belong to you.'] = '规则不存在或不属于你。';
|
||||
$a->strings['Rule successfully updated'] = '规则更新成功';
|
||||
$a->strings['Rule successfully deleted'] = '规则删除成功';
|
||||
$a->strings['Missing argument: guid.'] = '缺少参数:guid。';
|
||||
$a->strings['Unknown post with guid: %s'] = '未知帖子 guid:%s';
|
||||
$a->strings['Method not found'] = '未找到模式';
|
|
@ -1,32 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2020, Friendica
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
use Friendica\DI;
|
||||
$container = $slim->getContainer();
|
||||
|
||||
/** @var $slim \Slim\App */
|
||||
// Error handler based off https://stackoverflow.com/a/48135009/757392
|
||||
$container['errorHandler'] = function () {
|
||||
return function(Psr\Http\Message\RequestInterface $request, Psr\Http\Message\ResponseInterface $response, Exception $exception)
|
||||
{
|
||||
$responseCode = 500;
|
||||
|
||||
/**
|
||||
* The routing middleware should be added before the ErrorMiddleware
|
||||
* Otherwise exceptions thrown from it will not be handled
|
||||
*/
|
||||
$slim->addRoutingMiddleware();
|
||||
if (is_a($exception, 'Friendica\Network\HTTPException')) {
|
||||
$responseCode = $exception->httpcode;
|
||||
}
|
||||
|
||||
$errorMiddleware = $slim->addErrorMiddleware(true, true, true, DI::logger());
|
||||
$errors['message'] = $exception->getMessage();
|
||||
|
||||
$errors['responseCode'] = $responseCode;
|
||||
|
||||
return $response
|
||||
->withStatus($responseCode)
|
||||
->withJson($errors);
|
||||
};
|
||||
};
|
||||
|
||||
$container['notFoundHandler'] = function () {
|
||||
return function ()
|
||||
{
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException(L10n::t('Method not found'));
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,36 +1,22 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2020, Friendica
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
// Routes
|
||||
|
||||
/* @var $slim Slim\App */
|
||||
$slim->group('/advancedcontentfilter/api', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->group('/rules', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->get('', 'advancedcontentfilter_get_rules');
|
||||
$app->post('', 'advancedcontentfilter_post_rules');
|
||||
$slim->group('/advancedcontentfilter/api', function () {
|
||||
/* @var $this Slim\App */
|
||||
$this->group('/rules', function () {
|
||||
/* @var $this Slim\App */
|
||||
$this->get('', 'advancedcontentfilter_get_rules');
|
||||
$this->post('', 'advancedcontentfilter_post_rules');
|
||||
|
||||
$app->get('/{id}', 'advancedcontentfilter_get_rules_id');
|
||||
$app->put('/{id}', 'advancedcontentfilter_put_rules_id');
|
||||
$app->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
|
||||
$this->get('/{id}', 'advancedcontentfilter_get_rules_id');
|
||||
$this->put('/{id}', 'advancedcontentfilter_put_rules_id');
|
||||
$this->delete('/{id}', 'advancedcontentfilter_delete_rules_id');
|
||||
});
|
||||
|
||||
$app->group('/variables', function (\Slim\Routing\RouteCollectorProxy $app) {
|
||||
$app->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
|
||||
$this->group('/variables', function () {
|
||||
/* @var $this Slim\App */
|
||||
$this->get('/{guid}', 'advancedcontentfilter_get_variables_guid');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
3. Replace the render and staticRenderFns members in advancedcontentfilter.js by the contents of the anonymous() functions
|
||||
-->
|
||||
<div id="rules">
|
||||
<p><a href="settings/addons">🔙 {{ messages.backtosettings }}</a></p>
|
||||
<p><a href="settings/addon">🔙 {{ messages.backtosettings }}</a></p>
|
||||
<h1>
|
||||
{{ messages.title }}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div id="rules"></div>
|
||||
|
||||
<script>
|
||||
var existingRules = {{$rules|json_encode nofilter}};
|
||||
var existingRules = {{$rules nofilter}};
|
||||
|
||||
var messages = {
|
||||
{{foreach $messages as $key => $value}}
|
||||
|
@ -17,6 +17,6 @@
|
|||
</script>
|
||||
|
||||
<!-- JS -->
|
||||
<script src="{{$baseurl}}/addon/advancedcontentfilter/asset/vue/dist/vue.min.js"></script>
|
||||
<script src="{{$baseurl}}/view/asset/vue/dist/vue.min.js"></script>
|
||||
<script src="{{$baseurl}}/addon/advancedcontentfilter/advancedcontentfilter.js"></script>
|
||||
</div>
|
||||
|
|
18
advancedcontentfilter/vendor/autoload.php
vendored
18
advancedcontentfilter/vendor/autoload.php
vendored
|
@ -2,24 +2,6 @@
|
|||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
if (PHP_VERSION_ID < 50600) {
|
||||
if (!headers_sent()) {
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
}
|
||||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
|
||||
if (!ini_get('display_errors')) {
|
||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||
fwrite(STDERR, $err);
|
||||
} elseif (!headers_sent()) {
|
||||
echo $err;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
$err,
|
||||
E_USER_ERROR
|
||||
);
|
||||
}
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInitAdvancedContentFilterAddon::getLoader();
|
||||
|
|
|
@ -37,126 +37,57 @@ namespace Composer\Autoload;
|
|||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
* @see https://www.php-fig.org/psr/psr-0/
|
||||
* @see https://www.php-fig.org/psr/psr-4/
|
||||
* @see http://www.php-fig.org/psr/psr-0/
|
||||
* @see http://www.php-fig.org/psr/psr-4/
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
/** @var \Closure(string):void */
|
||||
private static $includeFile;
|
||||
|
||||
/** @var string|null */
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
/**
|
||||
* @var array<string, array<string, int>>
|
||||
*/
|
||||
private $prefixLengthsPsr4 = array();
|
||||
/**
|
||||
* @var array<string, list<string>>
|
||||
*/
|
||||
private $prefixDirsPsr4 = array();
|
||||
/**
|
||||
* @var list<string>
|
||||
*/
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
/**
|
||||
* List of PSR-0 prefixes
|
||||
*
|
||||
* Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2')))
|
||||
*
|
||||
* @var array<string, array<string, list<string>>>
|
||||
*/
|
||||
private $prefixesPsr0 = array();
|
||||
/**
|
||||
* @var list<string>
|
||||
*/
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
/** @var bool */
|
||||
private $useIncludePath = false;
|
||||
|
||||
/**
|
||||
* @var array<string, string>
|
||||
*/
|
||||
private $classMap = array();
|
||||
|
||||
/** @var bool */
|
||||
private $classMapAuthoritative = false;
|
||||
|
||||
/**
|
||||
* @var array<string, bool>
|
||||
*/
|
||||
private $missingClasses = array();
|
||||
|
||||
/** @var string|null */
|
||||
private $apcuPrefix;
|
||||
|
||||
/**
|
||||
* @var array<string, self>
|
||||
*/
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
/**
|
||||
* @param string|null $vendorDir
|
||||
*/
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
self::initializeIncludeClosure();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, list<string>>
|
||||
*/
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
||||
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, list<string>>
|
||||
*/
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<string>
|
||||
*/
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<string>
|
||||
*/
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string> Array of classname => path
|
||||
*/
|
||||
public function getClassMap()
|
||||
{
|
||||
return $this->classMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, string> $classMap Class to filename map
|
||||
*
|
||||
* @return void
|
||||
* @param array $classMap Class to filename map
|
||||
*/
|
||||
public function addClassMap(array $classMap)
|
||||
{
|
||||
|
@ -171,25 +102,22 @@ class ClassLoader
|
|||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param list<string>|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @return void
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
$paths = (array) $paths;
|
||||
if (!$prefix) {
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr0
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$this->fallbackDirsPsr0,
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -198,19 +126,19 @@ class ClassLoader
|
|||
|
||||
$first = $prefix[0];
|
||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
||||
$this->prefixesPsr0[$first][$prefix] = $paths;
|
||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($prepend) {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->prefixesPsr0[$first][$prefix]
|
||||
);
|
||||
} else {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix],
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -219,28 +147,25 @@ class ClassLoader
|
|||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param list<string>|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
$paths = (array) $paths;
|
||||
if (!$prefix) {
|
||||
// Register directories for the root namespace.
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr4
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$this->fallbackDirsPsr4,
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
||||
|
@ -250,18 +175,18 @@ class ClassLoader
|
|||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = $paths;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
} elseif ($prepend) {
|
||||
// Prepend directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$paths,
|
||||
(array) $paths,
|
||||
$this->prefixDirsPsr4[$prefix]
|
||||
);
|
||||
} else {
|
||||
// Append directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$this->prefixDirsPsr4[$prefix],
|
||||
$paths
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -270,10 +195,8 @@ class ClassLoader
|
|||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param list<string>|string $paths The PSR-0 base directories
|
||||
*
|
||||
* @return void
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
|
@ -288,12 +211,10 @@ class ClassLoader
|
|||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param list<string>|string $paths The PSR-4 base directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setPsr4($prefix, $paths)
|
||||
{
|
||||
|
@ -313,8 +234,6 @@ class ClassLoader
|
|||
* Turns on searching the include path for class files.
|
||||
*
|
||||
* @param bool $useIncludePath
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setUseIncludePath($useIncludePath)
|
||||
{
|
||||
|
@ -337,8 +256,6 @@ class ClassLoader
|
|||
* that have not been registered with the class map.
|
||||
*
|
||||
* @param bool $classMapAuthoritative
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||
{
|
||||
|
@ -359,12 +276,10 @@ class ClassLoader
|
|||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
||||
*
|
||||
* @param string|null $apcuPrefix
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setApcuPrefix($apcuPrefix)
|
||||
{
|
||||
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
||||
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -381,55 +296,33 @@ class ClassLoader
|
|||
* Registers this instance as an autoloader.
|
||||
*
|
||||
* @param bool $prepend Whether to prepend the autoloader or not
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register($prepend = false)
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
||||
|
||||
if (null === $this->vendorDir) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($prepend) {
|
||||
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
||||
} else {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
self::$registeredLoaders[$this->vendorDir] = $this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters this instance as an autoloader.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
|
||||
if (null !== $this->vendorDir) {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return true|null True if loaded, null otherwise
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
if ($file = $this->findFile($class)) {
|
||||
$includeFile = self::$includeFile;
|
||||
$includeFile($file);
|
||||
includeFile($file);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -474,21 +367,6 @@ class ClassLoader
|
|||
return $file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the currently registered loaders keyed by their corresponding vendor directories.
|
||||
*
|
||||
* @return array<string, self>
|
||||
*/
|
||||
public static function getRegisteredLoaders()
|
||||
{
|
||||
return self::$registeredLoaders;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $class
|
||||
* @param string $ext
|
||||
* @return string|false
|
||||
*/
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
|
@ -499,7 +377,7 @@ class ClassLoader
|
|||
$subPath = $class;
|
||||
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
||||
$subPath = substr($subPath, 0, $lastPos);
|
||||
$search = $subPath . '\\';
|
||||
$search = $subPath.'\\';
|
||||
if (isset($this->prefixDirsPsr4[$search])) {
|
||||
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
||||
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
||||
|
@ -554,26 +432,14 @@ class ClassLoader
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
private static function initializeIncludeClosure()
|
||||
{
|
||||
if (self::$includeFile !== null) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
self::$includeFile = \Closure::bind(static function($file) {
|
||||
include $file;
|
||||
}, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
include $file;
|
||||
}
|
||||
|
|
|
@ -1,359 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Composer\Semver\VersionParser;
|
||||
|
||||
/**
|
||||
* This class is copied in every Composer installed project and available to all
|
||||
*
|
||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||
*
|
||||
* @final
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
/**
|
||||
* @var mixed[]|null
|
||||
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
|
||||
*/
|
||||
private static $installed;
|
||||
|
||||
/**
|
||||
* @var bool|null
|
||||
*/
|
||||
private static $canGetVendors;
|
||||
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
*/
|
||||
private static $installedByVendor = array();
|
||||
|
||||
/**
|
||||
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
||||
*
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackages()
|
||||
{
|
||||
$packages = array();
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
$packages[] = array_keys($installed['versions']);
|
||||
}
|
||||
|
||||
if (1 === \count($packages)) {
|
||||
return $packages[0];
|
||||
}
|
||||
|
||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of all package names with a specific type e.g. 'library'
|
||||
*
|
||||
* @param string $type
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackagesByType($type)
|
||||
{
|
||||
$packagesByType = array();
|
||||
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
foreach ($installed['versions'] as $name => $package) {
|
||||
if (isset($package['type']) && $package['type'] === $type) {
|
||||
$packagesByType[] = $name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $packagesByType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package is installed
|
||||
*
|
||||
* This also returns true if the package name is provided or replaced by another package
|
||||
*
|
||||
* @param string $packageName
|
||||
* @param bool $includeDevRequirements
|
||||
* @return bool
|
||||
*/
|
||||
public static function isInstalled($packageName, $includeDevRequirements = true)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package satisfies a version constraint
|
||||
*
|
||||
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
||||
*
|
||||
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
||||
*
|
||||
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
||||
* @param string $packageName
|
||||
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
||||
* @return bool
|
||||
*/
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints((string) $constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a version constraint representing all the range(s) which are installed for a given package
|
||||
*
|
||||
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
||||
* whether a given version of a package is installed, and not just whether it exists
|
||||
*
|
||||
* @param string $packageName
|
||||
* @return string Version constraint usable with composer/semver
|
||||
*/
|
||||
public static function getVersionRanges($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ranges = array();
|
||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
||||
}
|
||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
||||
}
|
||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
||||
}
|
||||
|
||||
return implode(' || ', $ranges);
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getPrettyVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
||||
*/
|
||||
public static function getReference($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['reference'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
||||
*/
|
||||
public static function getInstallPath($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
|
||||
*/
|
||||
public static function getRootPackage()
|
||||
{
|
||||
$installed = self::getInstalled();
|
||||
|
||||
return $installed[0]['root'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw installed.php data for custom implementations
|
||||
*
|
||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||
* @return array[]
|
||||
* @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
|
||||
*/
|
||||
public static function getRawData()
|
||||
{
|
||||
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = include __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
return self::$installed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||
*
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
*/
|
||||
public static function getAllRawData()
|
||||
{
|
||||
return self::getInstalled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets you reload the static array from another file
|
||||
*
|
||||
* This is only useful for complex integrations in which a project needs to use
|
||||
* this class but then also needs to execute another project's autoloader in process,
|
||||
* and wants to ensure both projects have access to their version of installed.php.
|
||||
*
|
||||
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
||||
* the data it needs from this class, then call reload() with
|
||||
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
||||
* the project in which it runs can then also use this class safely, without
|
||||
* interference between PHPUnit's dependencies and the project's dependencies.
|
||||
*
|
||||
* @param array[] $data A vendor/composer/installed.php data set
|
||||
* @return void
|
||||
*
|
||||
* @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
|
||||
*/
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
|
||||
*/
|
||||
private static function getInstalled()
|
||||
{
|
||||
if (null === self::$canGetVendors) {
|
||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require $vendorDir.'/composer/installed.php';
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = $required;
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require __DIR__ . '/installed.php';
|
||||
self::$installed = $required;
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
if (self::$installed !== array()) {
|
||||
$installed[] = self::$installed;
|
||||
}
|
||||
|
||||
return $installed;
|
||||
}
|
||||
}
|
|
@ -2,12 +2,10 @@
|
|||
|
||||
// autoload_classmap.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
'FastRoute\\BadRouteException' => $vendorDir . '/nikic/fast-route/src/BadRouteException.php',
|
||||
'FastRoute\\DataGenerator' => $vendorDir . '/nikic/fast-route/src/DataGenerator.php',
|
||||
'FastRoute\\DataGenerator\\CharCountBased' => $vendorDir . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
|
||||
|
@ -25,8 +23,27 @@ return array(
|
|||
'FastRoute\\RouteCollector' => $vendorDir . '/nikic/fast-route/src/RouteCollector.php',
|
||||
'FastRoute\\RouteParser' => $vendorDir . '/nikic/fast-route/src/RouteParser.php',
|
||||
'FastRoute\\RouteParser\\Std' => $vendorDir . '/nikic/fast-route/src/RouteParser/Std.php',
|
||||
'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
|
||||
'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
|
||||
'Interop\\Container\\ContainerInterface' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
|
||||
'Interop\\Container\\Exception\\ContainerException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
|
||||
'Interop\\Container\\Exception\\NotFoundException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
|
||||
'Pimple\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Container.php',
|
||||
'Pimple\\Exception\\ExpectedInvokableException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php',
|
||||
'Pimple\\Exception\\FrozenServiceException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php',
|
||||
'Pimple\\Exception\\InvalidServiceIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php',
|
||||
'Pimple\\Exception\\UnknownIdentifierException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php',
|
||||
'Pimple\\Psr11\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/Container.php',
|
||||
'Pimple\\Psr11\\ServiceLocator' => $vendorDir . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php',
|
||||
'Pimple\\ServiceIterator' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceIterator.php',
|
||||
'Pimple\\ServiceProviderInterface' => $vendorDir . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php',
|
||||
'Pimple\\Tests\\Fixtures\\Invokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\NonInvokable' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php',
|
||||
'Pimple\\Tests\\Fixtures\\Service' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php',
|
||||
'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php',
|
||||
'Pimple\\Tests\\PimpleTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ContainerTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php',
|
||||
'Pimple\\Tests\\ServiceIteratorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php',
|
||||
'Psr\\Cache\\CacheException' => $vendorDir . '/psr/cache/src/CacheException.php',
|
||||
'Psr\\Cache\\CacheItemInterface' => $vendorDir . '/psr/cache/src/CacheItemInterface.php',
|
||||
'Psr\\Cache\\CacheItemPoolInterface' => $vendorDir . '/psr/cache/src/CacheItemPoolInterface.php',
|
||||
|
@ -35,20 +52,12 @@ return array(
|
|||
'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php',
|
||||
'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php',
|
||||
'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php',
|
||||
'Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php',
|
||||
'Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php',
|
||||
'Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php',
|
||||
'Psr\\Http\\Server\\MiddlewareInterface' => $vendorDir . '/psr/http-server-middleware/src/MiddlewareInterface.php',
|
||||
'Psr\\Http\\Server\\RequestHandlerInterface' => $vendorDir . '/psr/http-server-handler/src/RequestHandlerInterface.php',
|
||||
'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
|
||||
'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
|
||||
'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
|
||||
|
@ -57,122 +66,83 @@ return array(
|
|||
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
|
||||
'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
|
||||
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
||||
'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
|
||||
'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
|
||||
'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
|
||||
'Slim\\App' => $vendorDir . '/slim/slim/Slim/App.php',
|
||||
'Slim\\CallableResolver' => $vendorDir . '/slim/slim/Slim/CallableResolver.php',
|
||||
'Slim\\Error\\AbstractErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\HtmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\JsonErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\XmlErrorRenderer' => $vendorDir . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
|
||||
'Slim\\Exception\\HttpBadRequestException' => $vendorDir . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
|
||||
'Slim\\Exception\\HttpException' => $vendorDir . '/slim/slim/Slim/Exception/HttpException.php',
|
||||
'Slim\\Exception\\HttpForbiddenException' => $vendorDir . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
|
||||
'Slim\\Exception\\HttpGoneException' => $vendorDir . '/slim/slim/Slim/Exception/HttpGoneException.php',
|
||||
'Slim\\Exception\\HttpInternalServerErrorException' => $vendorDir . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
|
||||
'Slim\\Exception\\HttpMethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
|
||||
'Slim\\Exception\\HttpNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
|
||||
'Slim\\Exception\\HttpNotImplementedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
|
||||
'Slim\\Exception\\HttpSpecializedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
|
||||
'Slim\\Exception\\HttpTooManyRequestsException' => $vendorDir . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
|
||||
'Slim\\Exception\\HttpUnauthorizedException' => $vendorDir . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
|
||||
'Slim\\Factory\\AppFactory' => $vendorDir . '/slim/slim/Slim/Factory/AppFactory.php',
|
||||
'Slim\\Factory\\Psr17\\GuzzlePsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/GuzzlePsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\HttpSoftPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/HttpSoftPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\LaminasDiactorosPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/LaminasDiactorosPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\NyholmPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/NyholmPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/Psr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17FactoryProvider' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/Psr17FactoryProvider.php',
|
||||
'Slim\\Factory\\Psr17\\ServerRequestCreator' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/ServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimHttpPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpServerRequestCreator' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimHttpServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimPsr17Factory' => $vendorDir . '/slim/slim/Slim/Factory/Psr17/SlimPsr17Factory.php',
|
||||
'Slim\\Factory\\ServerRequestCreatorFactory' => $vendorDir . '/slim/slim/Slim/Factory/ServerRequestCreatorFactory.php',
|
||||
'Slim\\Handlers\\ErrorHandler' => $vendorDir . '/slim/slim/Slim/Handlers/ErrorHandler.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestHandler' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestHandler.php',
|
||||
'Slim\\CallableResolverAwareTrait' => $vendorDir . '/slim/slim/Slim/CallableResolverAwareTrait.php',
|
||||
'Slim\\Collection' => $vendorDir . '/slim/slim/Slim/Collection.php',
|
||||
'Slim\\Container' => $vendorDir . '/slim/slim/Slim/Container.php',
|
||||
'Slim\\DefaultServicesProvider' => $vendorDir . '/slim/slim/Slim/DefaultServicesProvider.php',
|
||||
'Slim\\DeferredCallable' => $vendorDir . '/slim/slim/Slim/DeferredCallable.php',
|
||||
'Slim\\Exception\\ContainerException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerException.php',
|
||||
'Slim\\Exception\\ContainerValueNotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php',
|
||||
'Slim\\Exception\\InvalidMethodException' => $vendorDir . '/slim/slim/Slim/Exception/InvalidMethodException.php',
|
||||
'Slim\\Exception\\MethodNotAllowedException' => $vendorDir . '/slim/slim/Slim/Exception/MethodNotAllowedException.php',
|
||||
'Slim\\Exception\\NotFoundException' => $vendorDir . '/slim/slim/Slim/Exception/NotFoundException.php',
|
||||
'Slim\\Exception\\SlimException' => $vendorDir . '/slim/slim/Slim/Exception/SlimException.php',
|
||||
'Slim\\Handlers\\AbstractError' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractError.php',
|
||||
'Slim\\Handlers\\AbstractHandler' => $vendorDir . '/slim/slim/Slim/Handlers/AbstractHandler.php',
|
||||
'Slim\\Handlers\\Error' => $vendorDir . '/slim/slim/Slim/Handlers/Error.php',
|
||||
'Slim\\Handlers\\NotAllowed' => $vendorDir . '/slim/slim/Slim/Handlers/NotAllowed.php',
|
||||
'Slim\\Handlers\\NotFound' => $vendorDir . '/slim/slim/Slim/Handlers/NotFound.php',
|
||||
'Slim\\Handlers\\PhpError' => $vendorDir . '/slim/slim/Slim/Handlers/PhpError.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponse' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => $vendorDir . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
|
||||
'Slim\\Interfaces\\AdvancedCallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.php',
|
||||
'Slim\\Http\\Body' => $vendorDir . '/slim/slim/Slim/Http/Body.php',
|
||||
'Slim\\Http\\Cookies' => $vendorDir . '/slim/slim/Slim/Http/Cookies.php',
|
||||
'Slim\\Http\\Environment' => $vendorDir . '/slim/slim/Slim/Http/Environment.php',
|
||||
'Slim\\Http\\Headers' => $vendorDir . '/slim/slim/Slim/Http/Headers.php',
|
||||
'Slim\\Http\\Message' => $vendorDir . '/slim/slim/Slim/Http/Message.php',
|
||||
'Slim\\Http\\Request' => $vendorDir . '/slim/slim/Slim/Http/Request.php',
|
||||
'Slim\\Http\\RequestBody' => $vendorDir . '/slim/slim/Slim/Http/RequestBody.php',
|
||||
'Slim\\Http\\Response' => $vendorDir . '/slim/slim/Slim/Http/Response.php',
|
||||
'Slim\\Http\\Stream' => $vendorDir . '/slim/slim/Slim/Http/Stream.php',
|
||||
'Slim\\Http\\UploadedFile' => $vendorDir . '/slim/slim/Slim/Http/UploadedFile.php',
|
||||
'Slim\\Http\\Uri' => $vendorDir . '/slim/slim/Slim/Http/Uri.php',
|
||||
'Slim\\Interfaces\\CallableResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
|
||||
'Slim\\Interfaces\\DispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
|
||||
'Slim\\Interfaces\\ErrorHandlerInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
|
||||
'Slim\\Interfaces\\ErrorRendererInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
|
||||
'Slim\\Interfaces\\CollectionInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/CollectionInterface.php',
|
||||
'Slim\\Interfaces\\Http\\CookiesInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php',
|
||||
'Slim\\Interfaces\\Http\\EnvironmentInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php',
|
||||
'Slim\\Interfaces\\Http\\HeadersInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
|
||||
'Slim\\Interfaces\\InvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\MiddlewareDispatcherInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/MiddlewareDispatcherInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Psr17FactoryInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryProviderInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/Psr17FactoryProviderInterface.php',
|
||||
'Slim\\Interfaces\\RequestHandlerInvocationStrategyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RequestHandlerInvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteCollectorInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorProxyInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteCollectorProxyInterface.php',
|
||||
'Slim\\Interfaces\\RouteGroupInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
|
||||
'Slim\\Interfaces\\RouteInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteInterface.php',
|
||||
'Slim\\Interfaces\\RouteParserInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
|
||||
'Slim\\Interfaces\\RouteResolverInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
|
||||
'Slim\\Interfaces\\ServerRequestCreatorInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
|
||||
'Slim\\Logger' => $vendorDir . '/slim/slim/Slim/Logger.php',
|
||||
'Slim\\MiddlewareDispatcher' => $vendorDir . '/slim/slim/Slim/MiddlewareDispatcher.php',
|
||||
'Slim\\Middleware\\BodyParsingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/BodyParsingMiddleware.php',
|
||||
'Slim\\Middleware\\ContentLengthMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/ContentLengthMiddleware.php',
|
||||
'Slim\\Middleware\\ErrorMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/ErrorMiddleware.php',
|
||||
'Slim\\Middleware\\MethodOverrideMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/MethodOverrideMiddleware.php',
|
||||
'Slim\\Middleware\\OutputBufferingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/OutputBufferingMiddleware.php',
|
||||
'Slim\\Middleware\\RoutingMiddleware' => $vendorDir . '/slim/slim/Slim/Middleware/RoutingMiddleware.php',
|
||||
'Slim\\ResponseEmitter' => $vendorDir . '/slim/slim/Slim/ResponseEmitter.php',
|
||||
'Slim\\Routing\\Dispatcher' => $vendorDir . '/slim/slim/Slim/Routing/Dispatcher.php',
|
||||
'Slim\\Routing\\FastRouteDispatcher' => $vendorDir . '/slim/slim/Slim/Routing/FastRouteDispatcher.php',
|
||||
'Slim\\Routing\\Route' => $vendorDir . '/slim/slim/Slim/Routing/Route.php',
|
||||
'Slim\\Routing\\RouteCollector' => $vendorDir . '/slim/slim/Slim/Routing/RouteCollector.php',
|
||||
'Slim\\Routing\\RouteCollectorProxy' => $vendorDir . '/slim/slim/Slim/Routing/RouteCollectorProxy.php',
|
||||
'Slim\\Routing\\RouteContext' => $vendorDir . '/slim/slim/Slim/Routing/RouteContext.php',
|
||||
'Slim\\Routing\\RouteGroup' => $vendorDir . '/slim/slim/Slim/Routing/RouteGroup.php',
|
||||
'Slim\\Routing\\RouteParser' => $vendorDir . '/slim/slim/Slim/Routing/RouteParser.php',
|
||||
'Slim\\Routing\\RouteResolver' => $vendorDir . '/slim/slim/Slim/Routing/RouteResolver.php',
|
||||
'Slim\\Routing\\RouteRunner' => $vendorDir . '/slim/slim/Slim/Routing/RouteRunner.php',
|
||||
'Slim\\Routing\\RoutingResults' => $vendorDir . '/slim/slim/Slim/Routing/RoutingResults.php',
|
||||
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Slim\\Interfaces\\RouterInterface' => $vendorDir . '/slim/slim/Slim/Interfaces/RouterInterface.php',
|
||||
'Slim\\MiddlewareAwareTrait' => $vendorDir . '/slim/slim/Slim/MiddlewareAwareTrait.php',
|
||||
'Slim\\Routable' => $vendorDir . '/slim/slim/Slim/Routable.php',
|
||||
'Slim\\Route' => $vendorDir . '/slim/slim/Slim/Route.php',
|
||||
'Slim\\RouteGroup' => $vendorDir . '/slim/slim/Slim/RouteGroup.php',
|
||||
'Slim\\Router' => $vendorDir . '/slim/slim/Slim/Router.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => $vendorDir . '/symfony/cache/Adapter/AdapterInterface.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => $vendorDir . '/symfony/cache/Adapter/ApcuAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/ArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => $vendorDir . '/symfony/cache/Adapter/ChainAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => $vendorDir . '/symfony/cache/Adapter/DoctrineAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => $vendorDir . '/symfony/cache/Adapter/MemcachedAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => $vendorDir . '/symfony/cache/Adapter/NullAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => $vendorDir . '/symfony/cache/Adapter/PdoAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => $vendorDir . '/symfony/cache/Adapter/PhpFilesAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => $vendorDir . '/symfony/cache/Adapter/ProxyAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => $vendorDir . '/symfony/cache/Adapter/Psr16Adapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/RedisTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\SimpleCacheAdapter' => $vendorDir . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => $vendorDir . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapterEvent' => $vendorDir . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => $vendorDir . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\CacheItem' => $vendorDir . '/symfony/cache/CacheItem.php',
|
||||
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => $vendorDir . '/symfony/cache/DataCollector/CacheDataCollector.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => $vendorDir . '/symfony/cache/DependencyInjection/CacheCollectorPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => $vendorDir . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php',
|
||||
'Symfony\\Component\\Cache\\DoctrineProvider' => $vendorDir . '/symfony/cache/DoctrineProvider.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\CacheException' => $vendorDir . '/symfony/cache/Exception/CacheException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/cache/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\LogicException' => $vendorDir . '/symfony/cache/Exception/LogicException.php',
|
||||
'Symfony\\Component\\Cache\\LockRegistry' => $vendorDir . '/symfony/cache/LockRegistry.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DefaultMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => $vendorDir . '/symfony/cache/Marshaller/DeflateMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => $vendorDir . '/symfony/cache/Marshaller/MarshallerInterface.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => $vendorDir . '/symfony/cache/Marshaller/TagAwareMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\PruneableInterface' => $vendorDir . '/symfony/cache/PruneableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Psr16Cache' => $vendorDir . '/symfony/cache/Psr16Cache.php',
|
||||
'Symfony\\Component\\Cache\\ResettableInterface' => $vendorDir . '/symfony/cache/ResettableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => $vendorDir . '/symfony/cache/Simple/AbstractCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => $vendorDir . '/symfony/cache/Simple/ApcuCache.php',
|
||||
|
@ -188,11 +158,10 @@ return array(
|
|||
'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => $vendorDir . '/symfony/cache/Simple/Psr6Cache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\RedisCache' => $vendorDir . '/symfony/cache/Simple/RedisCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCache' => $vendorDir . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => $vendorDir . '/symfony/cache/Traits/AbstractAdapterTrait.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCacheEvent' => $vendorDir . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractTrait' => $vendorDir . '/symfony/cache/Traits/AbstractTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => $vendorDir . '/symfony/cache/Traits/ApcuTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ArrayTrait' => $vendorDir . '/symfony/cache/Traits/ArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => $vendorDir . '/symfony/cache/Traits/ContractsTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\DoctrineTrait' => $vendorDir . '/symfony/cache/Traits/DoctrineTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemCommonTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => $vendorDir . '/symfony/cache/Traits/FilesystemTrait.php',
|
||||
|
@ -201,8 +170,6 @@ return array(
|
|||
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => $vendorDir . '/symfony/cache/Traits/PhpArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterNodeProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => $vendorDir . '/symfony/cache/Traits/RedisTrait.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Compiler' => $vendorDir . '/symfony/expression-language/Compiler.php',
|
||||
|
@ -230,32 +197,5 @@ return array(
|
|||
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => $vendorDir . '/symfony/expression-language/SyntaxError.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Token' => $vendorDir . '/symfony/expression-language/Token.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => $vendorDir . '/symfony/expression-language/TokenStream.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/var-exporter/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => $vendorDir . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
|
||||
'Symfony\\Component\\VarExporter\\Instantiator' => $vendorDir . '/symfony/var-exporter/Instantiator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Exporter' => $vendorDir . '/symfony/var-exporter/Internal/Exporter.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => $vendorDir . '/symfony/var-exporter/Internal/Hydrator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Reference' => $vendorDir . '/symfony/var-exporter/Internal/Reference.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Registry' => $vendorDir . '/symfony/var-exporter/Internal/Registry.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Values' => $vendorDir . '/symfony/var-exporter/Internal/Values.php',
|
||||
'Symfony\\Component\\VarExporter\\VarExporter' => $vendorDir . '/symfony/var-exporter/VarExporter.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheInterface' => $vendorDir . '/symfony/cache-contracts/CacheInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheTrait' => $vendorDir . '/symfony/cache-contracts/CacheTrait.php',
|
||||
'Symfony\\Contracts\\Cache\\CallbackInterface' => $vendorDir . '/symfony/cache-contracts/CallbackInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\ItemInterface' => $vendorDir . '/symfony/cache-contracts/ItemInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => $vendorDir . '/symfony/cache-contracts/TagAwareCacheInterface.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\Required' => $vendorDir . '/symfony/service-contracts/Attribute/Required.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => $vendorDir . '/symfony/service-contracts/Attribute/SubscribedService.php',
|
||||
'Symfony\\Contracts\\Service\\ResetInterface' => $vendorDir . '/symfony/service-contracts/ResetInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => $vendorDir . '/symfony/service-contracts/ServiceLocatorTrait.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceProviderInterface' => $vendorDir . '/symfony/service-contracts/ServiceProviderInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php',
|
||||
'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => $vendorDir . '/symfony/service-contracts/Test/ServiceLocatorTest.php',
|
||||
'Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php',
|
||||
'Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php',
|
||||
'Symfony\\Polyfill\\Php80\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/PhpToken.php',
|
||||
'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
|
||||
'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
|
||||
'Symfony\\Polyfill\\Apcu\\Apcu' => $vendorDir . '/symfony/polyfill-apcu/Apcu.php',
|
||||
);
|
||||
|
|
|
@ -2,12 +2,10 @@
|
|||
|
||||
// autoload_files.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php',
|
||||
'32dcc8afd4335739640db7d200c1971d' => $vendorDir . '/symfony/polyfill-apcu/bootstrap.php',
|
||||
'253c157292f75eb38082b5acb06f3f01' => $vendorDir . '/nikic/fast-route/src/functions.php',
|
||||
);
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
// autoload_namespaces.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Pimple' => array($vendorDir . '/pimple/pimple/src'),
|
||||
);
|
||||
|
|
|
@ -2,22 +2,19 @@
|
|||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
|
||||
'Symfony\\Polyfill\\Php73\\' => array($vendorDir . '/symfony/polyfill-php73'),
|
||||
'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'),
|
||||
'Symfony\\Contracts\\Cache\\' => array($vendorDir . '/symfony/cache-contracts'),
|
||||
'Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
|
||||
'Symfony\\Polyfill\\Apcu\\' => array($vendorDir . '/symfony/polyfill-apcu'),
|
||||
'Symfony\\Component\\ExpressionLanguage\\' => array($vendorDir . '/symfony/expression-language'),
|
||||
'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
|
||||
'Slim\\' => array($vendorDir . '/slim/slim/Slim'),
|
||||
'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
|
||||
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
||||
'Psr\\Http\\Server\\' => array($vendorDir . '/psr/http-server-handler/src', $vendorDir . '/psr/http-server-middleware/src'),
|
||||
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'),
|
||||
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
|
||||
'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
|
||||
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
|
||||
'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'),
|
||||
'FastRoute\\' => array($vendorDir . '/nikic/fast-route/src'),
|
||||
);
|
||||
|
|
|
@ -13,38 +13,58 @@ class ComposerAutoloaderInitAdvancedContentFilterAddon
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Composer\Autoload\ClassLoader
|
||||
*/
|
||||
public static function getLoader()
|
||||
{
|
||||
if (null !== self::$loader) {
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitAdvancedContentFilterAddon', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::getInitializer($loader));
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require_once __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->register(true);
|
||||
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::$files;
|
||||
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
||||
require $file;
|
||||
}
|
||||
}, null, null);
|
||||
foreach ($filesToLoad as $fileIdentifier => $file) {
|
||||
$requireFile($fileIdentifier, $file);
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInitAdvancedContentFilterAddon::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequireAdvancedContentFilterAddon($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
function composerRequireAdvancedContentFilterAddon($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
require $file;
|
||||
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,32 +7,30 @@ namespace Composer\Autoload;
|
|||
class ComposerStaticInitAdvancedContentFilterAddon
|
||||
{
|
||||
public static $files = array (
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||
'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
|
||||
'32dcc8afd4335739640db7d200c1971d' => __DIR__ . '/..' . '/symfony/polyfill-apcu/bootstrap.php',
|
||||
'253c157292f75eb38082b5acb06f3f01' => __DIR__ . '/..' . '/nikic/fast-route/src/functions.php',
|
||||
);
|
||||
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
'S' =>
|
||||
array (
|
||||
'Symfony\\Polyfill\\Php80\\' => 23,
|
||||
'Symfony\\Polyfill\\Php73\\' => 23,
|
||||
'Symfony\\Contracts\\Service\\' => 26,
|
||||
'Symfony\\Contracts\\Cache\\' => 24,
|
||||
'Symfony\\Component\\VarExporter\\' => 30,
|
||||
'Symfony\\Polyfill\\Apcu\\' => 22,
|
||||
'Symfony\\Component\\ExpressionLanguage\\' => 37,
|
||||
'Symfony\\Component\\Cache\\' => 24,
|
||||
'Slim\\' => 5,
|
||||
),
|
||||
'P' =>
|
||||
array (
|
||||
'Psr\\SimpleCache\\' => 16,
|
||||
'Psr\\Log\\' => 8,
|
||||
'Psr\\Http\\Server\\' => 16,
|
||||
'Psr\\Http\\Message\\' => 17,
|
||||
'Psr\\Container\\' => 14,
|
||||
'Psr\\Cache\\' => 10,
|
||||
),
|
||||
'I' =>
|
||||
array (
|
||||
'Interop\\Container\\' => 18,
|
||||
),
|
||||
'F' =>
|
||||
array (
|
||||
'FastRoute\\' => 10,
|
||||
|
@ -40,25 +38,9 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
);
|
||||
|
||||
public static $prefixDirsPsr4 = array (
|
||||
'Symfony\\Polyfill\\Php80\\' =>
|
||||
'Symfony\\Polyfill\\Apcu\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
|
||||
),
|
||||
'Symfony\\Polyfill\\Php73\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/polyfill-php73',
|
||||
),
|
||||
'Symfony\\Contracts\\Service\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/service-contracts',
|
||||
),
|
||||
'Symfony\\Contracts\\Cache\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/cache-contracts',
|
||||
),
|
||||
'Symfony\\Component\\VarExporter\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/symfony/var-exporter',
|
||||
0 => __DIR__ . '/..' . '/symfony/polyfill-apcu',
|
||||
),
|
||||
'Symfony\\Component\\ExpressionLanguage\\' =>
|
||||
array (
|
||||
|
@ -72,19 +54,17 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
array (
|
||||
0 => __DIR__ . '/..' . '/slim/slim/Slim',
|
||||
),
|
||||
'Psr\\SimpleCache\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/simple-cache/src',
|
||||
),
|
||||
'Psr\\Log\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
|
||||
),
|
||||
'Psr\\Http\\Server\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/http-server-handler/src',
|
||||
1 => __DIR__ . '/..' . '/psr/http-server-middleware/src',
|
||||
),
|
||||
'Psr\\Http\\Message\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/http-message/src',
|
||||
1 => __DIR__ . '/..' . '/psr/http-factory/src',
|
||||
),
|
||||
'Psr\\Container\\' =>
|
||||
array (
|
||||
|
@ -94,15 +74,27 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
array (
|
||||
0 => __DIR__ . '/..' . '/psr/cache/src',
|
||||
),
|
||||
'Interop\\Container\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container',
|
||||
),
|
||||
'FastRoute\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/nikic/fast-route/src',
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixesPsr0 = array (
|
||||
'P' =>
|
||||
array (
|
||||
'Pimple' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/pimple/pimple/src',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
public static $classMap = array (
|
||||
'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
|
||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
'FastRoute\\BadRouteException' => __DIR__ . '/..' . '/nikic/fast-route/src/BadRouteException.php',
|
||||
'FastRoute\\DataGenerator' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator.php',
|
||||
'FastRoute\\DataGenerator\\CharCountBased' => __DIR__ . '/..' . '/nikic/fast-route/src/DataGenerator/CharCountBased.php',
|
||||
|
@ -120,8 +112,27 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'FastRoute\\RouteCollector' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteCollector.php',
|
||||
'FastRoute\\RouteParser' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser.php',
|
||||
'FastRoute\\RouteParser\\Std' => __DIR__ . '/..' . '/nikic/fast-route/src/RouteParser/Std.php',
|
||||
'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
|
||||
'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
|
||||
'Interop\\Container\\ContainerInterface' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
|
||||
'Interop\\Container\\Exception\\ContainerException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
|
||||
'Interop\\Container\\Exception\\NotFoundException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
|
||||
'Pimple\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php',
|
||||
'Pimple\\Exception\\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php',
|
||||
'Pimple\\Exception\\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php',
|
||||
'Pimple\\Exception\\InvalidServiceIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php',
|
||||
'Pimple\\Exception\\UnknownIdentifierException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php',
|
||||
'Pimple\\Psr11\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/Container.php',
|
||||
'Pimple\\Psr11\\ServiceLocator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php',
|
||||
'Pimple\\ServiceIterator' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceIterator.php',
|
||||
'Pimple\\ServiceProviderInterface' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/ServiceProviderInterface.php',
|
||||
'Pimple\\Tests\\Fixtures\\Invokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Invokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\NonInvokable' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/NonInvokable.php',
|
||||
'Pimple\\Tests\\Fixtures\\PimpleServiceProvider' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/PimpleServiceProvider.php',
|
||||
'Pimple\\Tests\\Fixtures\\Service' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Fixtures/Service.php',
|
||||
'Pimple\\Tests\\PimpleServiceProviderInterfaceTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleServiceProviderInterfaceTest.php',
|
||||
'Pimple\\Tests\\PimpleTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/PimpleTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php',
|
||||
'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php',
|
||||
'Pimple\\Tests\\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php',
|
||||
'Psr\\Cache\\CacheException' => __DIR__ . '/..' . '/psr/cache/src/CacheException.php',
|
||||
'Psr\\Cache\\CacheItemInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemInterface.php',
|
||||
'Psr\\Cache\\CacheItemPoolInterface' => __DIR__ . '/..' . '/psr/cache/src/CacheItemPoolInterface.php',
|
||||
|
@ -130,20 +141,12 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php',
|
||||
'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php',
|
||||
'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php',
|
||||
'Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php',
|
||||
'Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php',
|
||||
'Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php',
|
||||
'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php',
|
||||
'Psr\\Http\\Server\\MiddlewareInterface' => __DIR__ . '/..' . '/psr/http-server-middleware/src/MiddlewareInterface.php',
|
||||
'Psr\\Http\\Server\\RequestHandlerInterface' => __DIR__ . '/..' . '/psr/http-server-handler/src/RequestHandlerInterface.php',
|
||||
'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
|
||||
'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
|
||||
'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
|
||||
|
@ -152,122 +155,83 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php',
|
||||
'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php',
|
||||
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
|
||||
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
||||
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
||||
'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php',
|
||||
'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php',
|
||||
'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php',
|
||||
'Slim\\App' => __DIR__ . '/..' . '/slim/slim/Slim/App.php',
|
||||
'Slim\\CallableResolver' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolver.php',
|
||||
'Slim\\Error\\AbstractErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/AbstractErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\HtmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/HtmlErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\JsonErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/JsonErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\PlainTextErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/PlainTextErrorRenderer.php',
|
||||
'Slim\\Error\\Renderers\\XmlErrorRenderer' => __DIR__ . '/..' . '/slim/slim/Slim/Error/Renderers/XmlErrorRenderer.php',
|
||||
'Slim\\Exception\\HttpBadRequestException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpBadRequestException.php',
|
||||
'Slim\\Exception\\HttpException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpException.php',
|
||||
'Slim\\Exception\\HttpForbiddenException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpForbiddenException.php',
|
||||
'Slim\\Exception\\HttpGoneException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpGoneException.php',
|
||||
'Slim\\Exception\\HttpInternalServerErrorException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpInternalServerErrorException.php',
|
||||
'Slim\\Exception\\HttpMethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpMethodNotAllowedException.php',
|
||||
'Slim\\Exception\\HttpNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotFoundException.php',
|
||||
'Slim\\Exception\\HttpNotImplementedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpNotImplementedException.php',
|
||||
'Slim\\Exception\\HttpSpecializedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpSpecializedException.php',
|
||||
'Slim\\Exception\\HttpTooManyRequestsException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpTooManyRequestsException.php',
|
||||
'Slim\\Exception\\HttpUnauthorizedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/HttpUnauthorizedException.php',
|
||||
'Slim\\Factory\\AppFactory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/AppFactory.php',
|
||||
'Slim\\Factory\\Psr17\\GuzzlePsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/GuzzlePsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\HttpSoftPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/HttpSoftPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\LaminasDiactorosPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/LaminasDiactorosPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\NyholmPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/NyholmPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/Psr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\Psr17FactoryProvider' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/Psr17FactoryProvider.php',
|
||||
'Slim\\Factory\\Psr17\\ServerRequestCreator' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/ServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimHttpPsr17Factory.php',
|
||||
'Slim\\Factory\\Psr17\\SlimHttpServerRequestCreator' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimHttpServerRequestCreator.php',
|
||||
'Slim\\Factory\\Psr17\\SlimPsr17Factory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/Psr17/SlimPsr17Factory.php',
|
||||
'Slim\\Factory\\ServerRequestCreatorFactory' => __DIR__ . '/..' . '/slim/slim/Slim/Factory/ServerRequestCreatorFactory.php',
|
||||
'Slim\\Handlers\\ErrorHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/ErrorHandler.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestHandler.php',
|
||||
'Slim\\CallableResolverAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/CallableResolverAwareTrait.php',
|
||||
'Slim\\Collection' => __DIR__ . '/..' . '/slim/slim/Slim/Collection.php',
|
||||
'Slim\\Container' => __DIR__ . '/..' . '/slim/slim/Slim/Container.php',
|
||||
'Slim\\DefaultServicesProvider' => __DIR__ . '/..' . '/slim/slim/Slim/DefaultServicesProvider.php',
|
||||
'Slim\\DeferredCallable' => __DIR__ . '/..' . '/slim/slim/Slim/DeferredCallable.php',
|
||||
'Slim\\Exception\\ContainerException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerException.php',
|
||||
'Slim\\Exception\\ContainerValueNotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/ContainerValueNotFoundException.php',
|
||||
'Slim\\Exception\\InvalidMethodException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/InvalidMethodException.php',
|
||||
'Slim\\Exception\\MethodNotAllowedException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/MethodNotAllowedException.php',
|
||||
'Slim\\Exception\\NotFoundException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/NotFoundException.php',
|
||||
'Slim\\Exception\\SlimException' => __DIR__ . '/..' . '/slim/slim/Slim/Exception/SlimException.php',
|
||||
'Slim\\Handlers\\AbstractError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractError.php',
|
||||
'Slim\\Handlers\\AbstractHandler' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/AbstractHandler.php',
|
||||
'Slim\\Handlers\\Error' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Error.php',
|
||||
'Slim\\Handlers\\NotAllowed' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotAllowed.php',
|
||||
'Slim\\Handlers\\NotFound' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/NotFound.php',
|
||||
'Slim\\Handlers\\PhpError' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/PhpError.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponse' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponse.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseArgs.php',
|
||||
'Slim\\Handlers\\Strategies\\RequestResponseNamedArgs' => __DIR__ . '/..' . '/slim/slim/Slim/Handlers/Strategies/RequestResponseNamedArgs.php',
|
||||
'Slim\\Interfaces\\AdvancedCallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/AdvancedCallableResolverInterface.php',
|
||||
'Slim\\Http\\Body' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Body.php',
|
||||
'Slim\\Http\\Cookies' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Cookies.php',
|
||||
'Slim\\Http\\Environment' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Environment.php',
|
||||
'Slim\\Http\\Headers' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Headers.php',
|
||||
'Slim\\Http\\Message' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Message.php',
|
||||
'Slim\\Http\\Request' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Request.php',
|
||||
'Slim\\Http\\RequestBody' => __DIR__ . '/..' . '/slim/slim/Slim/Http/RequestBody.php',
|
||||
'Slim\\Http\\Response' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Response.php',
|
||||
'Slim\\Http\\Stream' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Stream.php',
|
||||
'Slim\\Http\\UploadedFile' => __DIR__ . '/..' . '/slim/slim/Slim/Http/UploadedFile.php',
|
||||
'Slim\\Http\\Uri' => __DIR__ . '/..' . '/slim/slim/Slim/Http/Uri.php',
|
||||
'Slim\\Interfaces\\CallableResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CallableResolverInterface.php',
|
||||
'Slim\\Interfaces\\DispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/DispatcherInterface.php',
|
||||
'Slim\\Interfaces\\ErrorHandlerInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorHandlerInterface.php',
|
||||
'Slim\\Interfaces\\ErrorRendererInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ErrorRendererInterface.php',
|
||||
'Slim\\Interfaces\\CollectionInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/CollectionInterface.php',
|
||||
'Slim\\Interfaces\\Http\\CookiesInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/CookiesInterface.php',
|
||||
'Slim\\Interfaces\\Http\\EnvironmentInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/EnvironmentInterface.php',
|
||||
'Slim\\Interfaces\\Http\\HeadersInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Http/HeadersInterface.php',
|
||||
'Slim\\Interfaces\\InvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/InvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\MiddlewareDispatcherInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/MiddlewareDispatcherInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Psr17FactoryInterface.php',
|
||||
'Slim\\Interfaces\\Psr17FactoryProviderInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/Psr17FactoryProviderInterface.php',
|
||||
'Slim\\Interfaces\\RequestHandlerInvocationStrategyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RequestHandlerInvocationStrategyInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteCollectorInterface.php',
|
||||
'Slim\\Interfaces\\RouteCollectorProxyInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteCollectorProxyInterface.php',
|
||||
'Slim\\Interfaces\\RouteGroupInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteGroupInterface.php',
|
||||
'Slim\\Interfaces\\RouteInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteInterface.php',
|
||||
'Slim\\Interfaces\\RouteParserInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteParserInterface.php',
|
||||
'Slim\\Interfaces\\RouteResolverInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouteResolverInterface.php',
|
||||
'Slim\\Interfaces\\ServerRequestCreatorInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/ServerRequestCreatorInterface.php',
|
||||
'Slim\\Logger' => __DIR__ . '/..' . '/slim/slim/Slim/Logger.php',
|
||||
'Slim\\MiddlewareDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareDispatcher.php',
|
||||
'Slim\\Middleware\\BodyParsingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/BodyParsingMiddleware.php',
|
||||
'Slim\\Middleware\\ContentLengthMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/ContentLengthMiddleware.php',
|
||||
'Slim\\Middleware\\ErrorMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/ErrorMiddleware.php',
|
||||
'Slim\\Middleware\\MethodOverrideMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/MethodOverrideMiddleware.php',
|
||||
'Slim\\Middleware\\OutputBufferingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/OutputBufferingMiddleware.php',
|
||||
'Slim\\Middleware\\RoutingMiddleware' => __DIR__ . '/..' . '/slim/slim/Slim/Middleware/RoutingMiddleware.php',
|
||||
'Slim\\ResponseEmitter' => __DIR__ . '/..' . '/slim/slim/Slim/ResponseEmitter.php',
|
||||
'Slim\\Routing\\Dispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/Dispatcher.php',
|
||||
'Slim\\Routing\\FastRouteDispatcher' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/FastRouteDispatcher.php',
|
||||
'Slim\\Routing\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/Route.php',
|
||||
'Slim\\Routing\\RouteCollector' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteCollector.php',
|
||||
'Slim\\Routing\\RouteCollectorProxy' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteCollectorProxy.php',
|
||||
'Slim\\Routing\\RouteContext' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteContext.php',
|
||||
'Slim\\Routing\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteGroup.php',
|
||||
'Slim\\Routing\\RouteParser' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteParser.php',
|
||||
'Slim\\Routing\\RouteResolver' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteResolver.php',
|
||||
'Slim\\Routing\\RouteRunner' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RouteRunner.php',
|
||||
'Slim\\Routing\\RoutingResults' => __DIR__ . '/..' . '/slim/slim/Slim/Routing/RoutingResults.php',
|
||||
'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
|
||||
'Slim\\Interfaces\\RouterInterface' => __DIR__ . '/..' . '/slim/slim/Slim/Interfaces/RouterInterface.php',
|
||||
'Slim\\MiddlewareAwareTrait' => __DIR__ . '/..' . '/slim/slim/Slim/MiddlewareAwareTrait.php',
|
||||
'Slim\\Routable' => __DIR__ . '/..' . '/slim/slim/Slim/Routable.php',
|
||||
'Slim\\Route' => __DIR__ . '/..' . '/slim/slim/Slim/Route.php',
|
||||
'Slim\\RouteGroup' => __DIR__ . '/..' . '/slim/slim/Slim/RouteGroup.php',
|
||||
'Slim\\Router' => __DIR__ . '/..' . '/slim/slim/Slim/Router.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AbstractTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/AbstractTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\AdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/AdapterInterface.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ApcuAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ApcuAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ChainAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ChainAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\DoctrineAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/DoctrineAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\FilesystemTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/FilesystemTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\MemcachedAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/MemcachedAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\NullAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/NullAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PdoAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PdoAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpArrayAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpArrayAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\PhpFilesAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/PhpFilesAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\ProxyAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/ProxyAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\Psr16Adapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/Psr16Adapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\RedisTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/RedisTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\SimpleCacheAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/SimpleCacheAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TagAwareAdapterInterface' => __DIR__ . '/..' . '/symfony/cache/Adapter/TagAwareAdapterInterface.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableAdapterEvent' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableAdapter.php',
|
||||
'Symfony\\Component\\Cache\\Adapter\\TraceableTagAwareAdapter' => __DIR__ . '/..' . '/symfony/cache/Adapter/TraceableTagAwareAdapter.php',
|
||||
'Symfony\\Component\\Cache\\CacheItem' => __DIR__ . '/..' . '/symfony/cache/CacheItem.php',
|
||||
'Symfony\\Component\\Cache\\DataCollector\\CacheDataCollector' => __DIR__ . '/..' . '/symfony/cache/DataCollector/CacheDataCollector.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CacheCollectorPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CacheCollectorPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolClearerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolClearerPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPass.php',
|
||||
'Symfony\\Component\\Cache\\DependencyInjection\\CachePoolPrunerPass' => __DIR__ . '/..' . '/symfony/cache/DependencyInjection/CachePoolPrunerPass.php',
|
||||
'Symfony\\Component\\Cache\\DoctrineProvider' => __DIR__ . '/..' . '/symfony/cache/DoctrineProvider.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\CacheException' => __DIR__ . '/..' . '/symfony/cache/Exception/CacheException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/cache/Exception/InvalidArgumentException.php',
|
||||
'Symfony\\Component\\Cache\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/cache/Exception/LogicException.php',
|
||||
'Symfony\\Component\\Cache\\LockRegistry' => __DIR__ . '/..' . '/symfony/cache/LockRegistry.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DefaultMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DefaultMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\DeflateMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/DeflateMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\MarshallerInterface' => __DIR__ . '/..' . '/symfony/cache/Marshaller/MarshallerInterface.php',
|
||||
'Symfony\\Component\\Cache\\Marshaller\\TagAwareMarshaller' => __DIR__ . '/..' . '/symfony/cache/Marshaller/TagAwareMarshaller.php',
|
||||
'Symfony\\Component\\Cache\\PruneableInterface' => __DIR__ . '/..' . '/symfony/cache/PruneableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Psr16Cache' => __DIR__ . '/..' . '/symfony/cache/Psr16Cache.php',
|
||||
'Symfony\\Component\\Cache\\ResettableInterface' => __DIR__ . '/..' . '/symfony/cache/ResettableInterface.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\AbstractCache' => __DIR__ . '/..' . '/symfony/cache/Simple/AbstractCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\ApcuCache' => __DIR__ . '/..' . '/symfony/cache/Simple/ApcuCache.php',
|
||||
|
@ -283,11 +247,10 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Symfony\\Component\\Cache\\Simple\\Psr6Cache' => __DIR__ . '/..' . '/symfony/cache/Simple/Psr6Cache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\RedisCache' => __DIR__ . '/..' . '/symfony/cache/Simple/RedisCache.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCache' => __DIR__ . '/..' . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractAdapterTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractAdapterTrait.php',
|
||||
'Symfony\\Component\\Cache\\Simple\\TraceableCacheEvent' => __DIR__ . '/..' . '/symfony/cache/Simple/TraceableCache.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\AbstractTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/AbstractTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ApcuTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ApcuTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ContractsTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ContractsTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\DoctrineTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/DoctrineTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemCommonTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemCommonTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\FilesystemTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/FilesystemTrait.php',
|
||||
|
@ -296,8 +259,6 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Symfony\\Component\\Cache\\Traits\\PhpArrayTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpArrayTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterNodeProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php',
|
||||
'Symfony\\Component\\Cache\\Traits\\RedisTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisTrait.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Compiler' => __DIR__ . '/..' . '/symfony/expression-language/Compiler.php',
|
||||
|
@ -325,34 +286,7 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
'Symfony\\Component\\ExpressionLanguage\\SyntaxError' => __DIR__ . '/..' . '/symfony/expression-language/SyntaxError.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\Token' => __DIR__ . '/..' . '/symfony/expression-language/Token.php',
|
||||
'Symfony\\Component\\ExpressionLanguage\\TokenStream' => __DIR__ . '/..' . '/symfony/expression-language/TokenStream.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ClassNotFoundException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ClassNotFoundException.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/ExceptionInterface.php',
|
||||
'Symfony\\Component\\VarExporter\\Exception\\NotInstantiableTypeException' => __DIR__ . '/..' . '/symfony/var-exporter/Exception/NotInstantiableTypeException.php',
|
||||
'Symfony\\Component\\VarExporter\\Instantiator' => __DIR__ . '/..' . '/symfony/var-exporter/Instantiator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Exporter' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Exporter.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Hydrator' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Hydrator.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Reference' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Reference.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Registry' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Registry.php',
|
||||
'Symfony\\Component\\VarExporter\\Internal\\Values' => __DIR__ . '/..' . '/symfony/var-exporter/Internal/Values.php',
|
||||
'Symfony\\Component\\VarExporter\\VarExporter' => __DIR__ . '/..' . '/symfony/var-exporter/VarExporter.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\CacheTrait' => __DIR__ . '/..' . '/symfony/cache-contracts/CacheTrait.php',
|
||||
'Symfony\\Contracts\\Cache\\CallbackInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/CallbackInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\ItemInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/ItemInterface.php',
|
||||
'Symfony\\Contracts\\Cache\\TagAwareCacheInterface' => __DIR__ . '/..' . '/symfony/cache-contracts/TagAwareCacheInterface.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\Required' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/Required.php',
|
||||
'Symfony\\Contracts\\Service\\Attribute\\SubscribedService' => __DIR__ . '/..' . '/symfony/service-contracts/Attribute/SubscribedService.php',
|
||||
'Symfony\\Contracts\\Service\\ResetInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ResetInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceLocatorTrait.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceProviderInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceProviderInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberInterface.php',
|
||||
'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php',
|
||||
'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/service-contracts/Test/ServiceLocatorTest.php',
|
||||
'Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php',
|
||||
'Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php',
|
||||
'Symfony\\Polyfill\\Php80\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/PhpToken.php',
|
||||
'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
|
||||
'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
|
||||
'Symfony\\Polyfill\\Apcu\\Apcu' => __DIR__ . '/..' . '/symfony/polyfill-apcu/Apcu.php',
|
||||
);
|
||||
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
|
@ -360,6 +294,7 @@ class ComposerStaticInitAdvancedContentFilterAddon
|
|||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitAdvancedContentFilterAddon::$prefixDirsPsr4;
|
||||
$loader->prefixesPsr0 = ComposerStaticInitAdvancedContentFilterAddon::$prefixesPsr0;
|
||||
$loader->classMap = ComposerStaticInitAdvancedContentFilterAddon::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
|
|
1806
advancedcontentfilter/vendor/composer/installed.json
vendored
1806
advancedcontentfilter/vendor/composer/installed.json
vendored
File diff suppressed because it is too large
Load diff
203
advancedcontentfilter/vendor/composer/installed.php
vendored
203
advancedcontentfilter/vendor/composer/installed.php
vendored
|
@ -1,203 +0,0 @@
|
|||
<?php return array(
|
||||
'root' => array(
|
||||
'name' => 'friendica-addons/advancedcontentfilter',
|
||||
'pretty_version' => 'dev-develop',
|
||||
'version' => 'dev-develop',
|
||||
'reference' => 'feb7722f723b21e76fdf20a7ce4b42fa5ffcdcb9',
|
||||
'type' => 'friendica-addon',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'dev' => false,
|
||||
),
|
||||
'versions' => array(
|
||||
'friendica-addons/advancedcontentfilter' => array(
|
||||
'pretty_version' => 'dev-develop',
|
||||
'version' => 'dev-develop',
|
||||
'reference' => 'feb7722f723b21e76fdf20a7ce4b42fa5ffcdcb9',
|
||||
'type' => 'friendica-addon',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'nikic/fast-route' => array(
|
||||
'pretty_version' => 'v1.3.0',
|
||||
'version' => '1.3.0.0',
|
||||
'reference' => '181d480e08d9476e61381e04a71b34dc0432e812',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../nikic/fast-route',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/cache' => array(
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/cache',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/cache-implementation' => array(
|
||||
'dev_requirement' => false,
|
||||
'provided' => array(
|
||||
0 => '1.0|2.0',
|
||||
),
|
||||
),
|
||||
'psr/container' => array(
|
||||
'pretty_version' => '1.1.2',
|
||||
'version' => '1.1.2.0',
|
||||
'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/container',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-factory' => array(
|
||||
'pretty_version' => '1.0.2',
|
||||
'version' => '1.0.2.0',
|
||||
'reference' => 'e616d01114759c4c489f93b099585439f795fe35',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-factory',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-message' => array(
|
||||
'pretty_version' => '2.0',
|
||||
'version' => '2.0.0.0',
|
||||
'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-message',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-server-handler' => array(
|
||||
'pretty_version' => '1.0.2',
|
||||
'version' => '1.0.2.0',
|
||||
'reference' => '84c4fb66179be4caaf8e97bd239203245302e7d4',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-server-handler',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-server-middleware' => array(
|
||||
'pretty_version' => '1.0.2',
|
||||
'version' => '1.0.2.0',
|
||||
'reference' => 'c1481f747daaa6a0782775cd6a8c26a1bf4a3829',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-server-middleware',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/log' => array(
|
||||
'pretty_version' => '1.1.4',
|
||||
'version' => '1.1.4.0',
|
||||
'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/log',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/simple-cache-implementation' => array(
|
||||
'dev_requirement' => false,
|
||||
'provided' => array(
|
||||
0 => '1.0|2.0',
|
||||
),
|
||||
),
|
||||
'slim/slim' => array(
|
||||
'pretty_version' => '4.13.0',
|
||||
'version' => '4.13.0.0',
|
||||
'reference' => '038fd5713d5a41636fdff0e8dcceedecdd17fc17',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../slim/slim',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/cache' => array(
|
||||
'pretty_version' => 'v4.4.48',
|
||||
'version' => '4.4.48.0',
|
||||
'reference' => '3b98ed664887ad197b8ede3da2432787212eb915',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/cache',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/cache-contracts' => array(
|
||||
'pretty_version' => 'v2.5.2',
|
||||
'version' => '2.5.2.0',
|
||||
'reference' => '64be4a7acb83b6f2bf6de9a02cee6dad41277ebc',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/cache-contracts',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/cache-implementation' => array(
|
||||
'dev_requirement' => false,
|
||||
'provided' => array(
|
||||
0 => '1.0|2.0',
|
||||
),
|
||||
),
|
||||
'symfony/deprecation-contracts' => array(
|
||||
'pretty_version' => 'v2.5.2',
|
||||
'version' => '2.5.2.0',
|
||||
'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/expression-language' => array(
|
||||
'pretty_version' => 'v3.4.47',
|
||||
'version' => '3.4.47.0',
|
||||
'reference' => 'de38e66398fca1fcb9c48e80279910e6889cb28f',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/expression-language',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-php70' => array(
|
||||
'pretty_version' => 'v1.20.0',
|
||||
'version' => '1.20.0.0',
|
||||
'reference' => '5f03a781d984aae42cebd18e7912fa80f02ee644',
|
||||
'type' => 'metapackage',
|
||||
'install_path' => null,
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-php73' => array(
|
||||
'pretty_version' => 'v1.29.0',
|
||||
'version' => '1.29.0.0',
|
||||
'reference' => '21bd091060673a1177ae842c0ef8fe30893114d2',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-php73',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-php80' => array(
|
||||
'pretty_version' => 'v1.29.0',
|
||||
'version' => '1.29.0.0',
|
||||
'reference' => '87b68208d5c1188808dd7839ee1e6c8ec3b02f1b',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/service-contracts' => array(
|
||||
'pretty_version' => 'v2.5.2',
|
||||
'version' => '2.5.2.0',
|
||||
'reference' => '4b426aac47d6427cc1a1d0f7e2ac724627f5966c',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/service-contracts',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/var-exporter' => array(
|
||||
'pretty_version' => 'v5.4.35',
|
||||
'version' => '5.4.35.0',
|
||||
'reference' => 'abb0a151b62d6b07e816487e20040464af96cae7',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/var-exporter',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
),
|
||||
);
|
|
@ -1,26 +0,0 @@
|
|||
<?php
|
||||
|
||||
// platform_check.php @generated by Composer
|
||||
|
||||
$issues = array();
|
||||
|
||||
if (!(PHP_VERSION_ID >= 70400)) {
|
||||
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
|
||||
}
|
||||
|
||||
if ($issues) {
|
||||
if (!headers_sent()) {
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
}
|
||||
if (!ini_get('display_errors')) {
|
||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
||||
} elseif (!headers_sent()) {
|
||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
||||
E_USER_ERROR
|
||||
);
|
||||
}
|
3
advancedcontentfilter/vendor/container-interop/container-interop/.gitignore
vendored
Normal file
3
advancedcontentfilter/vendor/container-interop/container-interop/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
composer.lock
|
||||
composer.phar
|
||||
/vendor/
|
20
advancedcontentfilter/vendor/container-interop/container-interop/LICENSE
vendored
Normal file
20
advancedcontentfilter/vendor/container-interop/container-interop/LICENSE
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 container-interop
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
148
advancedcontentfilter/vendor/container-interop/container-interop/README.md
vendored
Normal file
148
advancedcontentfilter/vendor/container-interop/container-interop/README.md
vendored
Normal file
|
@ -0,0 +1,148 @@
|
|||
# Container Interoperability
|
||||
|
||||
[![Latest Stable Version](https://poser.pugx.org/container-interop/container-interop/v/stable.png)](https://packagist.org/packages/container-interop/container-interop)
|
||||
[![Total Downloads](https://poser.pugx.org/container-interop/container-interop/downloads.svg)](https://packagist.org/packages/container-interop/container-interop)
|
||||
|
||||
## Deprecation warning!
|
||||
|
||||
Starting Feb. 13th 2017, container-interop is officially deprecated in favor of [PSR-11](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-11-container.md).
|
||||
Container-interop has been the test-bed of PSR-11. From v1.2, container-interop directly extends PSR-11 interfaces.
|
||||
Therefore, all containers implementing container-interop are now *de-facto* compatible with PSR-11.
|
||||
|
||||
- Projects implementing container-interop interfaces are encouraged to directly implement PSR-11 interfaces instead.
|
||||
- Projects consuming container-interop interfaces are very strongly encouraged to directly type-hint on PSR-11 interfaces, in order to be compatible with PSR-11 containers that are not compatible with container-interop.
|
||||
|
||||
Regarding the delegate lookup feature, that is present in container-interop and not in PSR-11, the feature is actually a design pattern. It is therefore not deprecated. Documentation regarding this design pattern will be migrated from this repository into a separate website in the future.
|
||||
|
||||
## About
|
||||
|
||||
*container-interop* tries to identify and standardize features in *container* objects (service locators,
|
||||
dependency injection containers, etc.) to achieve interoperability.
|
||||
|
||||
Through discussions and trials, we try to create a standard, made of common interfaces but also recommendations.
|
||||
|
||||
If PHP projects that provide container implementations begin to adopt these common standards, then PHP
|
||||
applications and projects that use containers can depend on the common interfaces instead of specific
|
||||
implementations. This facilitates a high-level of interoperability and flexibility that allows users to consume
|
||||
*any* container implementation that can be adapted to these interfaces.
|
||||
|
||||
The work done in this project is not officially endorsed by the [PHP-FIG](http://www.php-fig.org/), but it is being
|
||||
worked on by members of PHP-FIG and other good developers. We adhere to the spirit and ideals of PHP-FIG, and hope
|
||||
this project will pave the way for one or more future PSRs.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
You can install this package through Composer:
|
||||
|
||||
```json
|
||||
composer require container-interop/container-interop
|
||||
```
|
||||
|
||||
The packages adheres to the [SemVer](http://semver.org/) specification, and there will be full backward compatibility
|
||||
between minor versions.
|
||||
|
||||
## Standards
|
||||
|
||||
### Available
|
||||
|
||||
- [`ContainerInterface`](src/Interop/Container/ContainerInterface.php).
|
||||
[Description](docs/ContainerInterface.md) [Meta Document](docs/ContainerInterface-meta.md).
|
||||
Describes the interface of a container that exposes methods to read its entries.
|
||||
- [*Delegate lookup feature*](docs/Delegate-lookup.md).
|
||||
[Meta Document](docs/Delegate-lookup-meta.md).
|
||||
Describes the ability for a container to delegate the lookup of its dependencies to a third-party container. This
|
||||
feature lets several containers work together in a single application.
|
||||
|
||||
### Proposed
|
||||
|
||||
View open [request for comments](https://github.com/container-interop/container-interop/labels/RFC)
|
||||
|
||||
## Compatible projects
|
||||
|
||||
### Projects implementing `ContainerInterface`
|
||||
|
||||
- [Acclimate](https://github.com/jeremeamia/acclimate-container): Adapters for
|
||||
Aura.Di, Laravel, Nette DI, Pimple, Symfony DI, ZF2 Service manager, ZF2
|
||||
Dependency injection and any container using `ArrayAccess`
|
||||
- [Aura.Di](https://github.com/auraphp/Aura.Di)
|
||||
- [auryn-container-interop](https://github.com/elazar/auryn-container-interop)
|
||||
- [Burlap](https://github.com/codeeverything/burlap)
|
||||
- [Chernozem](https://github.com/pyrsmk/Chernozem)
|
||||
- [Data Manager](https://github.com/chrismichaels84/data-manager)
|
||||
- [Disco](https://github.com/bitexpert/disco)
|
||||
- [InDI](https://github.com/idealogica/indi)
|
||||
- [League/Container](http://container.thephpleague.com/)
|
||||
- [Mouf](http://mouf-php.com)
|
||||
- [Njasm Container](https://github.com/njasm/container)
|
||||
- [PHP-DI](http://php-di.org)
|
||||
- [Picotainer](https://github.com/thecodingmachine/picotainer)
|
||||
- [PimpleInterop](https://github.com/moufmouf/pimple-interop)
|
||||
- [Pimple3-ContainerInterop](https://github.com/Sam-Burns/pimple3-containerinterop) (using Pimple v3)
|
||||
- [SitePoint Container](https://github.com/sitepoint/Container)
|
||||
- [Thruster Container](https://github.com/ThrusterIO/container) (PHP7 only)
|
||||
- [Ultra-Lite Container](https://github.com/ultra-lite/container)
|
||||
- [Unbox](https://github.com/mindplay-dk/unbox)
|
||||
- [XStatic](https://github.com/jeremeamia/xstatic)
|
||||
- [Zend\ServiceManager](https://github.com/zendframework/zend-servicemanager)
|
||||
- [Zit](https://github.com/inxilpro/Zit)
|
||||
|
||||
### Projects implementing the *delegate lookup* feature
|
||||
|
||||
- [Aura.Di](https://github.com/auraphp/Aura.Di)
|
||||
- [Burlap](https://github.com/codeeverything/burlap)
|
||||
- [Chernozem](https://github.com/pyrsmk/Chernozem)
|
||||
- [InDI](https://github.com/idealogica/indi)
|
||||
- [League/Container](http://container.thephpleague.com/)
|
||||
- [Mouf](http://mouf-php.com)
|
||||
- [Picotainer](https://github.com/thecodingmachine/picotainer)
|
||||
- [PHP-DI](http://php-di.org)
|
||||
- [PimpleInterop](https://github.com/moufmouf/pimple-interop)
|
||||
- [Ultra-Lite Container](https://github.com/ultra-lite/container)
|
||||
|
||||
### Middlewares implementing `ContainerInterface`
|
||||
|
||||
- [Alias-Container](https://github.com/thecodingmachine/alias-container): add
|
||||
aliases support to any container
|
||||
- [Prefixer-Container](https://github.com/thecodingmachine/prefixer-container):
|
||||
dynamically prefix identifiers
|
||||
- [Lazy-Container](https://github.com/snapshotpl/lazy-container): lazy services
|
||||
|
||||
### Projects using `ContainerInterface`
|
||||
|
||||
The list below contains only a sample of all the projects consuming `ContainerInterface`. For a more complete list have a look [here](http://packanalyst.com/class?q=Interop%5CContainer%5CContainerInterface).
|
||||
|
||||
| | Downloads |
|
||||
| --- | --- |
|
||||
| [Adroit](https://github.com/bitexpert/adroit) | ![](https://img.shields.io/packagist/dt/bitexpert/adroit.svg) |
|
||||
| [Behat](https://github.com/Behat/Behat/pull/974) | ![](https://img.shields.io/packagist/dt/behat/behat.svg) |
|
||||
| [blast-facades](https://github.com/phpthinktank/blast-facades): Minimize complexity and represent dependencies as facades. | ![](https://img.shields.io/packagist/dt/blast/facades.svg) |
|
||||
| [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di): an extension to [Silex](http://silex.sensiolabs.org/) that adds support for any *container-interop* compatible container | ![](https://img.shields.io/packagist/dt/mouf/interop.silex.di.svg) |
|
||||
| [mindplay/walkway](https://github.com/mindplay-dk/walkway): a modular request router | ![](https://img.shields.io/packagist/dt/mindplay/walkway.svg) |
|
||||
| [mindplay/middleman](https://github.com/mindplay-dk/middleman): minimalist PSR-7 middleware dispatcher | ![](https://img.shields.io/packagist/dt/mindplay/middleman.svg) |
|
||||
| [PHP-DI/Invoker](https://github.com/PHP-DI/Invoker): extensible and configurable invoker/dispatcher | ![](https://img.shields.io/packagist/dt/php-di/invoker.svg) |
|
||||
| [Prophiler](https://github.com/fabfuel/prophiler) | ![](https://img.shields.io/packagist/dt/fabfuel/prophiler.svg) |
|
||||
| [Silly](https://github.com/mnapoli/silly): CLI micro-framework | ![](https://img.shields.io/packagist/dt/mnapoli/silly.svg) |
|
||||
| [Slim v3](https://github.com/slimphp/Slim) | ![](https://img.shields.io/packagist/dt/slim/slim.svg) |
|
||||
| [Splash](http://mouf-php.com/packages/mouf/mvc.splash-common/version/8.0-dev/README.md) | ![](https://img.shields.io/packagist/dt/mouf/mvc.splash-common.svg) |
|
||||
| [Woohoo Labs. Harmony](https://github.com/woohoolabs/harmony): a flexible micro-framework | ![](https://img.shields.io/packagist/dt/woohoolabs/harmony.svg) |
|
||||
| [zend-expressive](https://github.com/zendframework/zend-expressive) | ![](https://img.shields.io/packagist/dt/zendframework/zend-expressive.svg) |
|
||||
|
||||
|
||||
## Workflow
|
||||
|
||||
Everyone is welcome to join and contribute.
|
||||
|
||||
The general workflow looks like this:
|
||||
|
||||
1. Someone opens a discussion (GitHub issue) to suggest an interface
|
||||
1. Feedback is gathered
|
||||
1. The interface is added to a development branch
|
||||
1. We release alpha versions so that the interface can be experimented with
|
||||
1. Discussions and edits ensue until the interface is deemed stable by a general consensus
|
||||
1. A new minor version of the package is released
|
||||
|
||||
We try to not break BC by creating new interfaces instead of editing existing ones.
|
||||
|
||||
While we currently work on interfaces, we are open to anything that might help towards interoperability, may that
|
||||
be code, best practices, etc.
|
15
advancedcontentfilter/vendor/container-interop/container-interop/composer.json
vendored
Normal file
15
advancedcontentfilter/vendor/container-interop/container-interop/composer.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"name": "container-interop/container-interop",
|
||||
"type": "library",
|
||||
"description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
|
||||
"homepage": "https://github.com/container-interop/container-interop",
|
||||
"license": "MIT",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Interop\\Container\\": "src/Interop/Container/"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"psr/container": "^1.0"
|
||||
}
|
||||
}
|
114
advancedcontentfilter/vendor/container-interop/container-interop/docs/ContainerInterface-meta.md
vendored
Normal file
114
advancedcontentfilter/vendor/container-interop/container-interop/docs/ContainerInterface-meta.md
vendored
Normal file
|
@ -0,0 +1,114 @@
|
|||
# ContainerInterface Meta Document
|
||||
|
||||
## Introduction
|
||||
|
||||
This document describes the process and discussions that lead to the `ContainerInterface`.
|
||||
Its goal is to explain the reasons behind each decision.
|
||||
|
||||
## Goal
|
||||
|
||||
The goal set by `ContainerInterface` is to standardize how frameworks and libraries make use of a
|
||||
container to obtain objects and parameters.
|
||||
|
||||
By standardizing such a behavior, frameworks and libraries using the `ContainerInterface`
|
||||
could work with any compatible container.
|
||||
That would allow end users to choose their own container based on their own preferences.
|
||||
|
||||
It is important to distinguish the two usages of a container:
|
||||
|
||||
- configuring entries
|
||||
- fetching entries
|
||||
|
||||
Most of the time, those two sides are not used by the same party.
|
||||
While it is often end users who tend to configure entries, it is generally the framework that fetch
|
||||
entries to build the application.
|
||||
|
||||
This is why this interface focuses only on how entries can be fetched from a container.
|
||||
|
||||
## Interface name
|
||||
|
||||
The interface name has been thoroughly discussed and was decided by a vote.
|
||||
|
||||
The list of options considered with their respective votes are:
|
||||
|
||||
- `ContainerInterface`: +8
|
||||
- `ProviderInterface`: +2
|
||||
- `LocatorInterface`: 0
|
||||
- `ReadableContainerInterface`: -5
|
||||
- `ServiceLocatorInterface`: -6
|
||||
- `ObjectFactory`: -6
|
||||
- `ObjectStore`: -8
|
||||
- `ConsumerInterface`: -9
|
||||
|
||||
[Full results of the vote](https://github.com/container-interop/container-interop/wiki/%231-interface-name:-Vote)
|
||||
|
||||
The complete discussion can be read in [the issue #1](https://github.com/container-interop/container-interop/issues/1).
|
||||
|
||||
## Interface methods
|
||||
|
||||
The choice of which methods the interface would contain was made after a statistical analysis of existing containers.
|
||||
The results of this analysis are available [in this document](https://gist.github.com/mnapoli/6159681).
|
||||
|
||||
The summary of the analysis showed that:
|
||||
|
||||
- all containers offer a method to get an entry by its id
|
||||
- a large majority name such method `get()`
|
||||
- for all containers, the `get()` method has 1 mandatory parameter of type string
|
||||
- some containers have an optional additional argument for `get()`, but it doesn't have the same purpose between containers
|
||||
- a large majority of the containers offer a method to test if it can return an entry by its id
|
||||
- a majority name such method `has()`
|
||||
- for all containers offering `has()`, the method has exactly 1 parameter of type string
|
||||
- a large majority of the containers throw an exception rather than returning null when an entry is not found in `get()`
|
||||
- a large majority of the containers don't implement `ArrayAccess`
|
||||
|
||||
The question of whether to include methods to define entries has been discussed in
|
||||
[issue #1](https://github.com/container-interop/container-interop/issues/1).
|
||||
It has been judged that such methods do not belong in the interface described here because it is out of its scope
|
||||
(see the "Goal" section).
|
||||
|
||||
As a result, the `ContainerInterface` contains two methods:
|
||||
|
||||
- `get()`, returning anything, with one mandatory string parameter. Should throw an exception if the entry is not found.
|
||||
- `has()`, returning a boolean, with one mandatory string parameter.
|
||||
|
||||
### Number of parameters in `get()` method
|
||||
|
||||
While `ContainerInterface` only defines one mandatory parameter in `get()`, it is not incompatible with
|
||||
existing containers that have additional optional parameters. PHP allows an implementation to offer more parameters
|
||||
as long as they are optional, because the implementation *does* satisfy the interface.
|
||||
|
||||
This issue has been discussed in [issue #6](https://github.com/container-interop/container-interop/issues/6).
|
||||
|
||||
### Type of the `$id` parameter
|
||||
|
||||
The type of the `$id` parameter in `get()` and `has()` has been discussed in
|
||||
[issue #6](https://github.com/container-interop/container-interop/issues/6).
|
||||
While `string` is used in all the containers that were analyzed, it was suggested that allowing
|
||||
anything (such as objects) could allow containers to offer a more advanced query API.
|
||||
|
||||
An example given was to use the container as an object builder. The `$id` parameter would then be an
|
||||
object that would describe how to create an instance.
|
||||
|
||||
The conclusion of the discussion was that this was beyond the scope of getting entries from a container without
|
||||
knowing how the container provided them, and it was more fit for a factory.
|
||||
|
||||
## Contributors
|
||||
|
||||
Are listed here all people that contributed in the discussions or votes, by alphabetical order:
|
||||
|
||||
- [Amy Stephen](https://github.com/AmyStephen)
|
||||
- [David Négrier](https://github.com/moufmouf)
|
||||
- [Don Gilbert](https://github.com/dongilbert)
|
||||
- [Jason Judge](https://github.com/judgej)
|
||||
- [Jeremy Lindblom](https://github.com/jeremeamia)
|
||||
- [Marco Pivetta](https://github.com/Ocramius)
|
||||
- [Matthieu Napoli](https://github.com/mnapoli)
|
||||
- [Paul M. Jones](https://github.com/pmjones)
|
||||
- [Stephan Hochdörfer](https://github.com/shochdoerfer)
|
||||
- [Taylor Otwell](https://github.com/taylorotwell)
|
||||
|
||||
## Relevant links
|
||||
|
||||
- [`ContainerInterface.php`](https://github.com/container-interop/container-interop/blob/master/src/Interop/Container/ContainerInterface.php)
|
||||
- [List of all issues](https://github.com/container-interop/container-interop/issues?labels=ContainerInterface&milestone=&page=1&state=closed)
|
||||
- [Vote for the interface name](https://github.com/container-interop/container-interop/wiki/%231-interface-name:-Vote)
|
158
advancedcontentfilter/vendor/container-interop/container-interop/docs/ContainerInterface.md
vendored
Normal file
158
advancedcontentfilter/vendor/container-interop/container-interop/docs/ContainerInterface.md
vendored
Normal file
|
@ -0,0 +1,158 @@
|
|||
Container interface
|
||||
===================
|
||||
|
||||
This document describes a common interface for dependency injection containers.
|
||||
|
||||
The goal set by `ContainerInterface` is to standardize how frameworks and libraries make use of a
|
||||
container to obtain objects and parameters (called *entries* in the rest of this document).
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
|
||||
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
|
||||
interpreted as described in [RFC 2119][].
|
||||
|
||||
The word `implementor` in this document is to be interpreted as someone
|
||||
implementing the `ContainerInterface` in a dependency injection-related library or framework.
|
||||
Users of dependency injections containers (DIC) are referred to as `user`.
|
||||
|
||||
[RFC 2119]: http://tools.ietf.org/html/rfc2119
|
||||
|
||||
1. Specification
|
||||
-----------------
|
||||
|
||||
### 1.1 Basics
|
||||
|
||||
- The `Interop\Container\ContainerInterface` exposes two methods : `get` and `has`.
|
||||
|
||||
- `get` takes one mandatory parameter: an entry identifier. It MUST be a string.
|
||||
A call to `get` can return anything (a *mixed* value), or throws an exception if the identifier
|
||||
is not known to the container. Two successive calls to `get` with the same
|
||||
identifier SHOULD return the same value. However, depending on the `implementor`
|
||||
design and/or `user` configuration, different values might be returned, so
|
||||
`user` SHOULD NOT rely on getting the same value on 2 successive calls.
|
||||
While `ContainerInterface` only defines one mandatory parameter in `get()`, implementations
|
||||
MAY accept additional optional parameters.
|
||||
|
||||
- `has` takes one unique parameter: an entry identifier. It MUST return `true`
|
||||
if an entry identifier is known to the container and `false` if it is not.
|
||||
`has($id)` returning true does not mean that `get($id)` will not throw an exception.
|
||||
It does however mean that `get($id)` will not throw a `NotFoundException`.
|
||||
|
||||
### 1.2 Exceptions
|
||||
|
||||
Exceptions directly thrown by the container MUST implement the
|
||||
[`Interop\Container\Exception\ContainerException`](../src/Interop/Container/Exception/ContainerException.php).
|
||||
|
||||
A call to the `get` method with a non-existing id SHOULD throw a
|
||||
[`Interop\Container\Exception\NotFoundException`](../src/Interop/Container/Exception/NotFoundException.php).
|
||||
|
||||
### 1.3 Additional features
|
||||
|
||||
This section describes additional features that MAY be added to a container. Containers are not
|
||||
required to implement these features to respect the ContainerInterface.
|
||||
|
||||
#### 1.3.1 Delegate lookup feature
|
||||
|
||||
The goal of the *delegate lookup* feature is to allow several containers to share entries.
|
||||
Containers implementing this feature can perform dependency lookups in other containers.
|
||||
|
||||
Containers implementing this feature will offer a greater lever of interoperability
|
||||
with other containers. Implementation of this feature is therefore RECOMMENDED.
|
||||
|
||||
A container implementing this feature:
|
||||
|
||||
- MUST implement the `ContainerInterface`
|
||||
- MUST provide a way to register a delegate container (using a constructor parameter, or a setter,
|
||||
or any possible way). The delegate container MUST implement the `ContainerInterface`.
|
||||
|
||||
When a container is configured to use a delegate container for dependencies:
|
||||
|
||||
- Calls to the `get` method should only return an entry if the entry is part of the container.
|
||||
If the entry is not part of the container, an exception should be thrown
|
||||
(as requested by the `ContainerInterface`).
|
||||
- Calls to the `has` method should only return `true` if the entry is part of the container.
|
||||
If the entry is not part of the container, `false` should be returned.
|
||||
- If the fetched entry has dependencies, **instead** of performing
|
||||
the dependency lookup in the container, the lookup is performed on the *delegate container*.
|
||||
|
||||
Important! By default, the lookup SHOULD be performed on the delegate container **only**, not on the container itself.
|
||||
|
||||
It is however allowed for containers to provide exception cases for special entries, and a way to lookup
|
||||
into the same container (or another container) instead of the delegate container.
|
||||
|
||||
2. Package
|
||||
----------
|
||||
|
||||
The interfaces and classes described as well as relevant exception are provided as part of the
|
||||
[container-interop/container-interop](https://packagist.org/packages/container-interop/container-interop) package.
|
||||
|
||||
3. `Interop\Container\ContainerInterface`
|
||||
-----------------------------------------
|
||||
|
||||
```php
|
||||
<?php
|
||||
namespace Interop\Container;
|
||||
|
||||
use Interop\Container\Exception\ContainerException;
|
||||
use Interop\Container\Exception\NotFoundException;
|
||||
|
||||
/**
|
||||
* Describes the interface of a container that exposes methods to read its entries.
|
||||
*/
|
||||
interface ContainerInterface
|
||||
{
|
||||
/**
|
||||
* Finds an entry of the container by its identifier and returns it.
|
||||
*
|
||||
* @param string $id Identifier of the entry to look for.
|
||||
*
|
||||
* @throws NotFoundException No entry was found for this identifier.
|
||||
* @throws ContainerException Error while retrieving the entry.
|
||||
*
|
||||
* @return mixed Entry.
|
||||
*/
|
||||
public function get($id);
|
||||
|
||||
/**
|
||||
* Returns true if the container can return an entry for the given identifier.
|
||||
* Returns false otherwise.
|
||||
*
|
||||
* `has($id)` returning true does not mean that `get($id)` will not throw an exception.
|
||||
* It does however mean that `get($id)` will not throw a `NotFoundException`.
|
||||
*
|
||||
* @param string $id Identifier of the entry to look for.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function has($id);
|
||||
}
|
||||
```
|
||||
|
||||
4. `Interop\Container\Exception\ContainerException`
|
||||
---------------------------------------------------
|
||||
|
||||
```php
|
||||
<?php
|
||||
namespace Interop\Container\Exception;
|
||||
|
||||
/**
|
||||
* Base interface representing a generic exception in a container.
|
||||
*/
|
||||
interface ContainerException
|
||||
{
|
||||
}
|
||||
```
|
||||
|
||||
5. `Interop\Container\Exception\NotFoundException`
|
||||
---------------------------------------------------
|
||||
|
||||
```php
|
||||
<?php
|
||||
namespace Interop\Container\Exception;
|
||||
|
||||
/**
|
||||
* No entry was found in the container.
|
||||
*/
|
||||
interface NotFoundException extends ContainerException
|
||||
{
|
||||
}
|
||||
```
|
259
advancedcontentfilter/vendor/container-interop/container-interop/docs/Delegate-lookup-meta.md
vendored
Normal file
259
advancedcontentfilter/vendor/container-interop/container-interop/docs/Delegate-lookup-meta.md
vendored
Normal file
|
@ -0,0 +1,259 @@
|
|||
Delegate lookup feature Meta Document
|
||||
=====================================
|
||||
|
||||
1. Summary
|
||||
----------
|
||||
|
||||
This document describes the *delegate lookup feature*.
|
||||
Containers are not required to implement this feature to respect the `ContainerInterface`.
|
||||
However, containers implementing this feature will offer a greater lever of interoperability
|
||||
with other containers, allowing multiple containers to share entries in the same application.
|
||||
Implementation of this feature is therefore recommanded.
|
||||
|
||||
2. Why Bother?
|
||||
--------------
|
||||
|
||||
The [`ContainerInterface`](../src/Interop/Container/ContainerInterface.php) ([meta doc](ContainerInterface.md))
|
||||
standardizes how frameworks and libraries make use of a container to obtain objects and parameters.
|
||||
|
||||
By standardizing such a behavior, frameworks and libraries relying on the `ContainerInterface`
|
||||
could work with any compatible container.
|
||||
That would allow end users to choose their own container based on their own preferences.
|
||||
|
||||
The `ContainerInterface` is also enough if we want to have several containers side-by-side in the same
|
||||
application. For instance, this is what the [CompositeContainer](https://github.com/jeremeamia/acclimate-container/blob/master/src/CompositeContainer.php)
|
||||
class of [Acclimate](https://github.com/jeremeamia/acclimate-container) is designed for:
|
||||
|
||||
![Side by side containers](images/side_by_side_containers.png)
|
||||
|
||||
However, an instance in container 1 cannot reference an instance in container 2.
|
||||
|
||||
It would be better if an instance of container 1 could reference an instance in container 2,
|
||||
and the opposite should be true.
|
||||
|
||||
![Interoperating containers](images/interoperating_containers.png)
|
||||
|
||||
In the sample above, entry 1 in container 1 is referencing entry 3 in container 2.
|
||||
|
||||
3. Scope
|
||||
--------
|
||||
|
||||
### 3.1 Goals
|
||||
|
||||
The goal of the *delegate lookup* feature is to allow several containers to share entries.
|
||||
|
||||
4. Approaches
|
||||
-------------
|
||||
|
||||
### 4.1 Chosen Approach
|
||||
|
||||
Containers implementing this feature can perform dependency lookups in other containers.
|
||||
|
||||
A container implementing this feature:
|
||||
|
||||
- must implement the `ContainerInterface`
|
||||
- must provide a way to register a *delegate container* (using a constructor parameter, or a setter, or any
|
||||
possible way). The *delegate container* must implement the `ContainerInterface`.
|
||||
|
||||
When a *delegate container* is configured on a container:
|
||||
|
||||
- Calls to the `get` method should only return an entry if the entry is part of the container.
|
||||
If the entry is not part of the container, an exception should be thrown (as required in the `ContainerInterface`).
|
||||
- Calls to the `has` method should only return *true* if the entry is part of the container.
|
||||
If the entry is not part of the container, *false* should be returned.
|
||||
- Finally, the important part: if the entry we are fetching has dependencies,
|
||||
**instead** of perfoming the dependency lookup in the container, the lookup is performed on the *delegate container*.
|
||||
|
||||
Important! By default, the lookup should be performed on the delegate container **only**, not on the container itself.
|
||||
|
||||
It is however allowed for containers to provide exception cases for special entries, and a way to lookup into
|
||||
the same container (or another container) instead of the delegate container.
|
||||
|
||||
### 4.2 Typical usage
|
||||
|
||||
The *delegate container* will usually be a composite container. A composite container is a container that
|
||||
contains several other containers. When performing a lookup on a composite container, the inner containers are
|
||||
queried until one container returns an entry.
|
||||
An inner container implementing the *delegate lookup feature* will return entries it contains, but if these
|
||||
entries have dependencies, the dependencies lookup calls will be performed on the composite container, giving
|
||||
a chance to all containers to answer.
|
||||
|
||||
Interestingly enough, the order in which containers are added in the composite container matters. Indeed,
|
||||
the first containers to be added in the composite container can "override" the entries of containers with
|
||||
lower priority.
|
||||
|
||||
![Containers priority](images/priority.png)
|
||||
|
||||
In the example above, "container 2" contains a controller "myController" and the controller is referencing an
|
||||
"entityManager" entry. "Container 1" contains also an entry named "entityManager".
|
||||
Without the *delegate lookup* feature, when requesting the "myController" instance to container 2, it would take
|
||||
in charge the instanciation of both entries.
|
||||
|
||||
However, using the *delegate lookup* feature, here is what happens when we ask the composite container for the
|
||||
"myController" instance:
|
||||
|
||||
- The composite container asks container 1 if if contains the "myController" instance. The answer is no.
|
||||
- The composite container asks container 2 if if contains the "myController" instance. The answer is yes.
|
||||
- The composite container performs a `get` call on container 2 for the "myController" instance.
|
||||
- Container 2 sees that "myController" has a dependency on "entityManager".
|
||||
- Container 2 delegates the lookup of "entityManager" to the composite container.
|
||||
- The composite container asks container 1 if if contains the "entityManager" instance. The answer is yes.
|
||||
- The composite container performs a `get` call on container 1 for the "entityManager" instance.
|
||||
|
||||
In the end, we get a controller instanciated by container 2 that references an entityManager instanciated
|
||||
by container 1.
|
||||
|
||||
### 4.3 Alternative: the fallback strategy
|
||||
|
||||
The first proposed approach we tried was to perform all the lookups in the "local" container,
|
||||
and if a lookup fails in the container, to use the delegate container. In this scenario, the
|
||||
delegate container is used in "fallback" mode.
|
||||
|
||||
This strategy has been described in @moufmouf blog post: http://mouf-php.com/container-interop-whats-next (solution 1).
|
||||
It was also discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-33570697) and
|
||||
[here](https://github.com/container-interop/container-interop/pull/20#issuecomment-56599631).
|
||||
|
||||
Problems with this strategy:
|
||||
|
||||
- Heavy problem regarding infinite loops
|
||||
- Unable to overload a container entry with the delegate container entry
|
||||
|
||||
### 4.4 Alternative: force implementing an interface
|
||||
|
||||
The first proposed approach was to develop a `ParentAwareContainerInterface` interface.
|
||||
It was proposed here: https://github.com/container-interop/container-interop/pull/8
|
||||
|
||||
The interface would have had the behaviour of the delegate lookup feature but would have forced the addition of
|
||||
a `setParentContainter` method:
|
||||
|
||||
```php
|
||||
interface ParentAwareContainerInterface extends ReadableContainerInterface {
|
||||
/**
|
||||
* Sets the parent container associated to that container. This container will call
|
||||
* the parent container to fetch dependencies.
|
||||
*
|
||||
* @param ContainerInterface $container
|
||||
*/
|
||||
public function setParentContainer(ContainerInterface $container);
|
||||
}
|
||||
```
|
||||
|
||||
The interface idea was first questioned by @Ocramius [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51721777).
|
||||
@Ocramius expressed the idea that an interface should not contain setters, otherwise, it is forcing implementation
|
||||
details on the class implementing the interface.
|
||||
Then @mnapoli made a proposal for a "convention" [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51841079),
|
||||
this idea was further discussed until all participants in the discussion agreed to remove the interface idea
|
||||
and replace it with a "standard" feature.
|
||||
|
||||
**Pros:**
|
||||
|
||||
If we had had an interface, we could have delegated the registration of the delegate/composite container to the
|
||||
the delegate/composite container itself.
|
||||
For instance:
|
||||
|
||||
```php
|
||||
$containerA = new ContainerA();
|
||||
$containerB = new ContainerB();
|
||||
|
||||
$compositeContainer = new CompositeContainer([$containerA, $containerB]);
|
||||
|
||||
// The call to 'setParentContainer' is delegated to the CompositeContainer
|
||||
// It is not the responsibility of the user anymore.
|
||||
class CompositeContainer {
|
||||
...
|
||||
|
||||
public function __construct($containers) {
|
||||
foreach ($containers as $container) {
|
||||
if ($container instanceof ParentAwareContainerInterface) {
|
||||
$container->setParentContainer($this);
|
||||
}
|
||||
}
|
||||
...
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
**Cons:**
|
||||
|
||||
Cons have been extensively discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51721777).
|
||||
Basically, forcing a setter into an interface is a bad idea. Setters are similar to constructor arguments,
|
||||
and it's a bad idea to standardize a constructor: how the delegate container is configured into a container is an implementation detail. This outweights the benefits of the interface.
|
||||
|
||||
### 4.4 Alternative: no exception case for delegate lookups
|
||||
|
||||
Originally, the proposed wording for delegate lookup calls was:
|
||||
|
||||
> Important! The lookup MUST be performed on the delegate container **only**, not on the container itself.
|
||||
|
||||
This was later replaced by:
|
||||
|
||||
> Important! By default, the lookup SHOULD be performed on the delegate container **only**, not on the container itself.
|
||||
>
|
||||
> It is however allowed for containers to provide exception cases for special entries, and a way to lookup
|
||||
> into the same container (or another container) instead of the delegate container.
|
||||
|
||||
Exception cases have been allowed to avoid breaking dependencies with some services that must be provided
|
||||
by the container (on @njasm proposal). This was proposed here: https://github.com/container-interop/container-interop/pull/20#issuecomment-56597235
|
||||
|
||||
### 4.5 Alternative: having one of the containers act as the composite container
|
||||
|
||||
In real-life scenarios, we usually have a big framework (Symfony 2, Zend Framework 2, etc...) and we want to
|
||||
add another DI container to this container. Most of the time, the "big" framework will be responsible for
|
||||
creating the controller's instances, using it's own DI container. Until *container-interop* is fully adopted,
|
||||
the "big" framework will not be aware of the existence of a composite container that it should use instead
|
||||
of its own container.
|
||||
|
||||
For this real-life use cases, @mnapoli and @moufmouf proposed to extend the "big" framework's DI container
|
||||
to make it act as a composite container.
|
||||
|
||||
This has been discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-40367194)
|
||||
and [here](http://mouf-php.com/container-interop-whats-next#solution4).
|
||||
|
||||
This was implemented in Symfony 2 using:
|
||||
|
||||
- [interop.symfony.di](https://github.com/thecodingmachine/interop.symfony.di/tree/v0.1.0)
|
||||
- [framework interop](https://github.com/mnapoli/framework-interop/)
|
||||
|
||||
This was implemented in Silex using:
|
||||
|
||||
- [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di)
|
||||
|
||||
Having a container act as the composite container is not part of the delegate lookup standard because it is
|
||||
simply a temporary design pattern used to make existing frameworks that do not support yet ContainerInterop
|
||||
play nice with other DI containers.
|
||||
|
||||
|
||||
5. Implementations
|
||||
------------------
|
||||
|
||||
The following projects already implement the delegate lookup feature:
|
||||
|
||||
- [Mouf](http://mouf-php.com), through the [`setDelegateLookupContainer` method](https://github.com/thecodingmachine/mouf/blob/2.0/src/Mouf/MoufManager.php#L2120)
|
||||
- [PHP-DI](http://php-di.org/), through the [`$wrapperContainer` parameter of the constructor](https://github.com/mnapoli/PHP-DI/blob/master/src/DI/Container.php#L72)
|
||||
- [pimple-interop](https://github.com/moufmouf/pimple-interop), through the [`$container` parameter of the constructor](https://github.com/moufmouf/pimple-interop/blob/master/src/Interop/Container/Pimple/PimpleInterop.php#L62)
|
||||
|
||||
6. People
|
||||
---------
|
||||
|
||||
Are listed here all people that contributed in the discussions, by alphabetical order:
|
||||
|
||||
- [Alexandru Pătrănescu](https://github.com/drealecs)
|
||||
- [Ben Peachey](https://github.com/potherca)
|
||||
- [David Négrier](https://github.com/moufmouf)
|
||||
- [Jeremy Lindblom](https://github.com/jeremeamia)
|
||||
- [Marco Pivetta](https://github.com/Ocramius)
|
||||
- [Matthieu Napoli](https://github.com/mnapoli)
|
||||
- [Nelson J Morais](https://github.com/njasm)
|
||||
- [Phil Sturgeon](https://github.com/philsturgeon)
|
||||
- [Stephan Hochdörfer](https://github.com/shochdoerfer)
|
||||
|
||||
7. Relevant Links
|
||||
-----------------
|
||||
|
||||
_**Note:** Order descending chronologically._
|
||||
|
||||
- [Pull request on the delegate lookup feature](https://github.com/container-interop/container-interop/pull/20)
|
||||
- [Pull request on the interface idea](https://github.com/container-interop/container-interop/pull/8)
|
||||
- [Original article exposing the delegate lookup idea along many others](http://mouf-php.com/container-interop-whats-next)
|
||||
|
60
advancedcontentfilter/vendor/container-interop/container-interop/docs/Delegate-lookup.md
vendored
Normal file
60
advancedcontentfilter/vendor/container-interop/container-interop/docs/Delegate-lookup.md
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
Delegate lookup feature
|
||||
=======================
|
||||
|
||||
This document describes a standard for dependency injection containers.
|
||||
|
||||
The goal set by the *delegate lookup* feature is to allow several containers to share entries.
|
||||
Containers implementing this feature can perform dependency lookups in other containers.
|
||||
|
||||
Containers implementing this feature will offer a greater lever of interoperability
|
||||
with other containers. Implementation of this feature is therefore RECOMMENDED.
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
|
||||
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
|
||||
interpreted as described in [RFC 2119][].
|
||||
|
||||
The word `implementor` in this document is to be interpreted as someone
|
||||
implementing the delegate lookup feature in a dependency injection-related library or framework.
|
||||
Users of dependency injections containers (DIC) are referred to as `user`.
|
||||
|
||||
[RFC 2119]: http://tools.ietf.org/html/rfc2119
|
||||
|
||||
1. Vocabulary
|
||||
-------------
|
||||
|
||||
In a dependency injection container, the container is used to fetch entries.
|
||||
Entries can have dependencies on other entries. Usually, these other entries are fetched by the container.
|
||||
|
||||
The *delegate lookup* feature is the ability for a container to fetch dependencies in
|
||||
another container. In the rest of the document, the word "container" will reference the container
|
||||
implemented by the implementor. The word "delegate container" will reference the container we are
|
||||
fetching the dependencies from.
|
||||
|
||||
2. Specification
|
||||
----------------
|
||||
|
||||
A container implementing the *delegate lookup* feature:
|
||||
|
||||
- MUST implement the [`ContainerInterface`](ContainerInterface.md)
|
||||
- MUST provide a way to register a delegate container (using a constructor parameter, or a setter,
|
||||
or any possible way). The delegate container MUST implement the [`ContainerInterface`](ContainerInterface.md).
|
||||
|
||||
When a container is configured to use a delegate container for dependencies:
|
||||
|
||||
- Calls to the `get` method should only return an entry if the entry is part of the container.
|
||||
If the entry is not part of the container, an exception should be thrown
|
||||
(as requested by the [`ContainerInterface`](ContainerInterface.md)).
|
||||
- Calls to the `has` method should only return `true` if the entry is part of the container.
|
||||
If the entry is not part of the container, `false` should be returned.
|
||||
- If the fetched entry has dependencies, **instead** of performing
|
||||
the dependency lookup in the container, the lookup is performed on the *delegate container*.
|
||||
|
||||
Important: By default, the dependency lookups SHOULD be performed on the delegate container **only**, not on the container itself.
|
||||
|
||||
It is however allowed for containers to provide exception cases for special entries, and a way to lookup
|
||||
into the same container (or another container) instead of the delegate container.
|
||||
|
||||
3. Package / Interface
|
||||
----------------------
|
||||
|
||||
This feature is not tied to any code, interface or package.
|
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
BIN
advancedcontentfilter/vendor/container-interop/container-interop/docs/images/priority.png
vendored
Normal file
BIN
advancedcontentfilter/vendor/container-interop/container-interop/docs/images/priority.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
/**
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
|
||||
*/
|
||||
|
||||
namespace Interop\Container;
|
||||
|
||||
use Psr\Container\ContainerInterface as PsrContainerInterface;
|
||||
|
||||
/**
|
||||
* Describes the interface of a container that exposes methods to read its entries.
|
||||
*/
|
||||
interface ContainerInterface extends PsrContainerInterface
|
||||
{
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
/**
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
|
||||
*/
|
||||
|
||||
namespace Interop\Container\Exception;
|
||||
|
||||
use Psr\Container\ContainerExceptionInterface as PsrContainerException;
|
||||
|
||||
/**
|
||||
* Base interface representing a generic exception in a container.
|
||||
*/
|
||||
interface ContainerException extends PsrContainerException
|
||||
{
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
/**
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
|
||||
*/
|
||||
|
||||
namespace Interop\Container\Exception;
|
||||
|
||||
use Psr\Container\NotFoundExceptionInterface as PsrNotFoundException;
|
||||
|
||||
/**
|
||||
* No entry was found in the container.
|
||||
*/
|
||||
interface NotFoundException extends ContainerException, PsrNotFoundException
|
||||
{
|
||||
}
|
3
advancedcontentfilter/vendor/pimple/pimple/.gitignore
vendored
Normal file
3
advancedcontentfilter/vendor/pimple/pimple/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
phpunit.xml
|
||||
composer.lock
|
||||
/vendor/
|
40
advancedcontentfilter/vendor/pimple/pimple/.travis.yml
vendored
Normal file
40
advancedcontentfilter/vendor/pimple/pimple/.travis.yml
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
language: php
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- PIMPLE_EXT=no
|
||||
- PIMPLE_EXT=yes
|
||||
global:
|
||||
- REPORT_EXIT_STATUS=1
|
||||
|
||||
php:
|
||||
- 5.3
|
||||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
|
||||
before_script:
|
||||
- composer self-update
|
||||
- COMPOSER_ROOT_VERSION=dev-master composer install
|
||||
- if [ "$PIMPLE_EXT" == "yes" ]; then sh -c "cd ext/pimple && phpize && ./configure && make && sudo make install"; fi
|
||||
- if [ "$PIMPLE_EXT" == "yes" ]; then echo "extension=pimple.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`; fi
|
||||
|
||||
script:
|
||||
- cd ext/pimple
|
||||
- if [ "$PIMPLE_EXT" == "yes" ]; then yes n | make test | tee output ; grep -E 'Tests failed +. +0' output; fi
|
||||
- if [ "$PIMPLE_EXT" == "yes" ]; then export SYMFONY_DEPRECATIONS_HELPER=weak; fi
|
||||
- cd ../..
|
||||
- ./vendor/bin/simple-phpunit
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: hhvm
|
||||
dist: trusty
|
||||
env: PIMPLE_EXT=no
|
||||
exclude:
|
||||
- php: 7.0
|
||||
env: PIMPLE_EXT=yes
|
||||
- php: 7.1
|
||||
env: PIMPLE_EXT=yes
|
59
advancedcontentfilter/vendor/pimple/pimple/CHANGELOG
vendored
Normal file
59
advancedcontentfilter/vendor/pimple/pimple/CHANGELOG
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
* 3.2.3 (2017-XX-XX)
|
||||
|
||||
* n/a
|
||||
|
||||
* 3.2.2 (2017-07-23)
|
||||
|
||||
* reverted extending a protected closure throws an exception (deprecated it instead)
|
||||
|
||||
* 3.2.1 (2017-07-17)
|
||||
|
||||
* fixed PHP error
|
||||
|
||||
* 3.2.0 (2017-07-17)
|
||||
|
||||
* added a PSR-11 service locator
|
||||
* added a PSR-11 wrapper
|
||||
* added ServiceIterator
|
||||
* fixed extending a protected closure (now throws InvalidServiceIdentifierException)
|
||||
|
||||
* 3.1.0 (2017-07-03)
|
||||
|
||||
* deprecated the C extension
|
||||
* added support for PSR-11 exceptions
|
||||
|
||||
* 3.0.2 (2015-09-11)
|
||||
|
||||
* refactored the C extension
|
||||
* minor non-significant changes
|
||||
|
||||
* 3.0.1 (2015-07-30)
|
||||
|
||||
* simplified some code
|
||||
* fixed a segfault in the C extension
|
||||
|
||||
* 3.0.0 (2014-07-24)
|
||||
|
||||
* removed the Pimple class alias (use Pimple\Container instead)
|
||||
|
||||
* 2.1.1 (2014-07-24)
|
||||
|
||||
* fixed compiler warnings for the C extension
|
||||
* fixed code when dealing with circular references
|
||||
|
||||
* 2.1.0 (2014-06-24)
|
||||
|
||||
* moved the Pimple to Pimple\Container (with a BC layer -- Pimple is now a
|
||||
deprecated alias which will be removed in Pimple 3.0)
|
||||
* added Pimple\ServiceProviderInterface (and Pimple::register())
|
||||
|
||||
* 2.0.0 (2014-02-10)
|
||||
|
||||
* changed extend to automatically re-assign the extended service and keep it as shared or factory
|
||||
(to keep BC, extend still returns the extended service)
|
||||
* changed services to be shared by default (use factory() for factory
|
||||
services)
|
||||
|
||||
* 1.0.0
|
||||
|
||||
* initial version
|
19
advancedcontentfilter/vendor/pimple/pimple/LICENSE
vendored
Normal file
19
advancedcontentfilter/vendor/pimple/pimple/LICENSE
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Copyright (c) 2009-2017 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
326
advancedcontentfilter/vendor/pimple/pimple/README.rst
vendored
Normal file
326
advancedcontentfilter/vendor/pimple/pimple/README.rst
vendored
Normal file
|
@ -0,0 +1,326 @@
|
|||
Pimple
|
||||
======
|
||||
|
||||
.. caution::
|
||||
|
||||
This is the documentation for Pimple 3.x. If you are using Pimple 1.x, read
|
||||
the `Pimple 1.x documentation`_. Reading the Pimple 1.x code is also a good
|
||||
way to learn more about how to create a simple Dependency Injection
|
||||
Container (recent versions of Pimple are more focused on performance).
|
||||
|
||||
Pimple is a small Dependency Injection Container for PHP.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
Before using Pimple in your project, add it to your ``composer.json`` file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./composer.phar require pimple/pimple "^3.0"
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Creating a container is a matter of creating a ``Container`` instance:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
use Pimple\Container;
|
||||
|
||||
$container = new Container();
|
||||
|
||||
As many other dependency injection containers, Pimple manages two different
|
||||
kind of data: **services** and **parameters**.
|
||||
|
||||
Defining Services
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
A service is an object that does something as part of a larger system. Examples
|
||||
of services: a database connection, a templating engine, or a mailer. Almost
|
||||
any **global** object can be a service.
|
||||
|
||||
Services are defined by **anonymous functions** that return an instance of an
|
||||
object:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
// define some services
|
||||
$container['session_storage'] = function ($c) {
|
||||
return new SessionStorage('SESSION_ID');
|
||||
};
|
||||
|
||||
$container['session'] = function ($c) {
|
||||
return new Session($c['session_storage']);
|
||||
};
|
||||
|
||||
Notice that the anonymous function has access to the current container
|
||||
instance, allowing references to other services or parameters.
|
||||
|
||||
As objects are only created when you get them, the order of the definitions
|
||||
does not matter.
|
||||
|
||||
Using the defined services is also very easy:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
// get the session object
|
||||
$session = $container['session'];
|
||||
|
||||
// the above call is roughly equivalent to the following code:
|
||||
// $storage = new SessionStorage('SESSION_ID');
|
||||
// $session = new Session($storage);
|
||||
|
||||
Defining Factory Services
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
By default, each time you get a service, Pimple returns the **same instance**
|
||||
of it. If you want a different instance to be returned for all calls, wrap your
|
||||
anonymous function with the ``factory()`` method
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$container['session'] = $container->factory(function ($c) {
|
||||
return new Session($c['session_storage']);
|
||||
});
|
||||
|
||||
Now, each call to ``$container['session']`` returns a new instance of the
|
||||
session.
|
||||
|
||||
Defining Parameters
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Defining a parameter allows to ease the configuration of your container from
|
||||
the outside and to store global values:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
// define some parameters
|
||||
$container['cookie_name'] = 'SESSION_ID';
|
||||
$container['session_storage_class'] = 'SessionStorage';
|
||||
|
||||
If you change the ``session_storage`` service definition like below:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$container['session_storage'] = function ($c) {
|
||||
return new $c['session_storage_class']($c['cookie_name']);
|
||||
};
|
||||
|
||||
You can now easily change the cookie name by overriding the
|
||||
``cookie_name`` parameter instead of redefining the service
|
||||
definition.
|
||||
|
||||
Protecting Parameters
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Because Pimple sees anonymous functions as service definitions, you need to
|
||||
wrap anonymous functions with the ``protect()`` method to store them as
|
||||
parameters:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$container['random_func'] = $container->protect(function () {
|
||||
return rand();
|
||||
});
|
||||
|
||||
Modifying Services after Definition
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
In some cases you may want to modify a service definition after it has been
|
||||
defined. You can use the ``extend()`` method to define additional code to be
|
||||
run on your service just after it is created:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$container['session_storage'] = function ($c) {
|
||||
return new $c['session_storage_class']($c['cookie_name']);
|
||||
};
|
||||
|
||||
$container->extend('session_storage', function ($storage, $c) {
|
||||
$storage->...();
|
||||
|
||||
return $storage;
|
||||
});
|
||||
|
||||
The first argument is the name of the service to extend, the second a function
|
||||
that gets access to the object instance and the container.
|
||||
|
||||
Extending a Container
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you use the same libraries over and over, you might want to reuse some
|
||||
services from one project to the next one; package your services into a
|
||||
**provider** by implementing ``Pimple\ServiceProviderInterface``:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
use Pimple\Container;
|
||||
|
||||
class FooProvider implements Pimple\ServiceProviderInterface
|
||||
{
|
||||
public function register(Container $pimple)
|
||||
{
|
||||
// register some services and parameters
|
||||
// on $pimple
|
||||
}
|
||||
}
|
||||
|
||||
Then, register the provider on a Container:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$pimple->register(new FooProvider());
|
||||
|
||||
Fetching the Service Creation Function
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When you access an object, Pimple automatically calls the anonymous function
|
||||
that you defined, which creates the service object for you. If you want to get
|
||||
raw access to this function, you can use the ``raw()`` method:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$container['session'] = function ($c) {
|
||||
return new Session($c['session_storage']);
|
||||
};
|
||||
|
||||
$sessionFunction = $container->raw('session');
|
||||
|
||||
PSR-11 compatibility
|
||||
--------------------
|
||||
|
||||
For historical reasons, the ``Container`` class does not implement the PSR-11
|
||||
``ContainerInterface``. However, Pimple provides a helper class that will let
|
||||
you decouple your code from the Pimple container class.
|
||||
|
||||
The PSR-11 container class
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``Pimple\Psr11\Container`` class lets you access the content of an
|
||||
underlying Pimple container using ``Psr\Container\ContainerInterface``
|
||||
methods:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
use Pimple\Container;
|
||||
use Pimple\Psr11\Container as PsrContainer;
|
||||
|
||||
$container = new Container();
|
||||
$container['service'] = function ($c) {
|
||||
return new Service();
|
||||
};
|
||||
$psr11 = new PsrContainer($container);
|
||||
|
||||
$controller = function (PsrContainer $container) {
|
||||
$service = $container->get('service');
|
||||
};
|
||||
$controller($psr11);
|
||||
|
||||
Using the PSR-11 ServiceLocator
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Sometimes, a service needs access to several other services without being sure
|
||||
that all of them will actually be used. In those cases, you may want the
|
||||
instantiation of the services to be lazy.
|
||||
|
||||
The traditional solution is to inject the entire service container to get only
|
||||
the services really needed. However, this is not recommended because it gives
|
||||
services a too broad access to the rest of the application and it hides their
|
||||
actual dependencies.
|
||||
|
||||
The ``ServiceLocator`` is intended to solve this problem by giving access to a
|
||||
set of predefined services while instantiating them only when actually needed.
|
||||
|
||||
It also allows you to make your services available under a different name than
|
||||
the one used to register them. For instance, you may want to use an object
|
||||
that expects an instance of ``EventDispatcherInterface`` to be available under
|
||||
the name ``event_dispatcher`` while your event dispatcher has been
|
||||
registered under the name ``dispatcher``:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
use Monolog\Logger;
|
||||
use Pimple\Psr11\ServiceLocator;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
|
||||
class MyService
|
||||
{
|
||||
/**
|
||||
* "logger" must be an instance of Psr\Log\LoggerInterface
|
||||
* "event_dispatcher" must be an instance of Symfony\Component\EventDispatcher\EventDispatcherInterface
|
||||
*/
|
||||
private $services;
|
||||
|
||||
public function __construct(ContainerInterface $services)
|
||||
{
|
||||
$this->services = $services;
|
||||
}
|
||||
}
|
||||
|
||||
$container['logger'] = function ($c) {
|
||||
return new Monolog\Logger();
|
||||
};
|
||||
$container['dispatcher'] = function () {
|
||||
return new EventDispatcher();
|
||||
};
|
||||
|
||||
$container['service'] = function ($c) {
|
||||
$locator = new ServiceLocator($c, array('logger', 'event_dispatcher' => 'dispatcher'));
|
||||
|
||||
return new MyService($locator);
|
||||
};
|
||||
|
||||
Referencing a Collection of Services Lazily
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Passing a collection of services instances in an array may prove inefficient
|
||||
if the class that consumes the collection only needs to iterate over it at a
|
||||
later stage, when one of its method is called. It can also lead to problems
|
||||
if there is a circular dependency between one of the services stored in the
|
||||
collection and the class that consumes it.
|
||||
|
||||
The ``ServiceIterator`` class helps you solve these issues. It receives a
|
||||
list of service names during instantiation and will retrieve the services
|
||||
when iterated over:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
use Pimple\Container;
|
||||
use Pimple\ServiceIterator;
|
||||
|
||||
class AuthorizationService
|
||||
{
|
||||
private $voters;
|
||||
|
||||
public function __construct($voters)
|
||||
{
|
||||
$this->voters = $voters;
|
||||
}
|
||||
|
||||
public function canAccess($resource)
|
||||
{
|
||||
foreach ($this->voters as $voter) {
|
||||
if (true === $voter->canAccess($resource) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$container = new Container();
|
||||
|
||||
$container['voter1'] = function ($c) {
|
||||
return new SomeVoter();
|
||||
}
|
||||
$container['voter2'] = function ($c) {
|
||||
return new SomeOtherVoter($c['auth']);
|
||||
}
|
||||
$container['auth'] = function ($c) {
|
||||
return new AuthorizationService(new ServiceIterator($c, array('voter1', 'voter2'));
|
||||
}
|
||||
|
||||
.. _Pimple 1.x documentation: https://github.com/silexphp/Pimple/tree/1.1
|
29
advancedcontentfilter/vendor/pimple/pimple/composer.json
vendored
Normal file
29
advancedcontentfilter/vendor/pimple/pimple/composer.json
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "pimple/pimple",
|
||||
"type": "library",
|
||||
"description": "Pimple, a simple Dependency Injection Container",
|
||||
"keywords": ["dependency injection", "container"],
|
||||
"homepage": "http://pimple.sensiolabs.org",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.3.0",
|
||||
"psr/container": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^3.2"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": { "Pimple": "src/" }
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.2.x-dev"
|
||||
}
|
||||
}
|
||||
}
|
30
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/.gitignore
vendored
Normal file
30
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/.gitignore
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
*.sw*
|
||||
.deps
|
||||
Makefile
|
||||
Makefile.fragments
|
||||
Makefile.global
|
||||
Makefile.objects
|
||||
acinclude.m4
|
||||
aclocal.m4
|
||||
build/
|
||||
config.cache
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.nice
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure.in
|
||||
install-sh
|
||||
libtool
|
||||
ltmain.sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
run-tests.php
|
||||
*.loT
|
||||
.libs/
|
||||
modules/
|
||||
*.la
|
||||
*.lo
|
12
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/README.md
vendored
Normal file
12
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/README.md
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
This is Pimple 2 implemented in C
|
||||
|
||||
* PHP >= 5.3
|
||||
* Not tested under Windows, might work
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
> phpize
|
||||
> ./configure
|
||||
> make
|
||||
> make install
|
63
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/config.m4
vendored
Normal file
63
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/config.m4
vendored
Normal file
|
@ -0,0 +1,63 @@
|
|||
dnl $Id$
|
||||
dnl config.m4 for extension pimple
|
||||
|
||||
dnl Comments in this file start with the string 'dnl'.
|
||||
dnl Remove where necessary. This file will not work
|
||||
dnl without editing.
|
||||
|
||||
dnl If your extension references something external, use with:
|
||||
|
||||
dnl PHP_ARG_WITH(pimple, for pimple support,
|
||||
dnl Make sure that the comment is aligned:
|
||||
dnl [ --with-pimple Include pimple support])
|
||||
|
||||
dnl Otherwise use enable:
|
||||
|
||||
PHP_ARG_ENABLE(pimple, whether to enable pimple support,
|
||||
dnl Make sure that the comment is aligned:
|
||||
[ --enable-pimple Enable pimple support])
|
||||
|
||||
if test "$PHP_PIMPLE" != "no"; then
|
||||
dnl Write more examples of tests here...
|
||||
|
||||
dnl # --with-pimple -> check with-path
|
||||
dnl SEARCH_PATH="/usr/local /usr" # you might want to change this
|
||||
dnl SEARCH_FOR="/include/pimple.h" # you most likely want to change this
|
||||
dnl if test -r $PHP_PIMPLE/$SEARCH_FOR; then # path given as parameter
|
||||
dnl PIMPLE_DIR=$PHP_PIMPLE
|
||||
dnl else # search default path list
|
||||
dnl AC_MSG_CHECKING([for pimple files in default path])
|
||||
dnl for i in $SEARCH_PATH ; do
|
||||
dnl if test -r $i/$SEARCH_FOR; then
|
||||
dnl PIMPLE_DIR=$i
|
||||
dnl AC_MSG_RESULT(found in $i)
|
||||
dnl fi
|
||||
dnl done
|
||||
dnl fi
|
||||
dnl
|
||||
dnl if test -z "$PIMPLE_DIR"; then
|
||||
dnl AC_MSG_RESULT([not found])
|
||||
dnl AC_MSG_ERROR([Please reinstall the pimple distribution])
|
||||
dnl fi
|
||||
|
||||
dnl # --with-pimple -> add include path
|
||||
dnl PHP_ADD_INCLUDE($PIMPLE_DIR/include)
|
||||
|
||||
dnl # --with-pimple -> check for lib and symbol presence
|
||||
dnl LIBNAME=pimple # you may want to change this
|
||||
dnl LIBSYMBOL=pimple # you most likely want to change this
|
||||
|
||||
dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
|
||||
dnl [
|
||||
dnl PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $PIMPLE_DIR/lib, PIMPLE_SHARED_LIBADD)
|
||||
dnl AC_DEFINE(HAVE_PIMPLELIB,1,[ ])
|
||||
dnl ],[
|
||||
dnl AC_MSG_ERROR([wrong pimple lib version or lib not found])
|
||||
dnl ],[
|
||||
dnl -L$PIMPLE_DIR/lib -lm
|
||||
dnl ])
|
||||
dnl
|
||||
dnl PHP_SUBST(PIMPLE_SHARED_LIBADD)
|
||||
|
||||
PHP_NEW_EXTENSION(pimple, pimple.c, $ext_shared)
|
||||
fi
|
13
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/config.w32
vendored
Normal file
13
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/config.w32
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
// $Id$
|
||||
// vim:ft=javascript
|
||||
|
||||
// If your extension references something external, use ARG_WITH
|
||||
// ARG_WITH("pimple", "for pimple support", "no");
|
||||
|
||||
// Otherwise, use ARG_ENABLE
|
||||
// ARG_ENABLE("pimple", "enable pimple support", "no");
|
||||
|
||||
if (PHP_PIMPLE != "no") {
|
||||
EXTENSION("pimple", "pimple.c");
|
||||
}
|
||||
|
137
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/php_pimple.h
vendored
Normal file
137
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/php_pimple.h
vendored
Normal file
|
@ -0,0 +1,137 @@
|
|||
|
||||
/*
|
||||
* This file is part of Pimple.
|
||||
*
|
||||
* Copyright (c) 2014 Fabien Potencier
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is furnished
|
||||
* to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef PHP_PIMPLE_H
|
||||
#define PHP_PIMPLE_H
|
||||
|
||||
extern zend_module_entry pimple_module_entry;
|
||||
#define phpext_pimple_ptr &pimple_module_entry
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
# define PHP_PIMPLE_API __declspec(dllexport)
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
# define PHP_PIMPLE_API __attribute__ ((visibility("default")))
|
||||
#else
|
||||
# define PHP_PIMPLE_API
|
||||
#endif
|
||||
|
||||
#ifdef ZTS
|
||||
#include "TSRM.h"
|
||||
#endif
|
||||
|
||||
#define PIMPLE_VERSION "3.2.3-DEV"
|
||||
|
||||
#define PIMPLE_NS "Pimple"
|
||||
#define PSR_CONTAINER_NS "Psr\\Container"
|
||||
#define PIMPLE_EXCEPTION_NS "Pimple\\Exception"
|
||||
|
||||
#define PIMPLE_DEFAULT_ZVAL_CACHE_NUM 5
|
||||
#define PIMPLE_DEFAULT_ZVAL_VALUES_NUM 10
|
||||
|
||||
#define PIMPLE_DEPRECATE do { \
|
||||
int er = EG(error_reporting); \
|
||||
EG(error_reporting) = 0;\
|
||||
php_error(E_DEPRECATED, "The Pimple C extension is deprecated since version 3.1 and will be removed in 4.0."); \
|
||||
EG(error_reporting) = er; \
|
||||
} while (0);
|
||||
|
||||
zend_module_entry *get_module(void);
|
||||
|
||||
PHP_MINIT_FUNCTION(pimple);
|
||||
PHP_MINFO_FUNCTION(pimple);
|
||||
|
||||
PHP_METHOD(FrozenServiceException, __construct);
|
||||
PHP_METHOD(InvalidServiceIdentifierException, __construct);
|
||||
PHP_METHOD(UnknownIdentifierException, __construct);
|
||||
|
||||
PHP_METHOD(Pimple, __construct);
|
||||
PHP_METHOD(Pimple, factory);
|
||||
PHP_METHOD(Pimple, protect);
|
||||
PHP_METHOD(Pimple, raw);
|
||||
PHP_METHOD(Pimple, extend);
|
||||
PHP_METHOD(Pimple, keys);
|
||||
PHP_METHOD(Pimple, register);
|
||||
PHP_METHOD(Pimple, offsetSet);
|
||||
PHP_METHOD(Pimple, offsetUnset);
|
||||
PHP_METHOD(Pimple, offsetGet);
|
||||
PHP_METHOD(Pimple, offsetExists);
|
||||
|
||||
PHP_METHOD(PimpleClosure, invoker);
|
||||
|
||||
typedef struct _pimple_bucket_value {
|
||||
zval *value; /* Must be the first element */
|
||||
zval *raw;
|
||||
zend_object_handle handle_num;
|
||||
enum {
|
||||
PIMPLE_IS_PARAM = 0,
|
||||
PIMPLE_IS_SERVICE = 2
|
||||
} type;
|
||||
zend_bool initialized;
|
||||
zend_fcall_info_cache fcc;
|
||||
} pimple_bucket_value;
|
||||
|
||||
typedef struct _pimple_object {
|
||||
zend_object zobj;
|
||||
HashTable values;
|
||||
HashTable factories;
|
||||
HashTable protected;
|
||||
} pimple_object;
|
||||
|
||||
typedef struct _pimple_closure_object {
|
||||
zend_object zobj;
|
||||
zval *callable;
|
||||
zval *factory;
|
||||
} pimple_closure_object;
|
||||
|
||||
static const char sensiolabs_logo[] = "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAAUCAMAAABvRTlyAAAAz1BMVEUAAAAAAAAAAAAsThWB5j4AAACD6T8AAACC6D+C6D6C6D+C6D4AAAAAAACC6D4AAAAAAACC6D8AAAAAAAAAAAAAAAAAAAAAAACC6D4AAAAAAAAAAACC6D4AAAAAAAAAAAAAAAAAAAAAAACC6D8AAACC6D4AAAAAAAAAAAAAAAAAAACC6D8AAACC6D6C6D+B6D+C6D+C6D+C6D8AAACC6D6C6D4AAACC6D/K/2KC6D+B6D6C6D6C6D+C6D8sTxUyWRhEeiEAAACC6D+C5z6B6D7drnEVAAAAQXRSTlMAE3oCNSUuDHFHzxaF9UFsu+irX+zlKzYimaJXktyOSFD6BolxqT7QGMMdarMIpuO28r9EolXKgR16OphfXYd4V14GtB4AAAMpSURBVEjHvVSJctowEF1jjME2RziMwUCoMfd9heZqG4n//6buLpJjkmYm03byZmxJa2nf6u2uQcG2bfhqRN4LoTKBzyGDm68M7mAwcOEdjo4zhA/Rf9Go/CVtTgiRhXfIC3EDH8F/eUX1/9KexRo+QgOdtHDsEe/sM7QT32/+K61Z1LFXcXJxN4pTbu1aTQUzuy2PIA0rDo0/0Aa5XFaJvKaVTrubywXvaa1Wq4Vu/Snr3Y7Aojh4VccwykW2N2oQ8wmjyut6+Q1t5ywIG5Npj1sh5E0B7YOzFDjfuRfaOh3O+MbbVNfTWS9COZk3Obd2su5d0a6IU9KLREbw8gEehWSr1r2sPWciXLG38r5NdW0xu9eioU87omjC9yNaMi5GNf6WppVSOqXCFkmCvMB3p9SROLoYQn5pDgQOujA1xjYvqH+plUdkwnmII8VxR/PKYkrfLLomhVlE3b/LhNbNr7hp0H2JaOc4v8dFB58HSsFTSafaqtY1sT3GO8wsy5rhokYPlRJdjPMajyYqTt1EHF/2uqSWQWmAjCUSmQ1MS3g8Btf1XOsy7YIC0CB1b5Xw1Vhba0zbxiCAQLH9TNPmHJXQUtJAN0KcDsoqLxsNvJrJExa7mKIdp2lRE2WexiS4pqWk/0jROlw6K6bV9YOBDGAuqMJ0bnuUKGB0L27bxgRhGEbzihbhxxXaQC88Vkwq8ldCi86RApWUb0Q+4VDosBCc+1s81lUdnBavH4Zp2mm3O44USwOfvSo9oBiwpFg71lMS1VKJLKljS3j9p+fOTvXXlsSNuEv6YPaZda9uRope0VJfKdo7fPiYfSmvFjXQbkhY0d9hCbBWIktRgEDieDhf1N3wbbkmNNgRy8hyl620yGQat/grV3HMpc2HDKTVmOPFz6ylPCKt/nXcAyV260jaAowwIW0YuBzrOgb/KrddZS9OmJaLgpWK4JX2DDuklcLZSDGcn8Vmx9YDNvT6UsjyBApRyFQVX7Vxm9TGxE16nmfRd8/zQoDmggQOTRh5Hv8pMt9Q/L2JmSwkMCE7dA4BuDjHJwfu0Om4QAhOjrN5XkIatglfiN/bUPdCQFjTYgAAAABJRU5ErkJggg==\">";
|
||||
|
||||
static void pimple_exception_call_parent_constructor(zval *this_ptr, const char *format, const char *arg1 TSRMLS_DC);
|
||||
|
||||
static int pimple_zval_to_pimpleval(zval *_zval, pimple_bucket_value *_pimple_bucket_value TSRMLS_DC);
|
||||
static int pimple_zval_is_valid_callback(zval *_zval, pimple_bucket_value *_pimple_bucket_value TSRMLS_DC);
|
||||
|
||||
static void pimple_bucket_dtor(pimple_bucket_value *bucket);
|
||||
static void pimple_free_bucket(pimple_bucket_value *bucket);
|
||||
|
||||
static zval *pimple_object_read_dimension(zval *object, zval *offset, int type TSRMLS_DC);
|
||||
static void pimple_object_write_dimension(zval *object, zval *offset, zval *value TSRMLS_DC);
|
||||
static int pimple_object_has_dimension(zval *object, zval *offset, int check_empty TSRMLS_DC);
|
||||
static void pimple_object_unset_dimension(zval *object, zval *offset TSRMLS_DC);
|
||||
static zend_object_value pimple_object_create(zend_class_entry *ce TSRMLS_DC);
|
||||
static void pimple_free_object_storage(pimple_object *obj TSRMLS_DC);
|
||||
|
||||
static void pimple_closure_free_object_storage(pimple_closure_object *obj TSRMLS_DC);
|
||||
static zend_object_value pimple_closure_object_create(zend_class_entry *ce TSRMLS_DC);
|
||||
static zend_function *pimple_closure_get_constructor(zval * TSRMLS_DC);
|
||||
static int pimple_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, union _zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC);
|
||||
|
||||
#ifdef ZTS
|
||||
#define PIMPLE_G(v) TSRMG(pimple_globals_id, zend_pimple_globals *, v)
|
||||
#else
|
||||
#define PIMPLE_G(v) (pimple_globals.v)
|
||||
#endif
|
||||
|
||||
#endif /* PHP_PIMPLE_H */
|
||||
|
1114
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/pimple.c
vendored
Normal file
1114
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/pimple.c
vendored
Normal file
File diff suppressed because it is too large
Load diff
81
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/pimple_compat.h
vendored
Normal file
81
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/pimple_compat.h
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
|
||||
/*
|
||||
* This file is part of Pimple.
|
||||
*
|
||||
* Copyright (c) 2014 Fabien Potencier
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is furnished
|
||||
* to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef PIMPLE_COMPAT_H_
|
||||
#define PIMPLE_COMPAT_H_
|
||||
|
||||
#include "Zend/zend_extensions.h" /* for ZEND_EXTENSION_API_NO */
|
||||
|
||||
#define PHP_5_0_X_API_NO 220040412
|
||||
#define PHP_5_1_X_API_NO 220051025
|
||||
#define PHP_5_2_X_API_NO 220060519
|
||||
#define PHP_5_3_X_API_NO 220090626
|
||||
#define PHP_5_4_X_API_NO 220100525
|
||||
#define PHP_5_5_X_API_NO 220121212
|
||||
#define PHP_5_6_X_API_NO 220131226
|
||||
|
||||
#define IS_PHP_56 ZEND_EXTENSION_API_NO == PHP_5_6_X_API_NO
|
||||
#define IS_AT_LEAST_PHP_56 ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO
|
||||
|
||||
#define IS_PHP_55 ZEND_EXTENSION_API_NO == PHP_5_5_X_API_NO
|
||||
#define IS_AT_LEAST_PHP_55 ZEND_EXTENSION_API_NO >= PHP_5_5_X_API_NO
|
||||
|
||||
#define IS_PHP_54 ZEND_EXTENSION_API_NO == PHP_5_4_X_API_NO
|
||||
#define IS_AT_LEAST_PHP_54 ZEND_EXTENSION_API_NO >= PHP_5_4_X_API_NO
|
||||
|
||||
#define IS_PHP_53 ZEND_EXTENSION_API_NO == PHP_5_3_X_API_NO
|
||||
#define IS_AT_LEAST_PHP_53 ZEND_EXTENSION_API_NO >= PHP_5_3_X_API_NO
|
||||
|
||||
#if IS_PHP_53
|
||||
#define object_properties_init(obj, ce) do { \
|
||||
zend_hash_copy(obj->properties, &ce->default_properties, zval_copy_property_ctor(ce), NULL, sizeof(zval *)); \
|
||||
} while (0);
|
||||
#endif
|
||||
|
||||
#define ZEND_OBJ_INIT(obj, ce) do { \
|
||||
zend_object_std_init(obj, ce TSRMLS_CC); \
|
||||
object_properties_init((obj), (ce)); \
|
||||
} while(0);
|
||||
|
||||
#if IS_PHP_53 || IS_PHP_54
|
||||
static void zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, HashPosition *pos) {
|
||||
Bucket *p;
|
||||
|
||||
p = pos ? (*pos) : ht->pInternalPointer;
|
||||
|
||||
if (!p) {
|
||||
Z_TYPE_P(key) = IS_NULL;
|
||||
} else if (p->nKeyLength) {
|
||||
Z_TYPE_P(key) = IS_STRING;
|
||||
Z_STRVAL_P(key) = estrndup(p->arKey, p->nKeyLength - 1);
|
||||
Z_STRLEN_P(key) = p->nKeyLength - 1;
|
||||
} else {
|
||||
Z_TYPE_P(key) = IS_LONG;
|
||||
Z_LVAL_P(key) = p->h;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PIMPLE_COMPAT_H_ */
|
45
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/001.phpt
vendored
Normal file
45
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/001.phpt
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
--TEST--
|
||||
Test for read_dim/write_dim handlers
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
$p[42] = 'foo';
|
||||
$p['foo'] = 42;
|
||||
|
||||
echo $p[42];
|
||||
echo "\n";
|
||||
echo $p['foo'];
|
||||
echo "\n";
|
||||
try {
|
||||
var_dump($p['nonexistant']);
|
||||
echo "Exception excpected";
|
||||
} catch (InvalidArgumentException $e) { }
|
||||
|
||||
$p[54.2] = 'foo2';
|
||||
echo $p[54];
|
||||
echo "\n";
|
||||
$p[242.99] = 'foo99';
|
||||
echo $p[242];
|
||||
|
||||
echo "\n";
|
||||
|
||||
$p[5] = 'bar';
|
||||
$p[5] = 'baz';
|
||||
echo $p[5];
|
||||
|
||||
echo "\n";
|
||||
|
||||
$p['str'] = 'str';
|
||||
$p['str'] = 'strstr';
|
||||
echo $p['str'];
|
||||
?>
|
||||
|
||||
--EXPECTF--
|
||||
foo
|
||||
42
|
||||
foo2
|
||||
foo99
|
||||
baz
|
||||
strstr
|
15
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/002.phpt
vendored
Normal file
15
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/002.phpt
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
--TEST--
|
||||
Test for constructor
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
var_dump($p[42]);
|
||||
|
||||
$p = new Pimple\Container(array(42=>'foo'));
|
||||
var_dump($p[42]);
|
||||
?>
|
||||
--EXPECT--
|
||||
NULL
|
||||
string(3) "foo"
|
16
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/003.phpt
vendored
Normal file
16
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/003.phpt
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
--TEST--
|
||||
Test empty dimensions
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
$p[] = 42;
|
||||
var_dump($p[0]);
|
||||
$p[41] = 'foo';
|
||||
$p[] = 'bar';
|
||||
var_dump($p[42]);
|
||||
?>
|
||||
--EXPECT--
|
||||
int(42)
|
||||
string(3) "bar"
|
30
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/004.phpt
vendored
Normal file
30
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/004.phpt
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
--TEST--
|
||||
Test has/unset dim handlers
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
$p[] = 42;
|
||||
var_dump($p[0]);
|
||||
unset($p[0]);
|
||||
var_dump($p[0]);
|
||||
$p['foo'] = 'bar';
|
||||
var_dump(isset($p['foo']));
|
||||
unset($p['foo']);
|
||||
try {
|
||||
var_dump($p['foo']);
|
||||
echo "Excpected exception";
|
||||
} catch (InvalidArgumentException $e) { }
|
||||
var_dump(isset($p['bar']));
|
||||
$p['bar'] = NULL;
|
||||
var_dump(isset($p['bar']));
|
||||
var_dump(empty($p['bar']));
|
||||
?>
|
||||
--EXPECT--
|
||||
int(42)
|
||||
NULL
|
||||
bool(true)
|
||||
bool(false)
|
||||
bool(true)
|
||||
bool(true)
|
27
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/005.phpt
vendored
Normal file
27
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/005.phpt
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
--TEST--
|
||||
Test simple class inheritance
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
class MyPimple extends Pimple\Container
|
||||
{
|
||||
public $someAttr = 'fooAttr';
|
||||
|
||||
public function offsetget($o)
|
||||
{
|
||||
var_dump("hit");
|
||||
return parent::offsetget($o);
|
||||
}
|
||||
}
|
||||
|
||||
$p = new MyPimple;
|
||||
$p[42] = 'foo';
|
||||
echo $p[42];
|
||||
echo "\n";
|
||||
echo $p->someAttr;
|
||||
?>
|
||||
--EXPECT--
|
||||
string(3) "hit"
|
||||
foo
|
||||
fooAttr
|
51
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/006.phpt
vendored
Normal file
51
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/006.phpt
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
--TEST--
|
||||
Test complex class inheritance
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
class MyPimple extends Pimple\Container
|
||||
{
|
||||
public function offsetget($o)
|
||||
{
|
||||
var_dump("hit offsetget in " . __CLASS__);
|
||||
return parent::offsetget($o);
|
||||
}
|
||||
}
|
||||
|
||||
class TestPimple extends MyPimple
|
||||
{
|
||||
public function __construct($values)
|
||||
{
|
||||
array_shift($values);
|
||||
parent::__construct($values);
|
||||
}
|
||||
|
||||
public function offsetget($o)
|
||||
{
|
||||
var_dump('hit offsetget in ' . __CLASS__);
|
||||
return parent::offsetget($o);
|
||||
}
|
||||
|
||||
public function offsetset($o, $v)
|
||||
{
|
||||
var_dump('hit offsetset');
|
||||
return parent::offsetset($o, $v);
|
||||
}
|
||||
}
|
||||
|
||||
$defaultValues = array('foo' => 'bar', 88 => 'baz');
|
||||
|
||||
$p = new TestPimple($defaultValues);
|
||||
$p[42] = 'foo';
|
||||
var_dump($p[42]);
|
||||
var_dump($p[0]);
|
||||
?>
|
||||
--EXPECT--
|
||||
string(13) "hit offsetset"
|
||||
string(27) "hit offsetget in TestPimple"
|
||||
string(25) "hit offsetget in MyPimple"
|
||||
string(3) "foo"
|
||||
string(27) "hit offsetget in TestPimple"
|
||||
string(25) "hit offsetget in MyPimple"
|
||||
string(3) "baz"
|
22
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/007.phpt
vendored
Normal file
22
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/007.phpt
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
--TEST--
|
||||
Test for read_dim/write_dim handlers
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
$p[42] = 'foo';
|
||||
$p['foo'] = 42;
|
||||
|
||||
echo $p[42];
|
||||
echo "\n";
|
||||
echo $p['foo'];
|
||||
echo "\n";
|
||||
try {
|
||||
var_dump($p['nonexistant']);
|
||||
echo "Exception excpected";
|
||||
} catch (InvalidArgumentException $e) { }
|
||||
?>
|
||||
--EXPECTF--
|
||||
foo
|
||||
42
|
29
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/008.phpt
vendored
Normal file
29
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/008.phpt
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
--TEST--
|
||||
Test frozen services
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
$p[42] = 'foo';
|
||||
$p[42] = 'bar';
|
||||
|
||||
$p['foo'] = function () { };
|
||||
$p['foo'] = function () { };
|
||||
|
||||
$a = $p['foo'];
|
||||
|
||||
try {
|
||||
$p['foo'] = function () { };
|
||||
echo "Exception excpected";
|
||||
} catch (RuntimeException $e) { }
|
||||
|
||||
$p[42] = function() { };
|
||||
$a = $p[42];
|
||||
|
||||
try {
|
||||
$p[42] = function () { };
|
||||
echo "Exception excpected";
|
||||
} catch (RuntimeException $e) { }
|
||||
?>
|
||||
--EXPECTF--
|
13
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/009.phpt
vendored
Normal file
13
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/009.phpt
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
--TEST--
|
||||
Test service is called as callback, and only once
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$p = new Pimple\Container();
|
||||
$p['foo'] = function($arg) use ($p) { var_dump($p === $arg); };
|
||||
$a = $p['foo'];
|
||||
$b = $p['foo']; /* should return not calling the callback */
|
||||
?>
|
||||
--EXPECTF--
|
||||
bool(true)
|
45
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/010.phpt
vendored
Normal file
45
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/010.phpt
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
--TEST--
|
||||
Test service is called as callback for every callback type
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
function callme()
|
||||
{
|
||||
return 'called';
|
||||
}
|
||||
|
||||
$a = function() { return 'called'; };
|
||||
|
||||
class Foo
|
||||
{
|
||||
public static function bar()
|
||||
{
|
||||
return 'called';
|
||||
}
|
||||
}
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$p['foo'] = 'callme';
|
||||
echo $p['foo'] . "\n";
|
||||
|
||||
$p['bar'] = $a;
|
||||
echo $p['bar'] . "\n";
|
||||
|
||||
$p['baz'] = "Foo::bar";
|
||||
echo $p['baz'] . "\n";
|
||||
|
||||
$p['foobar'] = array('Foo', 'bar');
|
||||
var_dump($p['foobar']);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
callme
|
||||
called
|
||||
Foo::bar
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "Foo"
|
||||
[1]=>
|
||||
string(3) "bar"
|
||||
}
|
19
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/011.phpt
vendored
Normal file
19
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/011.phpt
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
--TEST--
|
||||
Test service callback throwing an exception
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
class CallBackException extends RuntimeException { }
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$p['foo'] = function () { throw new CallBackException; };
|
||||
try {
|
||||
echo $p['foo'] . "\n";
|
||||
echo "should not come here";
|
||||
} catch (CallBackException $e) {
|
||||
echo "all right!";
|
||||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
all right!
|
28
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/012.phpt
vendored
Normal file
28
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/012.phpt
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
--TEST--
|
||||
Test service factory
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$p = new Pimple\Container();
|
||||
|
||||
$p->factory($f = function() { var_dump('called-1'); return 'ret-1';});
|
||||
|
||||
$p[] = $f;
|
||||
|
||||
$p[] = function () { var_dump('called-2'); return 'ret-2'; };
|
||||
|
||||
var_dump($p[0]);
|
||||
var_dump($p[0]);
|
||||
var_dump($p[1]);
|
||||
var_dump($p[1]);
|
||||
?>
|
||||
--EXPECTF--
|
||||
string(8) "called-1"
|
||||
string(5) "ret-1"
|
||||
string(8) "called-1"
|
||||
string(5) "ret-1"
|
||||
string(8) "called-2"
|
||||
string(5) "ret-2"
|
||||
string(5) "ret-2"
|
33
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/013.phpt
vendored
Normal file
33
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/013.phpt
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
--TEST--
|
||||
Test keys()
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$p = new Pimple\Container();
|
||||
|
||||
var_dump($p->keys());
|
||||
|
||||
$p['foo'] = 'bar';
|
||||
$p[] = 'foo';
|
||||
|
||||
var_dump($p->keys());
|
||||
|
||||
unset($p['foo']);
|
||||
|
||||
var_dump($p->keys());
|
||||
?>
|
||||
--EXPECTF--
|
||||
array(0) {
|
||||
}
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(3) "foo"
|
||||
[1]=>
|
||||
int(0)
|
||||
}
|
||||
array(1) {
|
||||
[0]=>
|
||||
int(0)
|
||||
}
|
30
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/014.phpt
vendored
Normal file
30
advancedcontentfilter/vendor/pimple/pimple/ext/pimple/tests/014.phpt
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
--TEST--
|
||||
Test raw()
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("pimple")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$p = new Pimple\Container();
|
||||
$f = function () { var_dump('called-2'); return 'ret-2'; };
|
||||
|
||||
$p['foo'] = $f;
|
||||
$p[42] = $f;
|
||||
|
||||
var_dump($p['foo']);
|
||||
var_dump($p->raw('foo'));
|
||||
var_dump($p[42]);
|
||||
|
||||
unset($p['foo']);
|
||||
|
||||
try {
|
||||
$p->raw('foo');
|
||||
echo "expected exception";
|
||||
} catch (InvalidArgumentException $e) { }
|
||||
--EXPECTF--
|
||||
string(8) "called-2"
|
||||
string(5) "ret-2"
|
||||
object(Closure)#%i (0) {
|
||||
}
|
||||
string(8) "called-2"
|
||||
string(5) "ret-2"
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue