Beispiel #1
0
function crosssell_display_advert($this_site, $email = '', $name = '', $postcode = '', $adverts = array())
{
    # Always try and display a HearFromYourCouncillor Cheltenham advert if possible
    if ($this_site != 'hfyc') {
        if ($ad = crosssell_display_hfyc_cheltenham_advert($email, $name, $postcode)) {
            return $ad;
        }
    }
    # If we've been sent an array of adverts, pick one at random to display
    while (count($adverts)) {
        $keys = array_keys($adverts);
        $rand = rand(0, count($adverts) - 1);
        $rand = $keys[$rand];
        list($advert_id, $advert_text) = $adverts[$rand];
        $advert_site = preg_replace('#\\d+$#', '', $advert_id);
        if ($this_site == 'twfy' && $advert_site == 'twfy_alerts') {
            return 'other-twfy-alert-type';
        }
        if (call_user_func('crosssell_display_random_' . $advert_site . '_advert', $email, $name, $postcode, $advert_text, $this_site)) {
            return $advert_id;
        }
        # Failed to show an advert for $advert_site, remove all other $advert_site adverts from the selection
        foreach ($adverts as $k => $advert) {
            if ($advert_site == preg_replace('#\\d+$#', '', $advert[0])) {
                unset($adverts[$k]);
            }
        }
    }
    if ($this_site != 'hfymp') {
        if (crosssell_display_hfymp_advert($email, $name, $postcode)) {
            return 'hfymp';
        }
    }
    /*
    XXX Nothing using this fallback, and we currently want WTT fallback to
        be FMS
    
        if ($this_site != 'twfy') {
            if (crosssell_display_twfy_alerts_advert($this_site, $email, $postcode))
                return 'twfy';
    */
    #    } else {
    #        return 'other-twfy-alert-type';
    #}
    if ($this_site != 'fms') {
        # Always happens, as FMS uses Perl
        crosssell_display_fms_advert();
        return 'fms';
    }
    if ($this_site != 'pb') {
        crosssell_display_pb_advert();
        return 'pb';
    }
    return '';
}
Beispiel #2
0
function crosssell_display_advert($this_site, $email = '', $name = '', $postcode = '', $adverts = array())
{
    # Always try and display a HearFromYourCouncillor Cheltenham advert if possible
    if ($this_site != 'hfyc') {
        if ($ad = crosssell_display_hfyc_cheltenham_advert($email, $name, $postcode)) {
            return $ad;
        }
    }
    # If we've been sent an array of adverts, pick one at random to display
    while (count($adverts)) {
        $rand = rand(0, count($adverts) - 1);
        list($advert_site, $advert_text) = $adverts[$rand];
        if ($this_site == 'twfy' && $advert_site == 'twfy_alerts') {
            return 'other-twfy-alert-type';
        }
        if (call_user_func('crosssell_display_random_' . $advert_site . '_advert', $email, $name, $postcode, $advert_text, $this_site)) {
            return $advert_site . $rand;
        }
        # Failed to show an advert for $advert_site, remove all other $advert_site adverts from the selection
        $new_adverts = array();
        foreach ($adverts as $advert) {
            if ($advert_site != $advert[0]) {
                $new_adverts[] = $advert;
            }
        }
        $adverts = $new_adverts;
    }
    if ($this_site != 'hfymp') {
        if (crosssell_display_hfymp_advert($email, $name, $postcode)) {
            return 'hfymp';
        }
    }
    if ($this_site != 'twfy') {
        if (crosssell_display_twfy_alerts_advert($this_site, $email, $postcode)) {
            return 'twfy';
        }
    } else {
        return 'other-twfy-alert-type';
    }
    if ($this_site != 'pb') {
        crosssell_display_pb_advert();
        return 'pb';
    }
    return '';
}