Forum Replies Created

Viewing 15 replies - 16 through 30 (of 64 total)
  • Thread Starter creativelifeform

    (@creativelifeform)

    Hmm I guess I can use the event-single.php template and build the whole page from scratch there. I don’t really want to do this though.

    edit: for the time being, I’ve done this with javascript, showing two divs containing different sets of breadcrumbs and hiding/showing them depending on a single ID that is only present on the single event page. It’s lame I know, but it’s working.

    Thread Starter creativelifeform

    (@creativelifeform)

    Yeah when I write the class I will do as you suggested, thanks!

    Thread Starter creativelifeform

    (@creativelifeform)

    Just curious, why would the current method pose a security risk?

    Thread Starter creativelifeform

    (@creativelifeform)

    Yep that’s pretty much what I’ve done, it works perfectly. Shouldn’t be too hard to write a class for it and include it as an option for this function I guess.

    Thread Starter creativelifeform

    (@creativelifeform)

    Ah okay that was not correct. To anyone else who is wondering this, here’s a solution:

    <?php
    
        ob_start();
        include 'events-index.php';
        $result = ob_get_contents();
        ob_end_clean();
    
        if (class_exists('EM_Events'))
        {
                echo EM_Events::output( array('limit'=>3,'orderby'=>'start_date','format'=>$result) );
        }
    ?>
    Thread Starter creativelifeform

    (@creativelifeform)

    Haha yeah I guess jQuery is alright for doing things fast…but it’s lacking some really great stuff from Mootools.

    Oh well, it’s working now, if the mods can edit my top post to fix the code block that’d make this thread more useful, I can’t edit it myself now for some reason.

    Cheers!

    Thread Starter creativelifeform

    (@creativelifeform)

    What I don’t get is…there is no e-tip class, so the tooltip class shouldn’t get called since I am placing the call within a conditional no?

    edit: Okay I’ve come up with a temporary solution that is really lame but works. Simply paste the tools class inside of the event-manager.js file like so:

    (function(a){a.tools=a.tools||{version:"v1.2.5"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=b||a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=c||a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery);
    jQuery(document).ready( function($){
    
    	/* Calendar AJAX */
    Thread Starter creativelifeform

    (@creativelifeform)

    Ah yeah it seems that the problem is being caused because this js file gets loaded in the admin, but the jquery.tools.min.js does not. Any idea to check if the class is included or not? I am not a jQuery user, I use mootools usually.

    I guess if I could include the tools when the admin loads then it will be fine.

    Thread Starter creativelifeform

    (@creativelifeform)

    Interesting, actually it is causing a small problem in the back end which I can’t really understand. For some reason, when I try to add a new event, the event date tab is collapsed and cannot be expanded, not allowing me to enter an event date. The editing of events-manager.js is what is causing this, because I just did an experiment where I reverted the edited js file back to the original code and it fixed the problem for adding events, but of course, now no tool tips!.

    I find this kind of strange because I am only changing the Calendar AJAX part of the code. Here is my edited code:

    if($('.e-tip'))
            {
                $(".e-tip[title]").tooltip({position:"bottom center",effect:"fade"});
            }
    
    	$('.em-calendar-wrapper a').unbind("click");
    	$('.em-calendar-wrapper a').die("click");
    	$('a.em-calnav, a.em-calnav').live('click', function(e){
    		e.preventDefault();
    		$(this).closest('.em-calendar-wrapper').prepend('<div class="loading" id="em-loading"></div>');
    		var url = em_ajaxify($(this).attr('href'));
    		$(this).closest('.em-calendar-wrapper').load(url, function()
                        {
                            $(this).trigger('em_calendar_load');
                            if($('.e-tip'))
                            {
                                $(".e-tip[title]").tooltip({position:"bottom center",effect:"fade"});
                            }
                        });
    	} );

    Any idea why this might be causing issues in the admin section?

    edit: It seems that specifically the first line is causing the issue

    if($('.e-tip'))
            {
                $(".e-tip[title]").tooltip({position:"bottom center",effect:"fade"});
            }

    As soon as I remove this at the start of the code, the event date functionality is back in the admin. Quite strange. Perhaps some sort of conflict?

    Thread Starter creativelifeform

    (@creativelifeform)

    Sorry for some reason it’s not formatting the code backticks properly…hmm

    Thread Starter creativelifeform

    (@creativelifeform)

    Found it:

    /wp-content/plugins/events-manager/templates/forms/location-editor.php

    Forum: Hacks
    In reply to: Question about Pagination
    Thread Starter creativelifeform

    (@creativelifeform)

    OKAY fixed the problem. The issue was due to a wrong file path for my category. As I mentioned before, I was using /category-slug instead of /category/category-slug, don’t ask me why, never done this before. Anyway as soon as I switched it to /category/category-slug it worked fine. My bad, issue resolved.

    Forum: Hacks
    In reply to: Question about Pagination
    Thread Starter creativelifeform

    (@creativelifeform)

    Sorry for posting like a madman, just updating as I investigate this. So basically, this is a permalink issue, but what is really weird is the only permalink structure that seems to have an issue, is /%category%/%postname%/
    If I use any of the predefined ones, it’s fine. If I use simply /%postname%/
    it’s fine. Finding this really weird, and irritating considering the first example really is the preferred permalink structure. I began to get suspicious however when the blog category homepage was simply /category-slug instead of /category/category-slug like it usually is with this install. Hoping someone has a fix for this.

    Cheers.

    Forum: Hacks
    In reply to: Question about Pagination
    Thread Starter creativelifeform

    (@creativelifeform)

    One more note, I have just recently completed another site which used exactly the same permalink structure, and it worked perfectly fine the only difference is that get_next_post() was being called on the index.php file and not on the loop-category.php file.

    I have this very same issue and have no plugins installed. Reverting to default permalinks is not an option, any other fixes to this?

Viewing 15 replies - 16 through 30 (of 64 total)