[Release]Vote4Coins Script mit Prüfung

06/27/2013 13:55 wayneenterprise#1
Das Script hat noch keiner, ich hatte dafür bezahlt da der Server aber nicht mehr existiert und paar "Kollegen" das Script ohne erlaubnis einfach nutzen und sich einen Vorteil verschaffen, release ich es.

Easy Bizy das Script prüft ob der User wirklich gevotet hat und schreibt dann die Coins gut. Es ist für die Metin2pserver Toplist! Das Script ist also UNRELEASED.

Daten können beim Abschnitt
" // BITTE HIER ALLE DATEN ANPASSEN!"
eingetragen werden. E-Mail & Username sind notwendig.


Vielleicht kann ja jemand das Script umbauen und mit dem anderen script zusammenschmeißen, so dass man ein Script mit Prüfung für beide Toplisten hat. Ich jedenfalls würde nicht drauf verzichten wollen, da beide saftig user bringen.



Code:
<div class="con-top">Vote4Coins</div>
<div class="con-mid">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
function votepopup(url) {
    $("#button").val("Ich bin fertig mit voten!");
    $("#form").attr("onsubmit","")
    fenster = window.open(url, "Vote4Coins", "width=698,height=530,status=yes,scrollbars=yes,resizable=yes");
    fenster.focus();
}
</script>

<?php

if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {

class Vote {

    // -------------------------------
    // BITTE HIER ALLE DATEN ANPASSEN!
    // -------------------------------

    var $config = array(
        // Wie Viel Coins bekommt man fürs Voten ?
        'coins'         =>  3,
        // Account Daten von *******************
        'id'            =>  'tester77',
        'email'         =>  '[Only registered and activated users can see links. Click Here To Register...]',
    );
    

    public function do_vote() {
        $url = 'http://www.*******************/API.php?ID=' . $this->config['id'] . '&email=' . $this->config['email'] . '&name=' . $_SESSION['user_name'];
        $topl_curl = curl_init();
        curl_setopt($topl_curl, CURLOPT_URL, $url);
        curl_setopt($topl_curl, CURLOPT_HEADER, 0);
        curl_setopt($topl_curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($topl_curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11');

        $topl_data = curl_exec($topl_curl);
        $topl_info = curl_getinfo($topl_curl);

        //echo $topl_data;

        if (!curl_errno($topl_curl)) {
            if ($topl_info['http_code'] == 200) {
                $data_json = json_decode($topl_data, true);
                $time = strtotime($data_json['result']['time']);
                if ($data_json['result']['status'] == '2' || (time() - $time) < (3600 * 18) && $time != 0) {
                    $seconds = $time + (3600 * 18) - time();
                    $hours = floor($seconds / 3600);
                    $mins = floor(($seconds - ($hours*3600)) / 60);
                    $secs = floor($seconds - ($hours*3600 - ($mins*60)));
            
                    echo 'Du hast bereits gevotet(' . json_encode($data_json['result']) . '). Du kannst erst wieder in ' . $hours . ' Stunden, ' . $mins . ' Minuten und ' . $secs .' Sekunden voten!.<br/><br/><small>(<a href="#" onclick="votepopup(\'' . 'http://www.*******************/vote.htm?id=' . $this->config['id'] . '&name=' . $_SESSION['user_name'] . '\'); return false;">Votefenster ausversehen geschlossen?</a>)</small>';
                } elseif ($data_json['count'] == '0') {
                    echo 'Du hast nicht gevoted!<br/><br/><small>(<a href="#" onclick="votepopup(\'' . 'http://www.*******************/vote.htm?id=' . $this->config['id'] . '&name=' . $_SESSION['user_name'] . '\'); return false;">Votefenster ausversehen geschlossen?</a>)</small>';
                } else {
                    print_r($data_json);
                    echo 'Danke füs voten, dir wurden ' . $this->config['coins'] . ' Coins gutgeschrieben.';
                    mysql_query("UPDATE account.account SET `cash` = (`cash` + " . $this->config['coins'] . "), `lastvote` = '" . time() . "' WHERE `login` LIKE '" . $_SESSION['user_name'] . "' LIMIT 1");
                }
            } else {
                echo 'Es ist ein Fehler Aufgetreten. Bitte ServerAdmin kontaktieren. Fehler Code: 2';
            }
        } else {
            echo 'Es ist ein Fehler Aufgetreten. Bitte ServerAdmin kontaktieren. Fehler Code: 1';
        }
        curl_close($topl_curl);
    }

    
    public function vote_forms() {
        if (!isset($_POST['submit'])) {
            echo '<span style="color: red; font-weight: bold;"">Du bekommst Coins für jeden Vote! (alle 18 Stunden)</span><br /><br>Das Voten mit mehreren Accounts wird mit einer Account-Sperre bestraft.<br /><br />Die Coins werden erst nach dem Voten gutgeschrieben.<br>
                <a href="http://www.*******************/" target="_blank"><form id="form" method="post" action="" onsubmit="votepopup(\'' . 'http://www.*******************/vote.htm?id=' . $this->config['id'] . '&name=' . $_SESSION['user_name'] . '\'); return false;">
                    <input type="submit" name="submit" id="button" value="Jetzt voten!" style="background:red;border-radius:4px;width:200px;margin:0 auto;color:#fff;"/>
                </form></a>';
            
        } else {
            $this->do_vote();
        }
    }

    public function cut_str($str, $left, $right) {
        $str = substr(stristr($str, $left), strlen($left));
        $leftLen = strlen(stristr($str, $right));
        $leftLen = $leftLen ? -($leftLen) : strlen($str);
        $str = substr($str, 0, $leftLen);
        return $str;
    }

}


    $vote = new Vote();
    $vote->vote_forms();

} else {
    echo '<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>';
}

?>
</div>
<div class="con-bot"></div>
06/27/2013 15:02 Silver™#2
Echt nice von wem ist es?
06/27/2013 15:15 Stαgє6#3
Sieht auf den ersten blick ganz gut aus Danke fürs teilen.
06/27/2013 16:19 rakuz123456#4
query fehlt
06/27/2013 16:26 Coniesan#5
Wenn ich nicht falsch informiert bin müssen für das Script die Leute, die BSD als Webserver nutzen, curl nachinstallieren ;) aber sonst ganz nett^^
06/27/2013 16:54 OliviaIchLiebeDichx3#6
Geht das nicht auf der anderen topliste ?
Wen nicht kennt da jemand was bei der anderen geht ?
06/27/2013 17:11 Da' Real Ano#7
Naja , past schon

danke.
06/27/2013 17:22 .Soυzα#8
Kann mann immer gebrauchen, Thanks 4 Share
06/27/2013 17:22 Looh#9
w
Quote:
Originally Posted by rakuz123456 View Post
query fehlt
Stimmt. Falls es dafür einen Query überhaupt geben sollte.