vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   phpAdsNew Banner Ads integration (advertisements, classified ads, Adsense, etc.) (https://vborg.vbsupport.ru/showthread.php?t=100229)

funinthesun 02-04-2009 10:19 PM

I've tried all the methods posted on here but can't get OpenX to work with 3.8.1 without getting a parse syntax error. Any ideas?

stardotstar 05-20-2009 10:37 AM

I have localmode calls working well (very fast page loads) but I am getting time skew despite the vb clock, server clock and all other services being correctly set. whenever I do a

<ad what="zone:1" />

The post bit timestamps are all back in time by the amount of the GMT offset... (+10) very strange. If I take the invocation out the times go back to normal. Interestingly enough the time stamp at the bottom of the board is correct. I wonder if the plugin is writing a UTC time to a local variable that then is built into the post bit...

Any one with any idea on help would be appreciated in the mean time I will continue to hack away at it - I am on 3.8.2.

Man, its sooo fast! I have to get it working!

I notice that if I use "detailed" as a time setting in the vB options I get a correct result... Must be a variable getting reset somehow... Any ideas?

stardotstar 05-20-2009 11:06 AM

OK I think I can see where this is happening but just don't know how to track it down - it is possible that this is specific to 3.8.2 and I would be very willing to write up my method for getting it to work if I can get this time issue sorted.

The Time skew occurs if and only if there is a local mode invocation called using the <ad /> code.

I can put

<ad what="zone:1" /> in the footer or header, refer to it from an ad location or whatever but so long as there is a reference to this tag the time jumps back 10 hours.

So when I look at the plugin called
Ad tag callback
I see that its hook is at the template_compile and this tells me that it is a likely cause of elements of the time being rewritten...

Interestingly the time statement at the bottom of the board is always correctly displayed and if I switch the time mode to "detailed" I get the correct time (ie 1 minute ago) for a post just made instead of a 10 hour shift into the past... BUT in the PM inbox the time shift is still evident.

This is the plugin code:

Code:

if (!function_exists('_tag_callback'))
{
        /**
        * Callback-function for process_template_tag() which "parses" arguments and returns PHP code for eval
        *
        * @param        string        Options/arguments of tag
        * @param        string        Name of function to call
        * @param        array        Associative array of argument names and default values
        *
        * @return        string
        */
        function _tag_callback($options, $functionhandle, $arglist)
        {
                $options = stripslashes($options);
                trim($options);
                trim($functionhandle);

                if (!function_exists('replace_template_variables'))
                {
                        require_once(DIR . '/includes/functions_misc.php');
                }

                $param = array();
                if (is_array($arglist))
                {
                        reset($arglist);
                        foreach ($arglist AS $key => $val)
                        {
                                if (preg_match('#'.$key.'=([\\\]["\'])(.*?)\1#', $options, $matches))
                                {
                                        $param[] = $matches[2];
                                }
                                else
                                {
                                        // default argument
                                        $param[] = $val;
                                }
                        }
                }
               
                foreach ($param AS $argument)
                {
                        if ($return == '')
                        {
                                $return = '" . ' . $functionhandle . '(';
                        }
                        else
                        {
                                $return .= ', ';
                        }
                        // Surround variables with {} - not failsafe, but should do the job in most cases
                        $argument = preg_replace('#\$([a-z0-9_>-]+)((\[\'.*?\'\])+)#i', '{$\\1\\2}', $argument);
                        // {{$foo}} --> {$foo}
                        $argument = preg_replace('#(\{+)\$(.*?)(\}+)#i', '{$\\2}', $argument);

                        // Replace legacy variable names in templates with their modern equivalents
                        $argument = replace_template_variables($argument, true);

                        $return .= '"' . $argument . '"';
                }
                $return .= ') . "';
                return $return;
        }
}

if (!function_exists('process_template_tag'))
{
        /**
        * Processes user-defined tags <tagname [argument="foo" ...]/> into myfunction() PHP code for eval
        *
        * @param        string        Title of tag
        * @param        string        Un-parsed template HTML
        * @param        string        Name of function to call
        * @param        array        Associative array of argument names and default values, order must be the same as for the function specified previously
        *
        * @return        string
        */
        function process_template_tag($tagname, $text, $functionhandle='', $arglist)
        {
                if ($functionhandle == '')
                {
                        // No function specified - remove tag
                        return preg_replace("#<{$tagname}\s?/?>|<{$tagname}\s.*?/?>#si", '', $text);
                }
                else
                {
                        return preg_replace("#<({$tagname})(\s+(.*?)/?)>#sie", "_tag_callback('\\3', \$functionhandle, \$arglist)", $text);
                }
        }
}

$template = process_template_tag('ad', $template, 'view_ad', array('what' => '', 'clientid' => 0, 'target' => '', 'source' => '', 'withtext' => 0)  );

can anyone see anything that might cause the effect on time display in postbit and elsewhere in the templates?

Does anyone think I am on the right track or is it futile troubleshooting this wonderful but rather antiquated (for 3.5) implementation now?>

stardotstar 05-22-2009 10:03 AM

Guys, I am not sure how much interest there is for this mod to be adapted to work with 3.8.2 but I for one have spent some considerable time getting it to work with only one issue - the clock is set back to UTC during the callout to the ad server when using local mode. I can't see any reason why it will not work as advertised with vB3.8.2 using javascript invocation.

It is a great mod and one that with a little patience rewards the effort to implement.

Much thanks to the developer, not just for the hack but also the inspiration and opportunity to learn so miuch more about plugin integration while trying to fix what is a bug with openx - not a problem with this great hack.

If The M.I.P is still monitoring this thread I would offer, in exchange for some tips to work around the UTC problem (I have many threads about posing possible work arounds but have not got any workable answers or come up with a solution myself yet) I will make every effort to update the plugin for 3.8.2 or at the very least write a step by step integration guide for 3.8.2 and openx2.8.

I know that this is an easy thing to work around for a programmer but the problem is finding one who can see the context quickly enough to make the fix!

Just putting it out there The M.I.P. thanks for the great work on this inspired product and thanks for reading everyone!

Will

jw00dy 05-22-2009 11:28 PM

I am interested for sure.

bertwrld 05-27-2009 05:16 PM

I get a shifted time as well, a fix would be great.

stardotstar 05-28-2009 09:31 AM

I have detailed the nature of the problem here:
https://vborg.vbsupport.ru/showthread.php?t=214263
that links to a couple of alternative attempts to glean what info i can about the nature of the tz problem and the openx bug that is allegedly responsible.

Not much in the way of progress toward a solution I am afraid as yet.

bertwrld 05-31-2009 03:35 PM

Curious as to any luck with this as of yet?

stardotstar 06-01-2009 01:58 AM

Not yet, following various leads; I'll be sure to keep you updated of progress.

bertwrld 06-02-2009 07:47 PM

Right on, thanks.

The java delivery def uses a lot of resources.


All times are GMT. The time now is 03:12 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01657 seconds
  • Memory Usage 1,759KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete