WordPress.org

Plugin Directory

Changeset 1593669


Ignore:
Timestamp:
02/11/17 02:23:21 (8 months ago)
Author:
_Y_Power
Message:

Visual Chap version 1.0.4 - Added closing/opening window auto-scroll and icon color option, fixed enqueued files (admin and front) by registering them, fixed multiple minor bugs

Location:
visual-chap
Files:
8 added
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • visual-chap/trunk/includes/css/wikipedia-visual-chap-admin.css

    r1555186 r1593669  
    2525    margin-top: 4px; 
    2626    margin-left: 5px; 
    27     padding: 2px; 
    28     background-color: red; 
    29     -o-border-radius: 5px; 
    30     -ms-border-radius: 5px; 
    31     -moz-border-radius: 5px; 
    32     -webkit-border-radius: 5px; 
    33     border-radius: 5px; 
    34     box-shadow: 0 0 4px 1px #333; 
     27    padding: 6px; 
     28    background-color: #fff; 
     29    -o-border-radius: 50%; 
     30    -ms-border-radius: 50%; 
     31    -moz-border-radius: 50%; 
     32    -webkit-border-radius: 50%; 
     33    border-radius: 50%; 
     34    -o-box-shadow: 0 0 4px 1px #333 inset; 
     35    -ms-box-shadow: 0 0 4px 1px #333 inset; 
     36    -moz-box-shadow: 0 0 4px 1px #333 inset; 
     37    -webkit-box-shadow: 0 0 4px 1px #333 inset; 
     38    box-shadow: 0 0 4px 1px #333 inset; 
    3539} 
    3640 
     
    6468} 
    6569 
    66 input:hover { 
     70input:not(#wikipedia-visual-chap-section-main-margin-top):hover { 
    6771    box-shadow: 0 0 3px .1px; 
    6872    transition: all linear .4s; 
     
    7074 
    7175form input[type=color]:hover, 
    72 form input[type=range]:hover{ 
     76form input[type=range]:hover { 
    7377    cursor: pointer; 
    7478} 
  • visual-chap/trunk/includes/css/wikipedia-visual-chap.css

    r1555186 r1593669  
    2424    overflow: hidden; 
    2525    opacity: 0; 
     26    z-index; 0; 
    2627} 
    2728 
    2829/* main scroll-able div */ 
    2930div#wikipedia-visual-chap-inner-container { 
     31    position: relative; 
     32    margin-left: 1px; 
    3033    padding: 6px; 
     34    -o-border-radius: 6px; 
     35    -ms-border-radius: 6px; 
     36    -moz-border-radius: 6px; 
     37    -webkit-border-radius: 6px; 
     38    border-radius: 6px; 
    3139} 
    3240 
     
    3644    height: 50px; 
    3745    cursor: pointer; 
    38     color: #f8f8f8; 
    39     background-color: red; 
    4046    border: 1px solid; 
    4147    -o-border-radius: 4px; 
     
    4450    -webkit-border-radius: 4px; 
    4551    border-radius: 4px; 
    46     -o-box-shadow: 0 0 6px 1px #333; 
    47     -ms-box-shadow: 0 0 6px 1px #333; 
    48     -moz-box-shadow: 0 0 6px 1px #333; 
    49     -webkit-box-shadow: 0 0 6px 1px #333; 
    50     box-shadow: 0 0 6px 1px #333; 
     52    opacity: .85; 
     53    -moz-transition: opacity linear .2s; 
     54    -webkit-transition: opacity linear .2s; 
     55    transition: opacity linear .2s; 
    5156} 
    5257 
    5358div#wikipedia-visual-chap-box-switch:hover { 
    54     background-color: rgba(230, 20, 20, .9); 
     59    opacity: 1; 
     60    -moz-transition: opacity linear .2s; 
     61    -webkit-transition: opacity linear .2s; 
     62    transition: opacity linear .2s; 
    5563} 
    5664 
    5765/* logo */ 
    5866img#wikipedia-visual-chap-box-logo { 
     67    display: none; 
    5968    position: absolute; 
    6069    margin-top: 58px; 
    6170    margin-left: -95px; 
    62     padding: 3px; 
     71    padding: 5px; 
    6372    width: 40px; 
    6473    height: 40px; 
    6574    max-width: 40px; 
    6675    max-height: 40px; 
    67     background-color: red; 
    68     -o-border-radius: 5px; 
    69     -ms-border-radius: 5px; 
    70     -moz-border-radius: 5px; 
    71     -webkit-border-radius: 5px; 
    72     border-radius: 5px; 
    73     -o-box-shadow: 0 0 4px 1px #333333; 
    74     -ms-box-shadow: 0 0 4px 1px #333333; 
    75     -moz-box-shadow: 0 0 4px 1px #333333; 
    76     -webkit-box-shadow: 0 0 4px 1px #333333; 
    77     box-shadow: 0 0 4px 1px #333333; 
     76    background-color: #fff; 
     77    -o-border-radius: 50%; 
     78    -ms-border-radius: 50%; 
     79    -moz-border-radius: 50%; 
     80    -webkit-border-radius: 50%; 
     81    border-radius: 50%; 
     82    -o-box-shadow: 0 0 4px 1px #333333 inset; 
     83    -ms-box-shadow: 0 0 4px 1px #333333 inset; 
     84    -moz-box-shadow: 0 0 4px 1px #333333 inset; 
     85    -webkit-box-shadow: 0 0 4px 1px #333333 inset; 
     86    box-shadow: 0 0 4px 1px #333333 inset; 
    7887} 
    7988 
     
    8392 
    8493div#wikipedia-visual-chap-inner-container p#wikipedia-visual-chap-name { 
    85     margin-top: 18px; 
    86     margin-bottom: 2px; 
     94    margin-top: 20px; 
     95    margin-bottom: 15px; 
    8796    -o-text-shadow: 0 0 2px; 
    8897    -ms-text-shadow: 0 0 2px; 
     
    92101} 
    93102 
    94 div#wikipedia-visual-chap-inner-container p:nth-of-type(1) { 
     103div#wikipedia-visual-chap-inner-container:not(.wikipedia-visual-chap-link-wiki-donate p a, .wikipedia-visual-chap-link-dev p a) p:nth-of-type(1) { 
    95104    margin-top: 0; 
    96105    margin-bottom: 0; 
     
    101110div#wikipedia-visual-chap-inner-container p:nth-of-type(2) { 
    102111    margin-top: 6px; 
    103     padding: 0 14px 0 14px; 
    104     font-size: 14px; 
     112    padding: 0 14px; 
     113    font-size: 12px; 
    105114    font-style: italic; 
     115    text-align: right; 
     116    border-right: 3px dotted; 
    106117} 
    107118 
     
    109120    position: absolute; 
    110121    text-align: center; 
    111     color: #f8f8f8; 
    112     background-color: #333; 
    113122} 
    114123 
     
    135144 
    136145p#wikipedia-visual-chap-display-description { 
    137     padding: 5px 6px 0 6px; 
     146    padding: 0 6px 0 6px; 
    138147    line-height: 1.2em; 
     148} 
     149 
     150a.wvc-main-img-details img { 
     151    -o-box-shadow: 0 0 8px 1px #030303; 
     152    -ms-box-shadow: 0 0 8px 1px #030303; 
     153    -moz-box-shadow: 0 0 8px 1px #030303; 
     154    -webkit-box-shadow: 0 0 8px 1px #030303; 
     155    box-shadow: 0 0 8px 1px #030303; 
    139156} 
    140157 
     
    152169 
    153170img.wvc-img-active { 
     171    display: block; 
    154172    margin: 12px auto; 
    155173    padding: 6px; 
     
    159177    background: linear-gradient(to bottom, rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ 
    160178    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f5f6', endColorstr='#c8d7dc',GradientType=0 ); /* IE6-9 */ 
    161     -o-box-shadow: 0 0 8px 1px #030303; 
    162     -ms-box-shadow: 0 0 8px 1px #030303; 
    163     -moz-box-shadow: 0 0 8px 1px #030303; 
    164     -webkit-box-shadow: 0 0 8px 1px #030303; 
    165     box-shadow: 0 0 8px 1px #030303; 
     179    -o-border-radius: 6px; 
     180    -ms-border-radius: 6px; 
     181    -moz-border-radius: 6px; 
     182    -webkit-border-radius: 6px; 
     183    border-radius: 6px; 
    166184} 
    167185 
     
    172190    line-height: 50px; 
    173191    font-size: 16px; 
    174     -moz-transition: width ease-in-out .85s; 
    175     -webkit-transition: width ease-in-out .85s; 
    176     transition: width ease-in-out .85s; 
     192    -moz-transition: width linear .85s; 
     193    -webkit-transition: width linear .85s; 
     194    transition: width linear .85s; 
    177195} 
    178196 
     
    180198    line-height: 52px; 
    181199    margin: 0 auto; 
    182     margin-top: 16px; 
     200    margin-top: 6px; 
    183201    font-size: 32px; 
    184     -moz-transition: width ease-in-out .85s; 
    185     -webkit-transition: width ease-in-out .85s; 
    186     transition: width ease-in-out .85s; 
    187     -moz-transition: font-size ease-in-out .25s; 
    188     -webkit-transition: font-size ease-in-out .25s; 
    189     transition: font-size ease-in-out .25s; 
     202    -moz-transition: width linear .85s; 
     203    -webkit-transition: width linear .85s; 
     204    transition: width linear .85s; 
     205    -moz-transition: font-size linear .25s; 
     206    -webkit-transition: font-size linear .25s; 
     207    transition: font-size linear .25s; 
    190208} 
    191209 
     
    198216    background-position: center center; 
    199217    background-size: contain; 
    200     -moz-transition: width ease-in-out .85s; 
    201     -webkit-transition: width ease-in-out .85s; 
    202     transition: width ease-in-out .85s; 
     218    -moz-transition: width linear .1s; 
     219    -webkit-transition: width linear .1s; 
     220    transition: width linear .1s; 
    203221} 
    204222 
     
    208226    color: transparent; 
    209227    background-color: transparent; 
    210     -moz-transition: width ease-in-out .85s; 
    211     -webkit-transition: width ease-in-out .85s; 
    212     transition: width ease-in-out .85s; 
     228    -moz-transition: width linear 1.1s; 
     229    -webkit-transition: width linear 1.1s; 
     230    transition: width linear 1.1s; 
    213231} 
    214232 
     
    255273    height: 100%; 
    256274    margin-left: -6px; 
    257     z-index; 500; 
    258 } 
    259  
    260 .wvc-loading-image { 
    261     -webkit-animation-name: img_loading; 
    262     animation-name: img_loading; 
    263     -webkit-animation-iteration-count: infinite; 
    264     animation-iteration-count: infinite; 
    265     -webkit-animation-duration: 1.2s; 
    266     animation-duration: 1.2s; 
     275    z-index; 0; 
    267276} 
    268277 
    269278 
    270279/* LAYOUT SPECIALS */ 
     280 
     281/* body stop scrolling */ 
     282body.wvc-stop-body-scrolling { 
     283    height: 100%; 
     284    overflow: hidden; 
     285} 
    271286 
    272287/* box extended */ 
     
    274289    width: 480px; 
    275290    margin-left: -438px; 
    276     -moz-transition: all ease-in-out .85s; 
    277     -webkit-transition: all ease-in-out .85s; 
    278     transition: all ease-in-out .85s; 
     291    -moz-transition: all linear .85s; 
     292    -webkit-transition: all linear .85s; 
     293    transition: all linear .85s; 
    279294} 
    280295/* box pocket */ 
     
    282297    width: 280px; 
    283298    margin-left: -238px; 
    284     -moz-transition: all ease-in-out .85s; 
    285     -webkit-transition: all ease-in-out .85s; 
    286     transition: all ease-in-out .85s; 
     299    -moz-transition: all linear .85s; 
     300    -webkit-transition: all linear .85s; 
     301    transition: all linear .85s; 
    287302} 
    288303 
     
    306321/* main img pocket */ 
    307322.wvc-box-pocket div a img.wvc-img-active { 
    308     max-width: 250px; 
     323    max-width: 242px; 
    309324} 
    310325/* image loading splash pocket */ 
     
    317332.wikipedia-visual-chap-link-dev { 
    318333    display: inline-block; 
    319     width: 50%; 
    320     padding: 2px 0; 
     334    width: 100%; 
     335    padding: 2px; 
    321336    font-size: 11px; 
    322337    text-align: center; 
     
    327342.wikipedia-visual-chap-link-dev p a { 
    328343    text-decoration: none; 
     344} 
     345 
     346.wikipedia-visual-chap-both-credits { 
     347    width: 45%; 
     348    border: 1px solid; 
     349    -o-border-radius: 6px; 
     350    -ms-border-radius: 6px; 
     351    -moz-border-radius: 6px; 
     352    -webkit-border-radius: 6px; 
     353    border-radius: 6px; 
    329354} 
    330355 
  • visual-chap/trunk/includes/js/wikipedia-visual-chap-admin.js

    r1555186 r1593669  
    2424 
    2525    /* margin top real-time display */ 
    26     jQ('input#wikipedia-visual-chap-section-main-margin-top').on('change', function(){ 
     26    jQ('input#wikipedia-visual-chap-section-main-margin-top').on('input', function(){ 
    2727        var wvc_margin_control = jQ('input#wikipedia-visual-chap-section-main-margin-top').attr('value'); 
    2828        jQ('span#wikipedia-visual-chap-admin-margin-top').html(wvc_margin_control); 
  • visual-chap/trunk/includes/js/wikipedia-visual-chap.js

    r1557956 r1593669  
    1818(function(){ 
    1919 
    20     var jQ = jQuery.noConflict(); 
    21      
     20    var jQ = jQuery.noConflict();     
    2221 
    2322    /* document ready START */ 
     
    3231        div: jQ('div#wikipedia-visual-chap-box'), 
    3332        // check availabilities 
    34         available: ( jQ('div#wikipedia-visual-chap-box').parent('div').width() > 700 && jQ('div#wikipedia-visual-chap-box').parent('div').height() > 750 ) ? true : false, 
    35         disabled: ( jQ(window).width() < 700 || jQ(window).height() < 600 || jQ('div#wikipedia-visual-chap-box').parent('div').height() < 450 ) ? true : false, 
     33        available: ( jQ('div#wikipedia-visual-chap-box').parent('div').width() > 700 && jQ('div#wikipedia-visual-chap-box').parent('div').height() > 350 ) ? true : false, 
     34        disabled: ( jQ(window).width() <= 700 || jQ(window).height() < 600 || jQ('div#wikipedia-visual-chap-box').parent('div').height() < 350 ) ? true : false, 
    3635        firstRun: false, 
    3736        results: [], 
     37        /* browser compatibility */ 
     38        pageYMode: { 
     39        standard: window.pageY ? true : false, 
     40        alt: window.pageYOffset ? true : false 
     41        }, 
    3842        lastPositionY: 0, 
    3943        language: (document.documentElement.lang.length > 2) ? document.documentElement.lang.slice(0, 2) : document.documentElement.lang, 
     
    4246        wordsFilter: (WVCWPOptions.wvcWordsFilter === '') ? '' : WVCWPOptions.wvcWordsFilter.split(/[\,]+/) 
    4347    }; 
    44     console.log(wikipediaVisualChap.language); 
     48    /* log recognized html language */ 
     49    console.log('Visual Chap recognized HTML language:' , wikipediaVisualChap.language); 
    4550     
    4651     // FUNCTIONS  
     
    4853    /* when the switch button is pressed, toggle css classes (and detach events if switched off) */ 
    4954    wikipediaVisualChap.switchButton = function(content){ 
     55        /* set inner container on relative if fixed now (then launch timeout to reset it to old Y offset) */ 
     56        var wvcInnerContainer = jQ('div#wikipedia-visual-chap-inner-container'); 
     57        if (wvcInnerContainer.css('position') === 'fixed'){ 
     58        var oldContainerOffset = wvcInnerContainer.offset(); 
     59        wvcInnerContainer.css({ 
     60            position: 'relative' 
     61        }); 
     62        wvcInnerContainer.offset({ 
     63            top: oldContainerOffset.top, 
     64            left: wikipediaVisualChap.div.offset().left 
     65        }); 
     66        } 
    5067        /* if is now off */ 
    5168        if (wikipediaVisualChap.switchedOn === false){ 
    5269        wikipediaVisualChap.switchedOn = true; 
    53         /* if extended version is available (enough real estate in content div) */ 
     70        /* if extended version is available (enough real estate in content div) */ 
    5471        if (wikipediaVisualChap.available){ 
    5572            wikipediaVisualChap.div.addClass('wvc-box-extended'); 
     73            wvcInnerContainer.css({ 
     74            maxWidth: '460px' 
     75            }); 
    5676        } 
    5777        else { 
    5878            wikipediaVisualChap.div.addClass('wvc-box-pocket'); 
     79            wvcInnerContainer.css({ 
     80            maxWidth: '260px' 
     81            }); 
    5982        } 
    6083        setContent(content); 
     84        /* WP option - show Visual Chap logo */ 
     85        if (jQ('img#wikipedia-visual-chap-box-logo')){ 
     86            jQ('img#wikipedia-visual-chap-box-logo').fadeIn(1000); 
     87        } 
    6188        } 
    6289        else { 
     
    6491        wikipediaVisualChap.div.removeClass('wvc-box-extended').removeClass('wvc-box-pocket'); 
    6592        resetContent(content); 
     93        wvcInnerContainer.css({ 
     94            maxWidth: '28px' 
     95        }); 
     96        /* WP option - show Visual Chap logo */ 
     97        if (jQ('img#wikipedia-visual-chap-box-logo')){ 
     98            jQ('img#wikipedia-visual-chap-box-logo').fadeOut(1000); 
     99            jQ('img#wikipedia-visual-chap-box-logo').css('display', 'none'); 
     100        } 
    66101        } 
    67102        /* main box */ 
     
    72107        jQ('div#wikipedia-visual-chap-inner-container').toggleClass('wvc-active-container'); 
    73108        jQ('div#wikipedia-visual-chap-inner-container div').not('div#wikipedia-visual-chap-box-switch, div#wikipedia-visual-chap-img-loading').toggleClass('wikipedia-visual-chap-standby-item').toggleClass('wikipedia-visual-chap-active-item'); 
    74         jQ('div#wikipedia-visual-chap-inner-container p, div#wikipedia-visual-chap-inner-container div p, div.wikipedia-visual-chap-link-wiki-donate, div.wikipedia-visual-chap-link-dev').fadeOut(200).toggleClass('wikipedia-visual-chap-standby-item').toggleClass('wikipedia-visual-chap-active-item').fadeIn(200); 
     109        jQ('div#wikipedia-visual-chap-inner-container p, div#wikipedia-visual-chap-inner-container div p, div.wikipedia-visual-chap-link-wiki-donate p, div.wikipedia-visual-chap-link-dev p').fadeOut(200).toggleClass('wikipedia-visual-chap-standby-item').toggleClass('wikipedia-visual-chap-active-item').fadeIn(200); 
    75110        /* setup word clicking */ 
    76111        jQ('span.wvc-word-standby').click(function(){ 
     
    91126        /* after css animations, run resize */ 
    92127        setTimeout(function(){ 
    93         wikipediaVisualChap.adjustSizes(wikipediaVisualChap.blogContentDiv); 
    94         }, 860); 
     128        wikipediaVisualChap.adjustSizes(jQ('div#wikipedia-visual-chap-box').parent('div')); 
     129        }, 1000); 
     130        /* animated closing scroll */ 
     131        wikipediaVisualChap.closingScroll(1300); 
    95132 
    96133        /* switch on */ 
     
    100137            contentWidth = contentDiv.width(); 
    101138        if ( wikipediaVisualChap.div.hasClass('wvc-box-extended') ){ 
    102             contentElements.animate({ 
     139            contentElements.css({ 
    103140            maxWidth: (contentWidth - 462) + 'px' 
    104             }, 850); 
     141            }); 
    105142        } 
    106143        else if ( wikipediaVisualChap.div.hasClass('wvc-box-pocket') ){ 
    107             contentElements.animate({ 
     144            contentElements.css({ 
    108145            maxWidth: (contentWidth - 262) + 'px' 
    109             }, 850); 
     146            }); 
    110147        } 
    111148        else { 
    112             /* box has no assigned width css class */ 
     149            /* throw error - box has no assigned width css class */ 
    113150            console.log('box has no assigned width css class!!! (wvc-box-extended OR wvc-box-pocket)'); 
    114         }   
    115         /* after css animations, run resize */ 
    116         setTimeout(function(){ 
    117             wikipediaVisualChap.adjustSizes(wikipediaVisualChap.blogContentDiv); 
    118         }, 860);         
     151        } 
    119152        } 
    120153         
     
    126159        contentElements.animate({ 
    127160            maxWidth: (contentWidth - 72) + 'px' 
    128         }, 850); 
     161        }, '850', 'swing'); 
    129162        /* reset words hovering */ 
    130163        jQ('span.wvc-word-standby').off('click').off('mouseenter').off('mouseleave'); 
    131         /* after css animations, run resize */ 
    132         setTimeout(function(){ 
    133             wikipediaVisualChap.adjustSizes(wikipediaVisualChap.blogContentDiv); 
    134         }, 860); 
    135         } 
     164        } 
     165 
    136166    }; 
    137167 
     
    146176        wikipediaVisualChap.div.animate({ 
    147177            opacity: 1 
    148         }); 
     178        }, 250); 
    149179        }, 250); 
    150180        /* get all possible text elements in the content div */ 
     
    331361    wikipediaVisualChap.updateDisplay = function(updatedData, updatedURL, updatedDescription, updatedImg){ 
    332362        jQ('h3#wikipedia-visual-chap-display-title').html(updatedData); 
    333         if (updatedURL){ 
    334         jQ('a#wikipedia-visual-chap-display-title-link').attr('href', updatedURL); 
    335         } 
    336363        if (updatedImg){ 
    337364        if (updatedImg !== undefined){ 
     
    342369        } 
    343370        } 
     371        if (updatedURL){ 
     372        if ( updatedURL !== jQ('a#wikipedia-visual-chap-display-title-link').attr('href') ){ 
     373            jQ('a#wikipedia-visual-chap-display-title-link').attr('href', updatedURL); 
     374            if (jQ('img#wikipedia-visual-chap-display-image').attr('src') === wikipediaVisualChap.options.wvcPluginsURL + '/visual-chap/assets/img/Wikipedia-logo-v2.svg'){ 
     375            jQ('img#wikipedia-visual-chap-display-image').parent('a').attr('href', updatedURL); 
     376            } 
     377        } 
     378        } 
    344379        if (updatedDescription){ 
    345         jQ('p#wikipedia-visual-chap-display-description').html(updatedDescription); 
    346         } 
     380        if (updatedDescription() !== 'No description found!'){ 
     381            jQ('p#wikipedia-visual-chap-display-description').html(updatedDescription); 
     382        } 
     383        else { 
     384            var wvcLangCheck = wikipediaVisualChap.language; 
     385            /* no description EN */ 
     386            if (wvcLangCheck === 'en'){ 
     387            jQ('p#wikipedia-visual-chap-display-description').html(updatedDescription); 
     388            } 
     389            /* no description FR */ 
     390            else if (wvcLangCheck === 'fr'){ 
     391            jQ('p#wikipedia-visual-chap-display-description').html('Aucune description trouvée!'); 
     392            } 
     393            /* no description IT */ 
     394            else if (wvcLangCheck === 'it'){ 
     395            jQ('p#wikipedia-visual-chap-display-description').html('Nessuna descrizione trovata!'); 
     396            } 
     397            /* no description DE */ 
     398            else if (wvcLangCheck === 'de'){ 
     399            jQ('p#wikipedia-visual-chap-display-description').html('Keine Beschreibung gefunden!'); 
     400            } 
     401            /* no description ES */ 
     402            else if (wvcLangCheck === 'es'){ 
     403            jQ('p#wikipedia-visual-chap-display-description').html('No se ha encontrado ninguna descripción!'); 
     404            } 
     405            /* no description default */ 
     406            else { 
     407            jQ('p#wikipedia-visual-chap-display-description').html(updatedDescription); 
     408            } 
     409        } 
     410        } 
     411        /* set main img max-height */ 
     412        wikipediaVisualChap.wvcMainImgMaxHeight(); 
    347413    }; 
    348414     
     
    350416    wikipediaVisualChap.search = function(query){ 
    351417        /* load waiting spinning loading icon */ 
     418        jQ('div#wikipedia-visual-chap-img-loading').css({ 
     419        width: jQ('div#wikipedia-visual-chap-inner-container').outerWidth() + 'px', 
     420        maxWidth: jQ('div#wikipedia-visual-chap-inner-container').outerWidth() + 'px', 
     421        maxHeight: (wikipediaVisualChap.blogContentDiv.offset().top + wikipediaVisualChap.blogContentDiv.outerHeight()) - jQ('div#wikipedia-visual-chap-display').offset().top 
     422        }); 
    352423        jQ('div#wikipedia-visual-chap-img-loading i').addClass('fa-spin'); 
    353424        jQ('div#wikipedia-visual-chap-img-loading').addClass('wvc-loading-image-active').removeClass('wvc-loading-image-standby'); 
     
    362433        url: queryString, 
    363434        type: 'POST', 
    364         headers: { 'Api-User-Agent': 'Visual Chap 0.1 WordPress plugin - request 1 of 3 (http://visualchap.nouveausiteweb.fr/)' }, 
     435        headers: { 'Api-User-Agent': 'Visual Chap 1.0.4 WordPress plugin - request 1 of 3 (http://visualchap.nouveausiteweb.fr/)' }, 
    365436        dataType: 'json', 
    366437        success: function(data){ 
    367             console.log('First query: ', data); 
     438            //console.log('First query: ', data); 
    368439            wikipediaVisualChap.results.push(data); 
    369440            /* when request has successfully pushed the result */ 
     
    377448            url: queryString, 
    378449            type: 'POST', 
    379             headers: { 'Api-User-Agent': 'Visual Chap 0.1 WordPress plugin - request 2 of 3 (http://visualchap.nouveausiteweb.fr/)' }, 
     450            headers: { 'Api-User-Agent': 'Visual Chap 1.0.4 WordPress plugin - request 2 of 3 (http://visualchap.nouveausiteweb.fr/)' }, 
    380451            dataType: 'json', 
    381452            success: function(data){ 
    382                 console.log('Second query: ', data); 
     453                //console.log('Second query: ', data); 
    383454                wikipediaVisualChap.results.push(data); 
    384455                /* when request has successfully pushed the second result */ 
     
    387458                /* images search setup */ 
    388459                var imgNames = []; 
    389                 if (wikipediaVisualChap.results[1].query.pages[0].images){ 
     460                if (wikipediaVisualChap.results[1] && wikipediaVisualChap.results[1].query.pages[0].images){ 
    390461                for (i = 0; i < wikipediaVisualChap.results[1].query.pages[0].images.length; i++){ 
    391462                    imgNames.push(wikipediaVisualChap.results[1].query.pages[0].images[i].title); 
     
    399470                url: queryString, 
    400471                type: 'POST', 
    401                 headers: { 'Api-User-Agent': 'Visual Chap 0.1 WordPress plugin - request 3 of 3 (http://visualchap.nouveausiteweb.fr/)' }, 
     472                headers: { 'Api-User-Agent': 'Visual Chap 1.0.4 WordPress plugin - request 3 of 3 (http://visualchap.nouveausiteweb.fr/)' }, 
    402473                dataType: 'json', 
    403474                success: function(data){ 
    404                     console.log('Third query: ', data); 
     475                    //console.log('Third query: ', data); 
    405476                    /* assign images property to main obj */ 
    406477                    wikipediaVisualChap.images = data; 
     
    411482                    photoDetails = '', 
    412483                    photos = wikipediaVisualChap.images.query.pages, 
    413                     mainImg = wikipediaVisualChap.results[1].query.pages[0].pageimage; 
     484                    mainImg = (wikipediaVisualChap.results[1]) ? wikipediaVisualChap.results[1].query.pages[0].pageimage : wikipediaVisualChap.options.wvcPluginsURL + '/visual-chap/assets/img/Wikipedia-logo-v2.svg'; 
    414485                    for (i = 0; i < photos.length; i++){ 
    415486                    var correctedTitle; 
     
    423494                    } 
    424495                    else { 
    425                         console.log('Error! No recognized language! Please visit: http://visualchap.nouveausiteweb.fr/faq/'); 
     496                        console.log('Visual Chap error : the recognized html language is not supported! Please visit: http://visualchap.nouveausiteweb.fr/faq/'); 
    426497                        // -- TO IMPROVE!!! - easy fix for unrecognized language (fallback to standard 'File:') 
    427498                        correctedTitle = photos[i].title.replace('File:', '').replace(/ /g, '_'); 
     
    444515                        } 
    445516                        else { 
    446                         console.log('Error! No recognized language! Please visit: http://visualchap.nouveausiteweb.fr/faq/'); 
     517                        console.log('Visual Chap error : the recognized html language is not supported! Please visit: http://visualchap.nouveausiteweb.fr/faq/'); 
    447518                        // -- TO IMPROVE!!! - easy fix for unrecognized language (fallback to standard 'File:') 
    448519                        thisTitle = photos[i].title.replace('File:', ''); 
     
    491562                    var imageLink = '<a class="wvc-main-img-details" href="' + photoDetails + '" target="_blank"></a>'; 
    492563                    jQ('img#wikipedia-visual-chap-display-image').removeClass('wvc-img-standby').addClass('wvc-img-active'); 
    493                     /* set image max height */ 
    494                     jQ('img#wikipedia-visual-chap-display-image').css({ 
    495                         maxHeight: jQ(window).height() - (jQ('img#wikipedia-visual-chap-display-image').offset().top - jQ('div#wikipedia-visual-chap-inner-container').offset().top) - (wikipediaVisualChap.options.wvcMarginTop * 2) 
    496                     }); 
    497564                    /* if link to img has been already created */ 
    498565                    if (jQ('img#wikipedia-visual-chap-display-image').parent('a.wvc-main-img-details').length){ 
     
    513580                        var mediaFilter = /.+\.([^?]+)(\?|$)/, 
    514581                        mediaCheck = photoLink.match(mediaFilter); 
    515                         /* if img link is NOT a video */ 
    516                         if ( mediaCheck[1] !== 'ogg' && mediaCheck[1] !== 'mp4' && mediaCheck[1] !== 'webm' ){ 
     582                        /* if img link is NOT a video or multimedia*/ 
     583                        if ( mediaCheck[1] !== 'ogg' && mediaCheck[1] !== 'mp4' && mediaCheck[1] !== 'webm' && mediaCheck[1] !== 'pdf'){ 
    517584                        /* remove load waiting spinning icon */ 
    518585                        jQ('img#wikipedia-visual-chap-display-image').on('load', function(){ 
     
    556623    }; 
    557624 
     625    /* set image max height */ 
     626    wikipediaVisualChap.wvcMainImgMaxHeight = function(){ 
     627        var wvcBoxAllElements = jQ('div#wikipedia-visual-chap-box').children('*').not('img#wikipedia-visual-chap-display-image'), 
     628        wvcBoxAllElementsHeight = 0, 
     629        wvcCreditBoxCheck = wikipediaVisualChap.options.wvcWikiLink || wikipediaVisualChap.options.wvcDevLink ? jQ('div.wikipedia-visual-chap-link-dev').outerHeight() || jQ('div.wikipedia-visual-chap-link-wiki-donate').outerHeight() : 20; 
     630        jQ(wvcBoxAllElements).each(function(boxEl){ 
     631        wvcBoxAllElementsHeight += jQ(boxEl).height(); 
     632        }); 
     633        jQ('img#wikipedia-visual-chap-display-image').css({ 
     634        maxHeight: jQ(window).height() - (jQ('img#wikipedia-visual-chap-display-image').offset().top - jQ('div#wikipedia-visual-chap-inner-container').offset().top) - (parseInt(wikipediaVisualChap.options.wvcMarginTop) + wvcBoxAllElementsHeight) - (wvcCreditBoxCheck + 40) + 'px' 
     635        }, function(){ 
     636        wikipediaVisualChap.autoScroll(jQ('html'.scrollTop())); 
     637        }); 
     638    }; 
     639     
    558640    /* get text from user selection */ 
    559641    wikipediaVisualChap.getSelectionText = function(){ 
     
    568650    }; 
    569651 
    570     // assign WP color options // words underline color option is on line 48 
     652    // assign WP color options // words underline color option is on line 85 - wikipediaVisualChap.switchButton function 
    571653    wikipediaVisualChap.adjustColors = function(){ 
    572654        var wvcWPOptions = wikipediaVisualChap.options; 
    573655        jQ('head').append('<style id="wvc-active-container" type="text/css"></style>'); 
    574         jQ('#wvc-active-container').html('.wvc-active-container {color: ' + wvcWPOptions.wvcColor + ';background-color: ' + wvcWPOptions.wvcBackgroundColor + ';}'); 
    575         if (wvcWPOptions.wvcBackgroundColor !== '#333333'){ 
    576         jQ('div#wikipedia-visual-chap-display').css('background-color', wvcWPOptions.wvcBackgroundColor); 
    577         } 
    578         else { 
    579         jQ('div#wikipedia-visual-chap-display').css({ 
    580             background: 'linear-gradient(to bottom, rgba(51,51,51,1) 0%,rgba(65,73,79,1) 64%,rgba(111,116,119,1) 100%)' 
    581         }); 
    582         } 
    583         jQ('a#wikipedia-visual-chap-display-title-link').css('color', wvcWPOptions.wvcLinkColor); 
     656        jQ('#wvc-active-container').html('.wvc-active-container {color: ' + wvcWPOptions.wvcColor + '; background-color: ' + wvcWPOptions.wvcBackgroundColor + ';}'); 
     657        jQ('div#wikipedia-visual-chap-display').css('background-color', wvcWPOptions.wvcBackgroundColor); 
     658        jQ('div#wikipedia-visual-chap-img-loading').css('background-color', wvcWPOptions.wvcBackgroundColor); 
     659        jQ('div#wikipedia-visual-chap-box-switch').css({ 
     660        color: wvcWPOptions.wvcBackgroundColor, 
     661        backgroundColor: wvcWPOptions.wvcIconColor, 
     662        boxShadow: '0 0 6px 1px ' + wvcWPOptions.wvcColor 
     663        }); 
     664        jQ('p#wikipedia-visual-chap-name').css({ 
     665        color: wvcWPOptions.wvcIconColor 
     666        }); 
     667        jQ('a#wikipedia-visual-chap-display-title-link, #wikipedia-visual-chap-display-title-link h3').css('color', wvcWPOptions.wvcLinkColor); 
    584668    }; 
    585669     
     
    658742        /* adjust sizes with resize arg (to eventually remove and re-assign extended or pocket css classes) */ 
    659743        wikipediaVisualChap.adjustSizes(wikipediaVisualChap.blogContentDiv, true); 
    660         /* set image max height */ 
    661         jQ('img#wikipedia-visual-chap-display-image').css({ 
    662         maxHeight: jQ(window).height() - (jQ('img#wikipedia-visual-chap-display-image').offset().top - jQ('div#wikipedia-visual-chap-inner-container').offset().top) - (wikipediaVisualChap.options.wvcMarginTop * 2) 
    663         }); 
     744        /* set main img max-height */ 
     745        wikipediaVisualChap.wvcMainImgMaxHeight(); 
    664746        /* wvc main offset */ 
    665747        jQ('div.wvc-box-active, div.wvc-box-standby').css('transition', 'all ease-in-out 0s'); 
     
    687769     
    688770    /* auto scroll */ 
    689     wikipediaVisualChap.autoScroll = function(){ 
    690         var windowOffset = jQ(window).scrollTop(), 
     771    wikipediaVisualChap.autoScroll = function(wvcWindowInfo){ 
     772        var windowOffset = wvcWindowInfo, 
    691773        previousWindowOffset = wikipediaVisualChap.lastPositionY, 
    692774        box = jQ('div#wikipedia-visual-chap-box'), 
     
    695777        container = jQ('div#wikipedia-visual-chap-inner-container'), 
    696778        containerOffset = container.offset(), 
     779        containerTopMargin = parseInt(wikipediaVisualChap.options.wvcMarginTop), 
    697780        containerHeight = container.outerHeight(), 
    698         containerChecksDown = (containerHeight + containerOffset.top) < (boxHeight + boxOffset.top) -20, 
    699         scrollCheckTop = (windowOffset >= box.offset().top) ? true : false, 
    700         scrollCheckBottom = (windowOffset < boxOffset.top + box.outerHeight()) ? true : false; 
    701         /* if scrolling DOWN */ 
    702         if (windowOffset > previousWindowOffset){ 
    703         /* if window.scroll > box top offset */ 
    704         if (scrollCheckTop){ 
    705             /* if container's bottom would be still visible in the box */ 
    706             if (containerChecksDown){ 
    707             container.offset({ 
    708                 top: windowOffset + parseInt(wikipediaVisualChap.options.wvcMarginTop), // add WP option Margin Top 
    709                 left: boxOffset.left 
    710             }); 
    711             } 
    712         } 
    713         /* reset top view */ 
    714         else { 
     781        containerChecksDown = (containerHeight + containerOffset.top) < (boxHeight + boxOffset.top) -20 ? true : false, 
     782        scrollCheckTop = (windowOffset > boxOffset.top - containerTopMargin) ? true : false, 
     783        scrollCheckBottom = (windowOffset < containerOffset.top - containerTopMargin) ? true : false; 
     784         
     785        if ( scrollCheckTop ){ 
     786        /* if viewport is between treshold points, set container to fixed CSS position */ 
     787        if  ( windowOffset < (boxHeight + boxOffset.top) - (containerHeight + containerTopMargin) ){ 
     788            container.css({ 
     789            position: 'fixed' 
     790            }); 
    715791            container.offset({ 
    716             top: boxOffset.top, 
     792            top: windowOffset + containerTopMargin, 
    717793            left: boxOffset.left 
    718794            }); 
    719795        } 
    720         } 
    721         /* if scrolling UP */ 
    722         else if (windowOffset < previousWindowOffset){ 
    723         /* if window.scroll < box.height (and Y offset) */ 
    724         if (scrollCheckBottom){ 
    725             /* if container's top would be still visible in the box */ 
    726             if ( boxOffset.top < (containerOffset.top) ){ 
    727             container.offset({ 
    728                 top: windowOffset + parseInt(wikipediaVisualChap.options.wvcMarginTop), // add WP option Margin Top, 
    729                 left: boxOffset.left 
    730             }); 
    731             } 
    732             else { 
    733             container.offset({ 
    734                 top: boxOffset.top, 
    735                 left: boxOffset.left 
    736             }); 
    737             } 
    738         } 
    739         /* reset bottom view */ 
    740         else { 
     796        /* if viewport is outside treshold points, set container to relative CSS position */ 
     797        else if ( windowOffset >= (boxHeight + boxOffset.top) - (containerHeight + containerTopMargin) ){ 
     798            container.css({ 
     799            position: 'relative' 
     800            }); 
    741801            container.offset({ 
    742             top: ( boxOffset.top + boxHeight + parseInt(wikipediaVisualChap.options.wvcMarginTop) ) - containerHeight, 
     802            top: (boxOffset.top + boxHeight) - (containerHeight), 
    743803            left: boxOffset.left 
    744804            }); 
    745805        } 
    746         } 
    747         /* if values are equal, log error */ 
     806        else { 
     807            console.log('ERROR! scrollCheckTop: ', scrollCheckTop); 
     808        } 
     809        } 
     810        /* if viewport is outside treshold points, set container to relative CSS position */ 
     811        else if ( ! scrollCheckTop ){ 
     812        container.css({ 
     813            position: 'relative' 
     814        }); 
     815        container.offset({ 
     816            top: boxOffset.top, 
     817            left: boxOffset.left 
     818        }); 
     819        } 
    748820        else { 
    749         console.log('Previous and actual window offsets seem to be equal... \n Window offset: ', windowOffset, 'Previous window offset: ', previousWindowOffset); 
    750         } 
    751         /* set image max height */ 
    752         jQ('img#wikipedia-visual-chap-display-image').css({ 
    753         maxHeight: jQ(window).height() - (jQ('img#wikipedia-visual-chap-display-image').offset().top - jQ('div#wikipedia-visual-chap-inner-container').offset().top) - (wikipediaVisualChap.options.wvcMarginTop * 2) 
    754         }); 
     821        console.log('ERROR! scrollCheckTop: ', scrollCheckTop); 
     822        } 
     823        /* set main img max-height */ 
     824        wikipediaVisualChap.wvcMainImgMaxHeight(); 
    755825        /* set last window position */ 
    756826        wikipediaVisualChap.lastPositionY = windowOffset; 
    757827    }; 
    758828 
     829    /* closing scroll animation (launched when switch button is pressed to turn Visual Chap OFF) */ 
     830    wikipediaVisualChap.closingScroll = function(wvcClosingDelay){ 
     831        var wvcWindowObjCheck; 
     832        if (wikipediaVisualChap.pageYMode.standard){ 
     833        wvcWindowObjCheck = window.pageY; 
     834        } 
     835        else { 
     836        wvcWindowObjCheck = window.pageYOffset; 
     837        } 
     838        /* if viewport offset > Visual Chap offset */ 
     839        if (wvcWindowObjCheck > wikipediaVisualChap.div.offset().top){ 
     840        /* set page scroll timeout animation once all adjustments are done */ 
     841        var wvcPreviousWindowOffset = wvcWindowObjCheck, 
     842            wvcPreviousContent = jQ('div#wikipedia-visual-chap-box').parent('div'), 
     843            wvcPreviousContentHeight = wvcPreviousContent.outerHeight(), 
     844            wvcFinalScrollAnchor = wikipediaVisualChap.wvcCheckProximity(wvcPreviousContent, wvcPreviousWindowOffset); 
     845        setTimeout(function(){ 
     846            /* compute new offset for scrollTop */ 
     847            var wvcComputedFinalScroll = parseInt(jQ(wvcPreviousContent[0].children[wvcFinalScrollAnchor]).offset().top) + parseInt(wikipediaVisualChap.options.wvcMarginTop); 
     848            /* animate and reset */ 
     849            jQ('html').animate({ 
     850            scrollTop: wvcComputedFinalScroll 
     851            }, '500', 'swing', function(){ 
     852            window.scrollTo(0, wvcComputedFinalScroll); 
     853            }); 
     854        }, wvcClosingDelay); 
     855        } 
     856    }; 
     857 
     858    /* compute proximity */ 
     859    wikipediaVisualChap.wvcCheckProximity = function(thisParagraphsSet, referenceOffset){ 
     860        var wvcContentParagraphs = thisParagraphsSet.children('*').not('div#wikipedia-visual-chap-box, div#wikipedia-visual-chap-box *').length, 
     861        wvcAnchorParagraph = 1; // skip Visual Chap div 
     862        for (elOffsetCheck = 1; elOffsetCheck < wvcContentParagraphs; elOffsetCheck++){ 
     863        var wvcParagraphOffsetCheck = jQ(thisParagraphsSet[0].children[elOffsetCheck]); 
     864        if (wvcParagraphOffsetCheck){ 
     865            var wvcParagraphTop = wvcParagraphOffsetCheck.offset().top; 
     866            /* check if viewport is within element height range */ 
     867            if ( referenceOffset < (wvcParagraphTop + wvcParagraphOffsetCheck.height()) && referenceOffset > wvcParagraphTop ){ 
     868            wvcAnchorParagraph = elOffsetCheck; 
     869            elOffsetCheck = wvcContentParagraphs; 
     870            } 
     871        } 
     872        } 
     873        console.log(wvcAnchorParagraph); 
     874        return wvcAnchorParagraph; 
     875    }; 
     876     
    759877    /* configure */ 
    760878    wikipediaVisualChap.configure = function(){ 
     
    763881        if ( ! wikipediaVisualChap.firstRun ){ 
    764882        wikipediaVisualChap.firstRun = true; 
    765         } 
    766          
    767         /* add wikipedia links if WP option activated */ 
    768         if (wikipediaVisualChap.options.wvcWikiLink === '1'){ 
    769         jQ('div#wikipedia-visual-chap-box').append('<div class="wikipedia-visual-chap-standby-item wikipedia-visual-chap-link-wiki-donate"><p>Wikipedia is awesome. \n<a href="https://wikimediafoundation.org/wiki/Ways_to_Give" target="_blank">Be awesome</a> to Wikipedia</p></div>'); 
    770         } 
    771         /* add _Y_power links if WP option activated */ 
    772         if (wikipediaVisualChap.options.wvcDevLink === '1'){ 
    773         jQ('div#wikipedia-visual-chap-box').append('<div class="wikipedia-visual-chap-standby-item wikipedia-visual-chap-link-dev"><p>Developed for you with lots of love and dedication by <a href="http://ypower.nouveausiteweb.fr/" target="_blank">_Y_Power</a></p></div>'); 
    774883        } 
    775884         
     
    779888        /* set elements sizes and position */ 
    780889        wikipediaVisualChap.adjustSizes(wikipediaVisualChap.blogContentDiv); 
     890        /* resize each credit to half width if both are present */ 
     891        if ( wikipediaVisualChap.options.wvcWikiLink === '1' && wikipediaVisualChap.options.wvcDevLink === '1' ){ 
     892        jQ('div.wikipedia-visual-chap-link-wiki-donate, div.wikipedia-visual-chap-link-dev').addClass('wikipedia-visual-chap-both-credits'); 
     893        jQ('div.wikipedia-visual-chap-link-wiki-donate').css('margin-right', '1%'); 
     894        jQ('div.wikipedia-visual-chap-link-dev').css('margin-left', '1%'); 
     895        } 
    781896 
    782897        /* switch on/off */ 
    783898        jQ('div#wikipedia-visual-chap-box-switch').on('click', function(){ 
     899        /* pause body scrolling */ 
     900        jQ('body').addClass('wvc-stop-body-scrolling'); 
     901        /* for mobiles */ 
     902        jQ('body').bind('touchmove', function(e){e.preventDefault()}); 
     903        setTimeout(function(){ 
     904        jQ('body').removeClass('wvc-stop-body-scrolling'); 
     905        jQ('body').unbind('touchmove', function(e){e.preventDefault()}); 
     906        }, 1200); 
    784907        wikipediaVisualChap.switchButton(wikipediaVisualChap.blogContentDiv); 
    785908        }); 
     
    798921        /* window scroll */ 
    799922        window.onscroll = function(){ 
    800         wikipediaVisualChap.autoScroll(); 
     923        var wvcWindowObjCheck; 
     924        /* if window scroll is NOT in hold by the main switch animation */ 
     925        if ( ! jQ('body').hasClass('wvc-stop-body-scrolling')){ 
     926            if (wikipediaVisualChap.pageYMode.standard){ 
     927            wvcWindowObjCheck = window.pageY; 
     928            } 
     929            else { 
     930            wvcWindowObjCheck = window.pageYOffset; 
     931            } 
     932            wikipediaVisualChap.autoScroll(wvcWindowObjCheck); 
     933        } 
    801934        }; 
    802935         
    803936        /* window resize */ 
    804         jQ(window).on('resize', function(){ 
     937        window.onresize = function(){ 
    805938        wikipediaVisualChap.resized(); 
    806         }); 
     939        setTimeout(function(){ 
     940            var wvcWindowObjCheck; 
     941            /* if window scroll is NOT in hold by the main switch animation */ 
     942            if ( ! jQ('body').hasClass('wvc-stop-body-scrolling')){ 
     943            if (wikipediaVisualChap.pageYMode.standard){ 
     944                wvcWindowObjCheck = window.pageY; 
     945            } 
     946            else { 
     947                wvcWindowObjCheck = window.pageYOffset; 
     948            } 
     949            wikipediaVisualChap.autoScroll(wvcWindowObjCheck); 
     950            } 
     951        }, 1200); 
     952        }; 
    807953         
    808954    }; 
     
    846992            setTimeout(function(){ 
    847993            jQ('div#wikipedia-visual-chap-box-switch').click(); 
    848             }, 900); 
     994            }, 1100); 
    849995        } 
    850996        } 
    851997        else { 
    852998        /* throw debug error */ 
    853         console.log('Disabled: ', wikipediaVisualChap.disabled, 'First run: ', wikipediaVisualChap.firstRun, 'Box opacity', wikipediaVisualChap.div.css('opacity')); 
     999        //console.log('Visual Chap resize debug\nAvailable: ', wikipediaVisualChap.available, 'Disabled: ', wikipediaVisualChap.disabled, 'First run: ', wikipediaVisualChap.firstRun, 'Box opacity', wikipediaVisualChap.div.css('opacity')); 
     1000        /* close panel after resizing if active */ 
     1001        if (wikipediaVisualChap.switchedOn){ 
     1002            setTimeout(function(){ 
     1003            jQ('div#wikipedia-visual-chap-box-switch').click(); 
     1004            }, 1100); 
     1005        } 
    8541006        } 
    8551007 
  • visual-chap/trunk/includes/wvc-html.php

    r1555690 r1593669  
    2525 
    2626 
    27     // extended form for HTML var 'wvcHTMLInject' 
     27    // extended form for HTML var 'wvcHTMLInject' - html changes accordingly to 'show dev support' option (no logo, empty title) 
    2828/* 
    2929    <!-- Wikipedia Visual Chap START --> 
     
    5353*/ 
    5454 
     55    // print logo 
     56    function wikipedia_visual_chap_print_logo(){ 
     57        $wvc_logo_option = ''; 
     58        // show support options 
     59        $wvc_show_credits_options_dev = get_option('wikipedia-visual-chap-options-dev', 0); 
     60        if ( $wvc_show_credits_options_dev == 1){ 
     61            $wvc_logo_option = '<img id="wikipedia-visual-chap-box-logo" src="' . esc_url(plugins_url() . '/visual-chap/assets/img/Visual_Chap_logo.svg') . '" alt="visual chap logo"></img><i class="fa fa-info-circle" aria-hidden="true"></i></div><p id="wikipedia-visual-chap-name" class="wikipedia-visual-chap-standby-item">Visual Chap</p>'; 
     62        } 
     63        else { 
     64            $wvc_logo_option = '<i class="fa fa-info-circle" aria-hidden="true"></i></div><p id="wikipedia-visual-chap-name" class="wikipedia-visual-chap-standby-item"></p>'; 
     65        } 
     66        return $wvc_logo_option; 
     67    } 
     68        $wikipedia_visual_chap_print_logo = wikipedia_visual_chap_print_logo(); 
     69 
     70    // print credit footer items 
     71    function wikipedia_visual_chap_print_credits(){ 
     72        $wvc_credits_option = ''; 
     73        // show support options 
     74        $wvc_show_credits_options_wiki = get_option('wikipedia-visual-chap-options-wiki-donate', 0); 
     75        $wvc_show_credits_options_dev = get_option('wikipedia-visual-chap-options-dev', 0); 
     76        if ( $wvc_show_credits_options_wiki == 1 ){ 
     77            $wvc_credits_option .= "<div class='wikipedia-visual-chap-standby-item wikipedia-visual-chap-link-wiki-donate'><p class='wikipedia-visual-chap-standby-item'>Wikipedia is awesome. \r\n<a href='https://wikimediafoundation.org/wiki/Ways_to_Give' target='_blank'>Be awesome</a> to Wikipedia</p></div>"; 
     78        } 
     79        if ( $wvc_show_credits_options_dev == 1){ 
     80            $wvc_credits_option .= '<div class="wikipedia-visual-chap-standby-item wikipedia-visual-chap-link-dev"><p class="wikipedia-visual-chap-standby-item">Developed for you with lots of love and dedication by <a href="http://ypower.nouveausiteweb.fr/" target="_blank">_Y_Power</a></p></div>'; 
     81        } 
     82        return $wvc_credits_option; 
     83    } 
     84    $wikipedia_visual_chap_print_credits = wikipedia_visual_chap_print_credits(); 
     85     
    5586    // main html injection var 
    56     $wvcHTMLInject = '<!-- Wikipedia Visual Chap START --><div id="wikipedia-visual-chap-box" class="wvc-box-standby"><div id="wikipedia-visual-chap-inner-container"><div id="wikipedia-visual-chap-box-switch" class="wvc-switch-standby"><img id="wikipedia-visual-chap-box-logo" src="' . esc_url(plugins_url() . '/visual-chap/assets/img/Visual_Chap_logo.png') . '" alt="visual chap logo"></img><i class="fa fa-info-circle" aria-hidden="true"></i></div><p id="wikipedia-visual-chap-name" class="wikipedia-visual-chap-standby-item">Visual Chap</p><p class="wikipedia-visual-chap-standby-item">' . __('Click words or select text to get a quick link, a description and a picture from that Wikipedia<sup>&reg</sup> entry: click on pictures to see their license details', 'wikipedia-visual-chap') . '</p><div class="wikipedia-visual-chap-standby-item" id="wikipedia-visual-chap-display"><div class="wvc-loading-image-standby" id="wikipedia-visual-chap-img-loading"><i class="fa fa-circle-o-notch fa-3x" aria-hidden="true"></i></div><a id="wikipedia-visual-chap-display-title-link" href="" target="_blank"><h3 id="wikipedia-visual-chap-display-title"></h3></a><p class="wikipedia-visual-chap-standby-item" id="wikipedia-visual-chap-display-description"></p><img class="wvc-img-standby" id="wikipedia-visual-chap-display-image" alt="" src=""/></div></div></div><!-- Wikipedia Visual Chap END -->' . $content; 
     87    $wvcHTMLInject = '<!-- Wikipedia Visual Chap START --><div id="wikipedia-visual-chap-box" class="wvc-box-standby"><div id="wikipedia-visual-chap-inner-container"><div id="wikipedia-visual-chap-box-switch" class="wvc-switch-standby">' . $wikipedia_visual_chap_print_logo . '<p class="wikipedia-visual-chap-standby-item">' . __('Click words or select text to get a quick link, a description and a picture from that Wikipedia<sup>&reg</sup> entry: click on pictures to see their license details', 'wikipedia-visual-chap') . '</p><div class="wikipedia-visual-chap-standby-item" id="wikipedia-visual-chap-display"><div class="wvc-loading-image-standby" id="wikipedia-visual-chap-img-loading"><i class="fa fa-circle-o-notch fa-3x" aria-hidden="true"></i></div><a id="wikipedia-visual-chap-display-title-link" href="" target="_blank"><h3 id="wikipedia-visual-chap-display-title"></h3></a><p class="wikipedia-visual-chap-standby-item" id="wikipedia-visual-chap-display-description"></p><img class="wvc-img-standby" id="wikipedia-visual-chap-display-image" alt="" src=""/>' . $wikipedia_visual_chap_print_credits . '</div></div></div><!-- Wikipedia Visual Chap END -->' . $content; 
    5788 
    5889    return $wvcHTMLInject; 
  • visual-chap/trunk/readme.txt

    r1557956 r1593669  
    55Requires at least: 4.6 
    66Tested up to: 4.7 
    7 Stable tag: 1.0.3 
     7Stable tag: 1.0.4 
    88License: GPLv3 or later 
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html 
    1010 
    11 Enriches your posts by adding a quick, 'visual' Wikipedia-driven search. 
     11Enrich your posts by adding a quick, 'visual' Wikipedia-driven search. 
    1212 
    1313== Description == 
     
    1717Visual Chap places its discreet icon on the side of your posts content, following any scroll of your visitor's window: tapping the icon opens a panel and the words in that content will become click-able, picture-focused Wikipedia searches. It is also possible to trigger the search by selecting ( or 'highlighting') text. 
    1818 
    19 [![Visual Chap clip](https://i.ytimg.com/vi/i-rc-oUZTaU/maxresdefault.jpg)](https://youtu.be/i-rc-oUZTaU "Visual Chap clip") 
     19https://www.youtube.com/watch?v=i-rc-oUZTaU 
    2020 
    2121Features: 
     
    37371. Install Visual Chap through the WordPress plugins screen directly OR upload the plugin files to the `/wp-content/plugins/visual-chap` directory. 
    38381. Activate the plugin through the 'Plugins' screen in WordPress. 
    39 1. Use the Settings->Visual Chap screen to configure the plugin. 
     391. Use the 'Settings' -> 'Visual Chap' screen to configure the plugin. 
    4040 
    4141== Frequently Asked Questions == 
     42 
     43= Will it work with my theme? = 
     44 
     45Visual Chap works on *most* themes and I try to keep it compatible with every major theme but there are exceptions (most noticeably 'Twenty Fifteen) and there might be minor differences among them. 
    4246 
    4347= How about mobile devices? = 
     
    4852 
    4953Visual Chap is only been tested on English, French, Italian, Spanish and German Wikipedia API servers, at the moment. 
    50 However, it is already translatable (you can translate it in your language by using the easy WordPress translating tool) and it might work well in your website language out-of-the-box: Visual Chap will automatically detect the html page language. I'd love to make a fine search available in other languages as well (I'm a polyglot myself) but that would require a specific search algorithm for each domain, which could be done, with some help from other developers, just by substituting the search function in the main javascript object. Please get in touch if you'd like to help out with that. 
     54However, it is already translatable (you can translate it in your language by using the easy [WordPress translating tool](https://translate.wordpress.org/projects/wp-plugins/visual-chap)) and it might work well in your website language out-of-the-box: Visual Chap will automatically detect the html page language. I'd love to make a fine search available in other languages as well (I'm a polyglot myself) but that would require a specific search algorithm for each domain, which could be done, with some help from other developers, just by substituting the search function in the main javascript object. Please get in touch if you'd like to help out with that. 
    5155 
    5256= Why doesn’t it work on all my content? = 
     
    6670== Changelog == 
    6771 
     72= 1.0.4 = 
     73* Added closing/opening window auto-scroll and icon color option; fixed enqueued files (admin and front) by registering them, fixed multiple minor bugs 
     74 
    6875= 1.0.3 = 
    6976* Added multi-language support, added wikipedia logo for undefined image results, updated readme description 
     
    7784== Upgrade Notice == 
    7885 
     86= 1.0.4 = 
     87* New closing/opening animation, icon color option and multiple bugs fixes 
     88 
    7989= 1.0.3 = 
    8090Added multi-language support, added wikipedia logo for undefined image results, updated readme description 
  • visual-chap/trunk/uninstall.php

    r1555186 r1593669  
    2828if ( is_admin() && current_user_can('manage_options') ){ 
    2929    // delete all options 
     30    delete_option('wikipedia-visual-chap-options-icon-color'); 
    3031    delete_option('wikipedia-visual-chap-options-color'); 
    3132    delete_option('wikipedia-visual-chap-options-background-color'); 
  • visual-chap/trunk/visual-chap.php

    r1557956 r1593669  
    44   Plugin URI:  http://visualchap.nouveausiteweb.fr/ 
    55   Description: Enriches your posts by adding a quick, 'visual' Wikipedia-powered search. 
    6    Version:     1.0.3 
     6   Version:     1.0.4 
    77   Author:      _y_power 
    88   Author URI:  http://ypower.nouveausiteweb.fr/ 
     
    6565            wp_register_script( 'wikipedia-visual-chap-admin-js',  plugins_url() .  '/visual-chap/includes/js/wikipedia-visual-chap-admin.js', array('jquery') ); 
    6666        } 
     67        else { 
     68            // css 
     69            wp_register_style( 'wikipedia-visual-chap-icons', plugins_url() . '/visual-chap/assets/font-awesome-4.7.0/css/font-awesome.min.css' ); // "Font Awesome by Dave Gandy - http://fontawesome.io" 
     70            wp_register_style( 'wikipedia-visual-chap-main', plugins_url() .  '/visual-chap/includes/css/wikipedia-visual-chap.css' ); 
     71            // js 
     72            wp_register_script( 'wikipedia-visual-chap-main-js',  plugins_url() .  '/visual-chap/includes/js/wikipedia-visual-chap.js', array('jquery') );             
     73            // options array for JS - front only 
     74            $wvc_wp_options_array = array( 
     75                'wvcIconColor' => get_option('wikipedia-visual-chap-options-icon-color', '#CBC7C7'), 
     76                'wvcColor' => get_option('wikipedia-visual-chap-options-color', '#292929'), 
     77                'wvcBackgroundColor' => get_option('wikipedia-visual-chap-options-background-color', '#fff'), 
     78                'wvcUnderlineColor' => get_option('wikipedia-visual-chap-options-underline-color', '#FF0000'), 
     79                'wvcLinkColor' => get_option('wikipedia-visual-chap-options-link-color', '#5675E1'), 
     80                'wvcMarginTop' => get_option('wikipedia-visual-chap-options-margin-top', 45), 
     81                'wvcWordsFilter' => get_option('wikipedia-visual-chap-options-words-filter', ''), 
     82                'wvcWikiLink' => get_option('wikipedia-visual-chap-options-wiki-donate', 0), 
     83                'wvcDevLink' => get_option('wikipedia-visual-chap-options-dev', 0), 
     84                'wvcPluginsURL' => plugins_url() 
     85            ); 
     86            // export options to JS 
     87            wp_localize_script( 'wikipedia-visual-chap-main-js', 'WVCWPOptions', $wvc_wp_options_array ); 
     88        } 
    6789    } 
    6890 
     
    7294        if ( is_single() ){ 
    7395            require_once dirname( __FILE__ ) . '/includes/wvc-html.php'; 
     96            // css 
     97            wp_enqueue_style( 'wikipedia-visual-chap-icons' ); // "Font Awesome by Dave Gandy - http://fontawesome.io" 
     98            wp_enqueue_style( 'wikipedia-visual-chap-main' ); 
     99            // js 
     100            wp_enqueue_script( 'wikipedia-visual-chap-main-js' ); 
    74101            // content filter 
    75102            add_filter( 'the_content', 'wikipedia_visual_chap_main_html' ); 
    76             // footer files 
    77             add_action( 'wp_footer', array( 'wikipedia_visual_chap', 'enqueue_files' ) ); 
    78         } 
    79     } 
    80  
    81     // include files 
    82     public static function enqueue_files() { 
    83         // css 
    84         wp_enqueue_style( 'wikipedia-visual-chap-icons', plugins_url() . '/visual-chap/assets/font-awesome-4.7.0/css/font-awesome.min.css' ); // "Font Awesome by Dave Gandy - http://fontawesome.io" 
    85         wp_enqueue_style( 'wikipedia-visual-chap-main', plugins_url() .  '/visual-chap/includes/css/wikipedia-visual-chap.css' ); 
    86         // js 
    87         wp_enqueue_script( 'wikipedia-visual-chap-main-js',  plugins_url() .  '/visual-chap/includes/js/wikipedia-visual-chap.js', array('jquery') ); 
    88         // options array for JS - front only 
    89         $wvc_wp_options_array = array( 
    90             'wvcColor' => get_option('wikipedia-visual-chap-options-color', '#f8f8f8'), 
    91             'wvcBackgroundColor' => get_option('wikipedia-visual-chap-options-background-color', '#333333'), 
    92             'wvcUnderlineColor' => get_option('wikipedia-visual-chap-options-underline-color', '#FF0000'), 
    93             'wvcLinkColor' => get_option('wikipedia-visual-chap-options-link-color', '#50C2E5'), 
    94             'wvcMarginTop' => get_option('wikipedia-visual-chap-options-margin-top', 0), 
    95             'wvcWordsFilter' => get_option('wikipedia-visual-chap-options-words-filter', ''), 
    96             'wvcWikiLink' => get_option('wikipedia-visual-chap-options-wiki-donate', 0), 
    97             'wvcDevLink' => get_option('wikipedia-visual-chap-options-dev', 0), 
    98             'wvcPluginsURL' => plugins_url() 
    99         ); 
    100         // export options to JS 
    101         wp_localize_script( 'wikipedia-visual-chap-main-js', 'WVCWPOptions', $wvc_wp_options_array ); 
     103        } 
    102104    } 
    103105 
     
    106108        if ( is_admin() ){ 
    107109            // admin css 
    108             wp_enqueue_style( 'wikipedia-visual-chap-admin', plugins_url() .  '/visual-chap/includes/css/wikipedia-visual-chap-admin.css' ); 
     110            wp_register_style( 'wikipedia-visual-chap-admin', plugins_url() .  '/visual-chap/includes/css/wikipedia-visual-chap-admin.css' ); 
    109111            // admin js 
    110             wp_enqueue_script( 'wikipedia-visual-chap-admin-js',  plugins_url() .  '/visual-chap/includes/js/wikipedia-visual-chap-admin.js', array('jquery') ); 
     112            wp_register_script( 'wikipedia-visual-chap-admin-js',  plugins_url() .  '/visual-chap/includes/js/wikipedia-visual-chap-admin.js', array('jquery') ); 
    111113        } 
    112114    } 
     
    128130                    wp_die( esc_html__('You do not have sufficient permissions to access this page.', 'wikipedia-visual-chap') ); 
    129131        } 
     132        // admin css 
     133        wp_enqueue_style( 'wikipedia-visual-chap-admin' ); 
     134        // admin js 
     135        wp_enqueue_script( 'wikipedia-visual-chap-admin-js' ); 
    130136?> 
    131137<div id="wikipedia-visual-chap-admin-box" class="wrap"> 
     
    134140    <?php esc_html_e('Thank you for using Visual Chap, the smart, graphical companion for your posts! ', 'wikipedia-visual-chap'); 
    135141        ?> 
    136     <img id="wikipedia-visual-chap-admin-logo" src="<?php echo esc_url(plugins_url() . '/visual-chap/assets/img/Visual_Chap_logo.png'); ?>" alt="Visual Chap logo"></img> 
     142    <img id="wikipedia-visual-chap-admin-logo" src="<?php echo esc_url(plugins_url() . '/visual-chap/assets/img/Visual_Chap_logo.svg'); ?>" alt="Visual Chap logo"></img> 
    137143    </p> 
    138144    <p> 
     
    175181    // if options are NOT present (first launch) 
    176182    if ( false ==  get_option('wikipedia-visual-chap-options-color') ){ 
    177         update_option('wikipedia-visual-chap-options-color', '#f8f8f8'); 
    178         update_option('wikipedia-visual-chap-options-background-color', '#333333'); 
     183        update_option('wikipedia-visual-chap-options-icon-color', '#CBC7C7'); 
     184        update_option('wikipedia-visual-chap-options-color', '#292929'); 
     185        update_option('wikipedia-visual-chap-options-background-color', '#fff'); 
    179186        update_option('wikipedia-visual-chap-options-underline-color', '#FF0000'); 
    180         update_option('wikipedia-visual-chap-options-link-color', '#50C2E5'); 
    181         update_option('wikipedia-visual-chap-options-margin-top', 0); 
     187        update_option('wikipedia-visual-chap-options-link-color', '#5675E1'); 
     188        update_option('wikipedia-visual-chap-options-margin-top', 45); 
    182189        update_option('wikipedia-visual-chap-options-words-filter', ''); 
    183190        update_option('wikipedia-visual-chap-options-wiki-donate', 0); 
     
    192199        $wikipedia_visual_chap_color_newinput = trim($wvc_options); 
    193200        if ( ! preg_match('/#([a-f0-9]{3}){1,2}\b/i', $wikipedia_visual_chap_color_newinput) ) { 
    194             $wikipedia_visual_chap_color_newinput = '#333333'; 
     201            $wikipedia_visual_chap_color_newinput = '#fff'; 
    195202        } 
    196203        return $wikipedia_visual_chap_color_newinput; 
     
    226233    // REGISTRATION 
    227234 
     235    register_setting( 'wvc_options', 'wikipedia-visual-chap-options-icon-color', 'wikipedia_visual_chap_hex_validate' ); 
    228236    register_setting( 'wvc_options', 'wikipedia-visual-chap-options-color', 'wikipedia_visual_chap_hex_validate' ); 
    229237    register_setting( 'wvc_options', 'wikipedia-visual-chap-options-background-color', 'wikipedia_visual_chap_hex_validate' ); 
     
    246254 
    247255    // INPUTS 
    248      
     256 
     257    // output main icon color html input 
     258    function wikipedia_visual_chap_section_main_icon_color_input($wvc_options){ 
     259        $wvc_options = get_option('wikipedia-visual-chap-options-icon-color'); 
     260        echo "<input id='wikipedia-visual-chap-section-main-icon-color' name='wikipedia-visual-chap-options-icon-color' type='color' value='{$wvc_options}' />"; 
     261    } 
     262    add_settings_field('wikipedia-visual-chap-section-main-icon-color', esc_html__('Icon color', 'wikipedia-visual-chap'), 'wikipedia_visual_chap_section_main_icon_color_input', 'wikipedia_visual_chap', 'wikipedia_visual_chap_section_main', array($this, 'wvc_options')); 
     263                     
    249264    // output main section color html input 
    250265    function wikipedia_visual_chap_section_main_color_input($wvc_options){ 
Note: See TracChangeset for help on using the changeset viewer.