Ejemplo n.º 1
0
        $html = '<a href="' . $game['url'] . '">';
        $html .= '<img height="32" width="32" title="' . $game['title'] . '" alt="" src="' . $game['img'] . '" />';
        $html .= '</a>';
    }
    return $html;
}
// Récupération des données
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$fichier = curl_exec($ch);
curl_close($ch);
// Tri des infos récupérées
$user['gamertile'] = GetGamertile($fichier);
$user['gamertag'] = GetGamertag($fichier);
$user['sub'] = GetSub($fichier);
$user['rep'] = GetRep($fichier);
$user['score'] = GetScore($fichier);
$user['zone'] = GetZone($fichier);
$user['games'] = GetGames($fichier);
// Affichage en mode debug
if (isset($_GET['debug'])) {
    echo "<pre>\n";
    echo "MODE DEBUG\n\n";
    echo 'Gamertile: ' . $user['gamertile'];
    echo "\n";
    echo 'Subscription: ' . $user['sub'];
    echo "\n";
    echo 'Gamertag: ' . $user['gamertag'];
    echo "\n";
    echo 'Rep: ' . $user['rep'];
Ejemplo n.º 2
0
/**
 * This is the function that is specific to your backend. It takes
 * the current password (as supplied by the user) and the desired
 * new password. It will return an array of messages. If everything
 * was successful, the array will be empty. Else, it will contain
 * the errormessage(s).
 * Constants to be used for these messages:
 * CPW_CURRENT_NOMATCH -> "Your current password is not correct."
 * CPW_INVALID_PW -> "Your new password contains invalid characters."
 *
 * @param array data The username/currentpw/newpw data.
 * @return array Array of error messages.
 */
function cpw_merak_dochange($data)
{
    // unfortunately, we can only pass one parameter to a hook function,
    // so we have to pass it as an array.
    $username = $data['username'];
    $curpw = $data['curpw'];
    $newpw = $data['newpw'];
    $msgs = array();
    global $merak_url, $merak_selfpage, $merak_action;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $merak_url . $merak_selfpage);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_USERPWD, "{$username}:{$curpw}");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $result = curl_exec($ch);
    curl_close($ch);
    if (strpos($result, "401 Access denied") != 0) {
        array_push($msgs, _("Cannot change password! (Is user 'Self Configurable User' ?) (401)"));
        return $msgs;
    }
    // Get URL from: <FORM METHOD="POST" ACTION="success.html?id=a9375ee5e445775e871d5e1401a963aa">
    $str = stristr($result, "<FORM");
    $str = substr($str, 0, strpos($str, ">") + 1);
    $str = stristr($str, "ACTION=");
    $str = substr(stristr($str, "\""), 1);
    $str = substr($str, 0, strpos($str, "\""));
    // Extra check to see if the result contains 'html'
    if (!stristr($str, "html")) {
        array_push($msgs, _("Cannot change password!") . " (1)");
        return $msgs;
    }
    $newurl = $merak_url . $str;
    // Get useraddr from: $useraddr = <INPUT TYPE="HIDDEN" NAME="usraddr" VALUE="*****@*****.**">
    $str = stristr($result, "usraddr");
    $str = substr($str, 0, strpos($str, ">") + 1);
    $str = stristr($str, "VALUE=");
    $str = substr(stristr($str, "\""), 1);
    $str = substr($str, 0, strpos($str, "\""));
    // Extra check to see if the result contains '@'
    if (!stristr($str, "@")) {
        array_push($msgs, _("Cannot change password!") . " (2)");
        return $msgs;
    }
    $useraddr = $str;
    //Include (almost) all input fields from screen
    $contents2 = $result;
    $tag = stristr($contents2, "<INPUT");
    while ($tag) {
        $contents2 = stristr($contents2, "<INPUT");
        $tag = substr($contents2, 0, strpos($contents2, ">") + 1);
        if (GetSub($tag, "TYPE") == "TEXT" || GetSub($tag, "TYPE") == "HIDDEN" || GetSub($tag, "TYPE") == "PASSWORD") {
            $tags[GetSub($tag, "NAME")] = GetSub($tag, "VALUE");
        }
        if ((GetSub($tag, "TYPE") == "RADIO" || GetSub($tag, "TYPE") == "CHECKBOX") && IsChecked($tag)) {
            $tags[GetSub($tag, "NAME")] = GetSub($tag, "VALUE");
        }
        $contents2 = substr($contents2, 1);
    }
    $tags["action"] = $merak_action;
    $tags["usraddr"] = $useraddr;
    $tags["usr_pass"] = $newpw;
    $tags["usr_conf"] = $newpw;
    $str2 = "";
    foreach ($tags as $key => $value) {
        $str2 .= $key . "=" . urlencode($value) . "&";
    }
    $str2 = trim($str2, "&");
    // Change password!
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $newurl);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $str2);
    $result = curl_exec($ch);
    curl_close($ch);
    if (strpos($result, "Failure") != 0) {
        array_push($msgs, _("Cannot change password!") . " (3)");
        return $msgs;
    }
    return $msgs;
}