Add support for the native web share API in share dialog (#4201)
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / headIncludeJavaScript.tpl
index 8a389eaac19b7e97c4afb2586849086c6739371a..fe9b47518ae4dc970cd0316aeeceb5e02fda99fe 100644 (file)
@@ -74,6 +74,7 @@ window.addEventListener('pageshow', function(event) {
                        'wcf.global.button.close': '{jslang}wcf.global.button.close{/jslang}',
                        'wcf.global.button.collapsible': '{jslang}wcf.global.button.collapsible{/jslang}',
                        'wcf.global.button.delete': '{jslang}wcf.global.button.delete{/jslang}',
+                       'wcf.button.delete.confirmMessage': '{jslang __literal=true}wcf.button.delete.confirmMessage{/jslang}',
                        'wcf.global.button.disable': '{jslang}wcf.global.button.disable{/jslang}',
                        'wcf.global.button.disabledI18n': '{jslang}wcf.global.button.disabledI18n{/jslang}',
                        'wcf.global.button.edit': '{jslang}wcf.global.button.edit{/jslang}',
@@ -130,7 +131,30 @@ window.addEventListener('pageshow', function(event) {
                        'wcf.date.datePicker.month': '{jslang}wcf.date.datePicker.month{/jslang}',
                        'wcf.date.datePicker.year': '{jslang}wcf.date.datePicker.year{/jslang}',
                        'wcf.date.datePicker.hour': '{jslang}wcf.date.datePicker.hour{/jslang}',
-                       'wcf.date.datePicker.minute': '{jslang}wcf.date.datePicker.minute{/jslang}'
+                       'wcf.date.datePicker.minute': '{jslang}wcf.date.datePicker.minute{/jslang}',
+                       'wcf.global.form.password.button.hide': '{jslang}wcf.global.form.password.button.hide{/jslang}',
+                       'wcf.global.form.password.button.show': '{jslang}wcf.global.form.password.button.show{/jslang}',
+                       'wcf.message.share': '{jslang}wcf.message.share{/jslang}',
+                       'wcf.message.share.facebook': '{jslang}wcf.message.share.facebook{/jslang}',
+                       'wcf.message.share.twitter': '{jslang}wcf.message.share.twitter{/jslang}',
+                       'wcf.message.share.reddit': '{jslang}wcf.message.share.reddit{/jslang}',
+                       'wcf.message.share.whatsApp': '{jslang}wcf.message.share.whatsApp{/jslang}',
+                       'wcf.message.share.linkedIn': '{jslang}wcf.message.share.linkedIn{/jslang}',
+                       'wcf.message.share.pinterest': '{jslang}wcf.message.share.pinterest{/jslang}',
+                       'wcf.message.share.xing': '{jslang}wcf.message.share.xing{/jslang}',
+                       'wcf.message.share.permalink': '{jslang}wcf.message.share.permalink{/jslang}',
+                       'wcf.message.share.permalink.bbcode': '{jslang}wcf.message.share.permalink.bbcode{/jslang}',
+                       'wcf.message.share.permalink.html': '{jslang}wcf.message.share.permalink.html{/jslang}',
+                       'wcf.message.share.socialMedia': '{jslang}wcf.message.share.socialMedia{/jslang}',
+                       'wcf.message.share.copy': '{jslang}wcf.message.share.copy{/jslang}',
+                       'wcf.message.share.copy.success': '{jslang}wcf.message.share.copy.success{/jslang}',
+                       'wcf.message.share.nativeShare': '{jslang}wcf.message.share.nativeShare{/jslang}',
+                       'wcf.global.button.rss': '{jslang}wcf.global.button.rss{/jslang}',
+                       'wcf.global.rss.copy': '{jslang}wcf.global.rss.copy{/jslang}',
+                       'wcf.global.rss.copy.success': '{jslang}wcf.global.rss.copy.success{/jslang}',
+                       'wcf.global.rss.accessToken.info': '{jslang}wcf.global.rss.accessToken.info{/jslang}',
+                       'wcf.global.rss.withoutAccessToken': '{jslang}wcf.global.rss.withoutAccessToken{/jslang}',
+                       'wcf.global.rss.withAccessToken': '{jslang}wcf.global.rss.withAccessToken{/jslang}'
                        {if MODULE_LIKE}
                                ,'wcf.like.button.like': '{jslang}wcf.like.button.like{/jslang}',
                                'wcf.like.button.dislike': '{jslang}wcf.like.button.dislike{/jslang}',
@@ -143,16 +167,24 @@ window.addEventListener('pageshow', function(event) {
                        {event name='javascriptLanguageImport'}
                });
                
+               User.init(
+                       {@$__wcf->user->userID},
+                       '{@$__wcf->user->username|encodeJS}',
+                       {if $__wcf->user->userID}'{@$__wcf->user->getLink()|encodeJS}'{else}''{/if}
+               );
+               
                BootstrapFrontend.setup({
                        backgroundQueue: {
                                url: '{link controller="BackgroundQueuePerform"}{/link}',
                                force: {if $forceBackgroundQueuePerform|isset}true{else}false{/if}
                        },
                        enableUserPopover: {if $__wcf->getSession()->getPermission('user.profile.canViewUserProfile')}true{else}false{/if},
+                       executeCronjobs: {if $executeCronjobs}true{else}false{/if},
+                       {if ENABLE_SHARE_BUTTONS}
+                           shareButtonProviders: [{implode from="\n"|explode:SHARE_BUTTONS_PROVIDERS item=shareButtonProvider}'{$shareButtonProvider}'{/implode}],
+                       {/if}
                        styleChanger: {if $__wcf->getStyleHandler()->showStyleChanger()}true{else}false{/if}
                });
-               
-               User.init({@$__wcf->user->userID}, '{@$__wcf->user->username|encodeJS}', {if $__wcf->user->userID}'{@$__wcf->user->getLink()|encodeJS}'{else}''{/if});
        });
        
        // prevent jQuery and other libraries from utilizing define()
@@ -223,20 +255,6 @@ window.addEventListener('pageshow', function(event) {
                
                {event name='javascriptInit'}
                
-               {if $executeCronjobs}
-                       new WCF.Action.Proxy({
-                               autoSend: true,
-                               data: {
-                                       className: 'wcf\\data\\cronjob\\CronjobAction',
-                                       actionName: 'executeCronjobs'
-                               },
-                               showLoadingOverlay: false,
-                               failure: function() {
-                                       return false;
-                               }
-                       });
-               {/if}
-               
                {if ENABLE_POLLING && $__wcf->user->userID}
                        require(['WoltLabSuite/Core/Notification/Handler'], function(NotificationHandler) {
                                NotificationHandler.setup({