Avatar billede hobbittend Novice
06. april 2011 - 21:29 Der er 3 kommentarer og
1 løsning

Skifte et image url ud med javascript?

Hej.

Jeg har brug for hjælp til at ændre på et script.

Det er fra et gratis script der hedder Promisance (www.qmtpro.com), og det er sådan et turbaseret spil jeg prøver at sætte op.
Der er en indbygget funktion, som gør at hvis man trykker på banneret i toppen af skærmen, kan man hver 24. time opnå nogle ekstra ture. Vil gerne have mine Google ads der, i stedet for et billede eller en knap (som er sådan scriptet er nu), selvom det nok ikke er 100 % efter reglerne.

Der er følgende kode i filen /config.php:

"
$banners = array();
$banners[] = array('label' => 'Hover text', 'image' => 'Image URL', 'url' => 'Click URL', 'width' => '468', 'height' => '60', 'ismap' => '1' if imagemap, '0' if not);

"
Deri kan man jo bare sætte et billede ind, men google ads er jo javascript... Kan se sådan ud:
"
<script type="text/javascript"><!--
google_ad_client = "pub-7550873264020218";
/* Test */
google_ad_slot = "2832214926";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
"

Der optræder noget kode i to andre filer:

/classes/prom_html.php    linje 201:
<?
    }

    // Print a banner image or display a "Collect Bonus Turns" button if appropriate
    private function printBanner ()
    {
        global $banners, $page;
        if (count($banners) > 0)
        {
            $id = mt_rand(0, count($banners) - 1);
?>
<form method="post" action="?location=banner" id="bannerform">
<div>
<input type="hidden" name="action" value="click" />
<input type="hidden" name="banner_id" value="<?=$id?>" />
<input type="image" name="banner_img" src="<?=$banners[$id]['image']?>" alt="<?=$banners[$id]['label']?>" style="width:<?=$banners[$id]['width']?>px;height:<?=$banners[$id]['height']?>px;border:0" />
</div>
<script type="text/javascript">
//<![CDATA[
document.getElementById('bannerform').target = '_blank';
//]]>
</script>
</form>
<?
        }
        else
        {
            global $emp1;
            if (!isset($emp1))    // No empire loaded?
                return;    // Should be impossible, but just in case...
            if ($emp1->e_freeturns >= CUR_TIME)
                return;    // already got free turns
            if (!BONUS_TURNS)
                return;    // bonus turns not enabled
            if (!ROUND_STARTED)
                return;    // game not started, no turns to collect
?>
<form method="post" action="?location=banner">
<div>
<input type="hidden" name="action" value="bonus" />
<input type="hidden" name="bonus_return" value="<?=$page?>" />
<input type="submit" value="<?=lang('HTML_BONUS_SUBMIT')?>" />
</div>
</form>



og




/pages/banner.php:
<?
if (!defined('IN_GAME'))
    die("Access denied");

function giveBonusTurns ()
{
    global $db, $lock;
    global $user1, $emp1;

    if (!ROUND_STARTED)
        return 0;    // don't give turns if the game isn't running

    // page_header() isn't called here, so we have to do all of this manually

    $auth = checkAuth();
    if ($auth != '')
        return 0;

    if ($emp1->e_freeturns >= CUR_TIME)
        return 0;    // already got free turns

    $turnbonus = 100;
    // This is the previous turnbonus:    "ceil(60 / TURNS_FREQ) * TURNS_COUNT;"

    // update $lock for logging purposes
    $lock['emp1'] = $emp1->e_id;
    prom_entity::lock_entities(array($emp1), $user1->u_id);

    $emp1->e_freeturns = CUR_TIME + 86400;
    $emp1->e_turns += $turnbonus;
    if ($emp1->e_turns > TURNS_MAXIMUM)
    {
        $emp1->e_storedturns += $emp1->e_turns - TURNS_MAXIMUM;
        $emp1->e_turns = TURNS_MAXIMUM;
        if ($emp1->e_storedturns > TURNS_STORED)
            $emp1->e_storedturns = TURNS_STORED;
    }
    $emp1->save();    // give 1 hour worth of turns and reset timer
    return $turnbonus;
}

$dest = 'game';    // In the event of failure, jump back to this page
if ($action == 'click')
{
    $id = fixInputNum(getFormVar('banner_id'));
    if (isset($banners[$id]))
    {
        if (BONUS_TURNS)
            $turns = giveBonusTurns();
        $url = $banners[$id]['url'];
        if ($banners[$id]['ismap'])
        {
            $click_x = fixInputNum(getFormVar('banner_img_x'));
            $click_y = fixInputNum(getFormVar('banner_img_y'));
            $url .= '?'. $click_x .','. $click_y;
        }
        logevent(varlist(array('turns', 'id'), get_defined_vars()));
        redirect($url);
    }
}
elseif ($action == 'bonus')
{
    if (count($banners) == 0)
    {
        if (BONUS_TURNS)
            $turns = giveBonusTurns();
        logevent(varlist(array('turns'), get_defined_vars()));
        $dest = getFormVar('bonus_return', 'game');
    }
}
redirect(URL_BASE .'?location='. urlencode($dest));
?>






Altså, jeg vil skifte et billede ud med et javascript, og bevare de samme funktioner. Nogen der kan hjælpe?
Avatar billede intenz Novice
06. april 2011 - 21:44 #1
Du må ikke lave onclick events på Google Adsense, herudover gør google også hvad de kan for at undgå det, så de er ikke så ligetil.

Man kan godt lave en form for 'hack', du kan sikkert finde noget på google (ironisk nok), men din konto vil blive lukket hvis de opdager det.
Avatar billede hobbittend Novice
06. april 2011 - 21:57 #2
Findes der eventuelt et alternativ til Google Adsense, der gør mit problem lidt lettere?
Avatar billede intenz Novice
06. april 2011 - 22:13 #3
Hvis du ikke ville bruge Google Adsense eksiterede dit problem vel ikke? Alternativet er vel derfor ikke at bruge det.

Desuden tror jeg ikke, at du finder et der vil tillade, at du giver belønning for at folk klikker. Det betragtes som snyd hos alle udbydere.
Avatar billede olebole Juniormester
06. april 2011 - 22:59 #4
<ole>

Et forum, der bl.a. rummer en hel del brugere, som lever af webudvikling, er nok ikke det smarteste sted at spørge om parasitær udnyttelse af andres varer. Prøv i stedet at bidrage med noget selv  *o)

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester