$q->execute(array($title, user_id(), $id)); $messages[] = t("Updated :title title.", array(':title' => htmlspecialchars($account_data['title']))); // redirect to GET set_temporary_messages($messages); redirect(url_for("wizard_accounts_addresses#wizard_" . $currency)); } } // process add if (require_post("add", false) && require_post("address", false)) { $address = trim(require_post("address")); $title = trim(require_post("title", false)); $callback = $account_data['callback']; if (!$callback($address)) { $errors[] = t("':address' is not a valid :title.", array(':address' => htmlspecialchars($address), ':title' => htmlspecialchars($account_data['title']))); } else { if (!is_valid_title($title)) { $errors[] = t("':value' is not a valid :title title.", array(':value' => htmlspecialchars($title), ':title' => htmlspecialchars($account_data['title']))); } else { if (!can_user_add($user, $account_data['premium_group'])) { $errors[] = t("Cannot add address: too many existing addresses.") . ($user['is_premium'] ? "" : " " . t("To add more addresses, upgrade to a :premium_account.", array(':premium_account' => link_to(url_for('premium'), t('premium account'))))); } else { // we don't care if the address already exists $q = db()->prepare("INSERT INTO " . $account_data['table'] . " SET user_id=?, address=?, currency=?, title=?"); $q->execute(array(user_id(), $address, $account_data['currency'], $title)); $messages[] = t("Added new address :address. Balances from this address will be retrieved shortly.", array(':address' => crypto_address($account_data['currency'], $address), ':title' => htmlspecialchars($account_data['title']))); // update has_added_account $q = db()->prepare("UPDATE user_properties SET has_added_account=1,last_account_change=NOW() WHERE id=?"); $q->execute(array(user_id())); // redirect to GET set_temporary_messages($messages); redirect(url_for("wizard_accounts_addresses#wizard_" . $currency));
$errors[] = t("That is not a valid :title :label.", array(':title' => htmlspecialchars($account_data['title']), ':label' => htmlspecialchars($data['title']))); } break; } else { $query .= ", {$key}=?"; $args[] = $value; } } foreach ($account_data['fixed_inputs'] as $key => $data) { $query .= ", {$key}=?"; $args[] = $data; } if ($account_data['disabled']) { $errors[] = t("Cannot add a new account; that account type is disabled."); } if (!is_valid_title(require_post("title", false))) { $errors[] = t("That is not a valid title."); } if (!can_user_add($user, $account_data['exchange'])) { $errors[] = t("Cannot add :title: too many existing accounts.", array(':title' => $account_data['title'])) . ($user['is_premium'] ? "" : " " . t("To add more accounts, upgrade to a :premium_account.", array(':premium_account' => link_to(url_for('premium'), t('premium account'))))); } if (!$errors) { $title = htmlspecialchars(require_post("title", "")); // we don't care if the address already exists $q = db()->prepare("INSERT INTO " . $account_data['table'] . " SET user_id=?, title=? {$query}"); $full_args = array_join(array(user_id(), require_post("title", false)), $args); $q->execute($full_args); $id = db()->lastInsertId(); if (!$title) { $title = t("(untitled)"); }