Esempio n. 1
0
function manageurs_encrypt_array($array)
{
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $result[manageurs_encrypt($key)] = manageurs_encrypt_array($value);
        } else {
            $result[manageurs_encrypt($key)] = manageurs_encrypt($value);
        }
    }
    return $result;
}
Esempio n. 2
0
function get_nouveau_infos($method, $params)
{
    global $error_mat, $error_key, $globals;
    // Password verification.
    if (!isset($params[0]) || $params[0] != $globals->manageurs->manageurs_pass) {
        return false;
    }
    // We check we actually have an identification number.
    if (!empty($params[1])) {
        $res = XDB::query("SELECT  ppn.lastname_initial AS nom, ppn.lastname_ordinary AS nom_usage, ppn.firstname_initial AS prenom,\n                                   p.sex = 'female' AS femme, p.deathdate IS NOT NULL AS decede,\n                                   p.birthdate, pd.promo, CONCAT(e.email, '@', d.name) AS mail\n                             FROM  profiles         AS p\n                       INNER JOIN  account_profiles AS ap ON (p.pid = ap.pid AND FIND_IN_SET('owner', perms)\n                       INNER JOIN  email_source_account AS s ON (s.uid = ap.uid AND FIND_IN_SET('bestalias', s.flags))\n                       INNER JOIN  email_virtual_domains AS d ON (s.domain = s.id)\n                       INNER JOIN  profile_display  AS pd PN (p.pid = pd.pid)\n                       INNER JOIN  profile_public_names AS ppn ON (ppn.pid = p.pid)\n                            WHERE  a.flags = 'bestalias' AND p.xorg_id = {?}", $params[1]);
        // $data['mail'] .= '@polytechnique.org';
        // We start the encryption of the data.
        if (manageurs_encrypt_init($params[1]) == 1) {
            // We did not find the key to encryptthe data.
            $args = array("erreur" => 3, "erreurstring" => $error_key);
            $reply = xmlrpc_encode_request(NULL, $args);
        } else {
            $reply = manageurs_encrypt_array($data);
            manageurs_encrypt_close();
        }
    } else {
        $reply = false;
    }
    return $reply;
}