示例#1
0
 mysqli_query($mysqli_link, 'SET NAMES "utf8" ');
 for ($i = 0; $i < sizeof($queries); $i++) {
     mysqli_multi_query($mysqli_link, $queries[$i]);
     while (@mysqli_next_result($mysqli_link)) {
     }
     if (mysqli_error($mysqli_link)) {
         $tpl['error'][] = 'Error performing query (' . $queries[$i] . ') - Error message : ' . mysqli_error($mysqli_link);
     }
 }
 // возможно идет установка пула, тогда ловим файл c user_id;public_key
 if ($_POST['pool_data']) {
     if (!check_input_data($_POST['pool_admin_user_id'], 'int')) {
         die('bad pool_admin_user_id');
     }
     $pool_admin_user_id = intval($_POST['pool_admin_user_id']);
     $error = pool_add_users($_POST['pool_data'], $my_queries, $mysqli_link, $prefix, true);
     if ($error) {
         die($error);
     }
     $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\t\tINSERT INTO `{$prefix}config` (\n\t\t\t\t\t`pool_admin_user_id`,\n\t\t\t\t\t`auto_reload`\n\t\t\t\t)\n\t\t\t\tVALUES (\n\t\t\t\t\t{$pool_admin_user_id},\n\t\t\t\t\t86400\n\t\t\t\t)");
 } else {
     $my_prefix = '';
     for ($j = 0; $j < sizeof($my_queries); $j++) {
         $my_queries[$j] = str_ireplace('[my_prefix]', $my_prefix, $my_queries[$j]);
         mysqli_multi_query($mysqli_link, $my_queries[$j]);
         while (@mysqli_next_result($mysqli_link)) {
         }
         if (mysqli_error($mysqli_link)) {
             $tpl['error'][] = 'Error performing query (' . $my_queries[$j] . ') - Error message : ' . mysqli_error($mysqli_link);
         }
     }
示例#2
0
$community = get_community_users($db);
// если мест в пуле нет, то просто запишем юзера в очередь
$pool_max_users = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `pool_max_users`\n\t\t\tFROM `" . DB_PREFIX . "config`\n\t\t\t", 'fetch_one');
if (sizeof($community) >= $pool_max_users) {
    $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tINSERT IGNORE INTO `" . DB_PREFIX . "pool_waiting_list` (\n\t\t\t\t`email`,\n\t\t\t\t`time`,\n\t\t\t\t`user_id`\n\t\t\t)\n\t\t\tVALUES (\n\t\t\t\t\t'{$email}',\n\t\t\t\t\t" . time() . ",\n\t\t\t\t\t{$user_id}\n\t\t\t)");
    die(json_encode(array('error' => $lng['pool_is_full'])));
}
// регистрируем юзера в пуле
// вначале убедитмся, что такой user_id у нас уже не зареган
$community = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tSELECT `user_id`\n\t\tFROM `" . DB_PREFIX . "community`\n\t\tWHERE `user_id` = {$user_id}\n\t\t", 'fetch_one');
if ($community) {
    die(json_encode(array('error' => $lng['pool_user_id_is_busy'])));
}
$db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tINSERT IGNORE INTO `" . DB_PREFIX . "community` (\n\t\t\t`user_id`\n\t\t)\n\t\tVALUES (\n\t\t\t{$user_id}\n\t\t)");
$rsa = new Crypt_RSA();
$key = array();
$key['e'] = new Math_BigInteger($_POST['e'], 16);
$key['n'] = new Math_BigInteger($_POST['n'], 16);
$rsa->setPublicKey($key, CRYPT_RSA_PUBLIC_FORMAT_RAW);
$PublicKey = clear_public_key($rsa->getPublicKey());
// если таблы my для этого юзера уже есть в БД, то они перезапишутся.
$mysqli_link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT);
$db_name = DB_NAME;
$prefix = DB_PREFIX;
include ABSPATH . 'schema.php';
mysqli_query($mysqli_link, 'SET NAMES "utf8" ');
pool_add_users("{$user_id};{$PublicKey}\n", $my_queries, $mysqli_link, DB_PREFIX, false);
define('MY_PREFIX', $user_id . '_');
$db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\tUPDATE `" . DB_PREFIX . MY_PREFIX . "my_table`\n\t\tSET `email` = '{$email}'\n\t\t");
print json_encode(array('success' => $lng['pool_sign_up_success']));
unset($_SESSION['restricted']);