PageSourceSearch

https://www.literaturportal-bayern.de/templates/yoo_master2/styles/lpb/js/lpb_yumpu_embed.js

js literaturportal-bayern.de collected 2026-10-02 06:58:46 UTC 12,001 bytes, 200 lines download raw bytes

1/**
2 * Created by beatrice on 06.07.16.
3 */
4// Vorwort Sepp Kuffer,
5// Laden der yumpu-Videos immer mit document.write vgl.
6// <script type="text/javascript">document.write('<div class="embed_yumpu">https://www.youtube.com/watch?v=gdvb_4bynUw</div>');</script>
7// in
8// https://www.bsb-muenchen.de/aktuelles/article/bsb-navigator-neue-app-der-bayerischen-staatsbibliothek-online/
9// Laden auf der HTML-Seite mit document.write hat den Sinn, dass ohne aktiviertes Javascript kein Laden.
10// Sonst könnte das Opt-In umgangen werden.
11// Beachte Aufruf per https von youtube https://www.youtube.com/watch?v=
12// ist für das Funktionieren der Ersetzungen unten notwendig
13
14// Der Text im Opt-In verlangt von uns Impressum-Datenschutzerklaerung
15// unter https://www.literaturportal-bayern.de/impressum-datenschutzerklaerung/
16
17// Pfade fileadmin/media/scripts/BSBYouTubeEmbed/images/settings.png
18// und fileadmin/media/scripts/BSBYouTubeEmbed/images/info.png wuerden wir anpassen (Typo3-Pfade)
19// und natuerlich auch die entsprechende Icons dort hinterlegen.
20
21// cookie habe ich von "bsbyoutubeembed" nach "lpbyoutubeembed" umbenannt.
22
23// css koennte wohl verwendet werden wie es ist.
24
25// Function Set Cookie
26function set_cookie(my_cookie,value,days) {
27    if (days) {
28        var date = new Date();
29        date.setTime(date.getTime()+(days*24*60*60*1000));
30        var expires = "; expires="+date.toGMTString();
31    }
32    else {
33        expires = "";
34    }
35    document.cookie = my_cookie+"="+value+expires+"; path=/";
36}
37
38// Function Delete Cookie
39function delete_cookie(my_cookie) {
40    set_cookie(my_cookie,"",-1);
41}
42
43// Function Read Cookie
44function read_cookie(my_cookie) {
45    var my_cookie_eq = my_cookie + "=";
46    var ca = document.cookie.split(';');
47    for(var i=0;i< ca.length;i++) {
48        var c = ca[i];
49        while (c.charAt(0)==' ') {
50            c = c.substring(1,c.length);
51        }
52        if (c.indexOf(my_cookie_eq) == 0) {
53            return c.substring(my_cookie_eq.length,c.length);
54        }
55    }
56    return null
57}
58
59// Function Create Embed-Code
60function create_yumpu_embedcode( url ) {
61    // Sepp Kuffer
62
63    // wuerde mit dem Replace unten https://www.youtube.com/embed/gdvb_4bynUw?showinfo=0&wmode=transparent
64    // Das kontaktiert bereits youtube, wird aber weiter unten in der ready.funktion nur ausgefuehrt,
65    // wenn Opt-In passiert ist.
66    // Ist ok.
67    //var embed_url = url.replace( "watch?v=", "embed/" ) + "?showinfo=0&wmode=transparent" ;
68    //var embed_url = url.replace(/src *= */)
69    // var embed_url = url + "?showinfo=0&wmode=transparent";
70    //alert(embed_url);
71    // <iframe src="https://player.vimeo.com/video/67056908" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
72    var embed_code = "<iframe width='492' height='727' src='" + url + "' frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>";
73    //var embed_code = url;
74    return embed_code;
75}
76
77jQuery(document).ready(function($) {
78    // If Yumpu-Link is found
79    if ( jQuery( ".embed_yumpu" ).length ) {
80
81        var yumpu_url = [];
82        var clickIndex = 0;
83        // For each Video-Link
84        for ( var i = 0; i < $( ".embed_yumpu" ).length; i = i + 1 ) {
85            // Get URL https://www.yumpu.com/de/embed/view
86            //youtube_url[i] = $( ".embed_youtube" ).eq( i ).text();
87            // vimeo_url[i] = $( ".embed_vimeo" ).eq( i ).html().replace(/^.* src *= *[\"\']?(https?:)?(\/\/www\.youtube\.com\/(embed\/|watch\?v=)\w+).*/,"https:$2");
88            yumpu_url[i] = $( ".embed_yumpu" ).eq( i ).html().replace(/^.* src *= *[\"\']?(https?:)?(\/\/www\.yumpu\.com\/de\/embed\/view\/[a-zA-Z0-9]+).*/,"https:$2");
89            // alert (yumpu_url[i]);
90
91            // Cookie set?
92            if ( read_cookie( "lpbyumpuembed" ) === "yes" ) {
93                // Create YouTube-iFrame
94                $( ".embed_yumpu" ).eq( i ).html( create_embedcode( yumpu_url[i] ) );
95            }
96            else {
97                // Load Image from YouTube-Server ; img.youtube.com via BSB-Proxy on /youtubeimg/
98                // Sepp Kuffer, Hier kommt im Endeffekt
99                // https://www.bsb-muenchen.de/youtubeimg/vi/gdvb_4bynUw/maxresdefault.jpg
100                // fuer das Ersatzbild fuer youtube zustande.
101                // Hiesse fuer uns wir muessten https://www.literaturportal-bayern.de/youtubeimg/
102                // anlegen und dort Unterverzeichnisse zur ID (im Beispiel gdvb_4bynUw
103                // und dort das Äquivalent von
104                // https://www.youtube.com/embed/gdvb_4bynUw?showinfo=0&wmode=transparent
105                // als maxresdefault.jpg ablegen.
106                // Den Pfad koennten wir beibelassen (oder aendern) ID als Unterverzeichnis belaasen wir.               
107                
108                // var yumpu_img = yumpu_url[i].replace( "https://www.yumpu.com/de/embed/view", "/templates/lpb/images/yumpu" ) + "/maxresdefault.jpg";
109                // var yumpu_img = yumpu_url[i].replace( "https://www.yumpu.com/de/embed/view", "/externmedia/yumpu" ) + "/maxresdefault.jpg";
110                var yumpu_img = yumpu_url[i].replace( "https://www.yumpu.com/de/embed/view", "/images/externmedia/yumpu" ) + "/maxresdefault.jpg";
111
112                // vimeo_img = vimeo_img.replace("https://www.youtube.com/embed/", "/templates/lpb/images/" );
113                // var youtube_img = youtube_url[i].replace( "/templates/lpb/", "/images/" ) + "/maxresdefault.jpg";               
114
115                // $(".embed_youtube").eq(i).html( "<img class='embed_youtube_preview' src='" + youtube_img + "' width='492' height='277'>" );
116                $(".embed_yumpu").eq(i).html( "<img class='embed_yumpu_preview' src='" + yumpu_img + "' width='492' height='277'>" );
117
118                // Initiate dialog
119                if ( $( "html" ).attr( "lang" ) == "en" ) {
120                    // English version
121                    $( ".embed_yumpu" ).eq( i ).append( "<div class='embed_dialog'><h1>Activation required</h1>By clicking on this article, Yumpu articles will be shown on the website www.literaturportal-bayern.de in the future. Please note that after activation data are transferred to Yumpu. You can permanently activate the playing by one click or permanently deactivate the playing again by clicking on the data protection button on the right.<br><a href='/impressum/'>More Information</a><br><div class='embed_ok'>Permanent activation</div></div>" );
122                }
123                else {
124                    // German version
125                    $( ".embed_yumpu" ).eq( i ).append( "<div class='embed_dialog' style='margin:30px 16px 0 0; padding:86px 8px 311px 12px;'><h1>Aktivierung erforderlich</h1>Durch das Klicken auf diesen Artikel werden in Zukunft Yumpu-Artikel auf www.literaturportal-bayern.de eingeblendet. Wir m&ouml;chten Sie darauf hinweisen, dass nach der Aktivierung Daten an Yumpu &uuml;bermittelt werden. Sie k&ouml;nnen mit einem Klick dauerhaft das Abspielen aktivieren oder im Datenschutzschalter rechts die Aktivierung auch dauerhaft wieder r&uuml;ckg&auml;ngig machen.<br><a href='/impressum/'>Weitere Informationen</a><br><div class='embed_ok'>Dauerhafte Aktivierung</div></div>" );
126                }
127            }
128        }
129        // On commit dialog: Create YouTube-iFrame
130        $( ".embed_dialog .embed_ok" ).click(function() {
131            set_cookie( "lpbyumpuembed", "yes", 180 );
132            $( ".embed_dialog" ).remove();
133            for ( var i = $( ".embed_yumpu" ).length-1; i >= 0; i = i - 1 ) {
134                $( ".embed_yumpu .embed_yumpu_preview" ).eq( i ).replaceWith( create_yumpu_embedcode( yumpu_url[i] ) );
135            }
136            if ( read_cookie( "lpbyumpuembed" ) === "yes" ) {
137                $( ".embed_yumpu .embed_settings_box input" ).prop('checked', true);
138            }
139        });
140
141        // Create Buttons and Boxes for Info and Settings
142        if ( $( "html" ).attr( "lang" ) == "en" ) {
143            // English version
144            // $( ".embed_youtube" ).prepend( "<ul><li class='embed_settings'><img src='fileadmin/media/scripts/BSBYouTubeEmbed/images/settings.png'></li><li class='embed_info'><img src='fileadmin/media/scripts/BSBYouTubeEmbed/images/info.png'></li></ul>" );
145            $( ".embed_yumpu" ).prepend( "<ul><li class='embed_settings'><img src='/images/icons/settings.png'></li><li class='embed_info'><img src='/images/icons/info.png'></li></ul>" );
146            $( ".embed_yumpu .embed_info" ).after( "<div class='embed_info_box'>If you activate the field by clicking on it, information will be transferred to the operator of Yumpu. After placing the check mark, all videos can be viewed permanently without activation in the individual case. By removing the check mark, the permanent activation can be cancelled again.</div>" );
147            $( ".embed_yumpu .embed_settings" ).after( "<div class='embed_settings_box'>Activate permanently and agree with data transfer:<br><input type='checkbox' class='embed_settings_checkbox'>Yumpu</div>" );
148        }
149        else {
150            // German version
151            // $( ".embed_youtube" ).prepend( "<ul><li class='embed_settings'>
151<img src='fileadmin/media/scripts/BSBYouTubeEmbed/images/settings.png'></li><li class='embed_info'><img src='fileadmin/media/scripts/BSBYouTubeEmbed/images/info.png'></li></ul>" );
152            $( ".embed_yumpu" ).prepend( "<ul><li class='embed_settings'><img src='/images/icons/settings.png'></li><li class='embed_info'><img src='/images/icons/info.png'></li></ul>" );
153            $( ".embed_yumpu .embed_info" ).after( "<div class='embed_info_box'>Wenn Sie das Feld durch einen Klick aktivieren, werden Informationen an den Betreiber von Yumpu &uuml;bertragen. Nach Setzen des H&auml;kchens k&ouml;nnen alle Artikel dauerhaft ohne nochmalige Aktivierung abgerufen werden. Durch Entfernen des H&auml;kchens k&ouml;nnen Sie die dauerhafte Aktivierung wieder deaktivieren.</div>" );
154            $( ".embed_yumpu .embed_settings" ).after( "<div class='embed_settings_box'>Dauerhaft aktivieren und Daten&uuml;bertragung zustimmen:<br><input type='checkbox' class='embed_settings_checkbox'>Yumpu</div>" );
155        }
156        if ( read_cookie( "lpbyumpuembed" ) === "yes" ) {
157            $( ".embed_yumpu .embed_settings_box input" ).prop('checked', true);
158        }
159
160        // On click Info Icon
161        $( ".embed_yumpu .embed_info" ).click(function() {
162            clickIndex = $( ".embed_info" ).index( this );
163            if ( $( ".embed_yumpu .embed_info_box" ).eq( clickIndex ).is( ":visible" ) ) {
164                $( ".embed_yumpu .embed_info_box" ).eq( clickIndex ).hide();
165            }
166            else {
167                $( ".embed_yumpu .embed_settings_box" ).eq( clickIndex ).hide();
168                $( ".embed_info_box" ).eq( clickIndex ).show();
169            }
170        });
171
172        // On click Settings Icon
173        $( ".embed_yumpu .embed_settings" ).click(function() {
174            clickIndex = $( ".embed_settings" ).index( this );
175            if ( $( ".embed_yumpu .embed_settings_box" ).eq( clickIndex ).is( ":visible" ) ) {
176                $( ".embed_yumpu .embed_settings_box" ).eq( clickIndex ).hide();
177            }
178            else {
179                $( ".embed_yumpu .embed_info_box" ).eq( clickIndex ).hide();
180                $( ".embed_settings_box" ).eq( clickIndex ).show();
181            }
182        });
183
184        // On click Settings Checkbox
185        $( ".embed_yumpu .embed_settings_box :checkbox" ).change(function(){
186            if ( $(this).prop("checked") ) {
187                $( ".embed_yumpu .embed_settings_box input" ).prop('checked', true);
188                set_cookie( "lpbyumpuembed", "yes", 180 );
189                $( ".embed_yumpu .embed_settings_box" ).hide();
190                $( ".embed_dialog .embed_ok" ).click();
191            }
192            else {
193                delete_cookie( "lpbyumpuembed" );
194                location.reload();
195            }
196        });
197
198    }
199});
200

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.