- Statut : non résolu
- Ce sujet contient 7 réponses, 4 participants et a été mis à jour pour la dernière fois par Mastok, le il y a 15 années.
-
AuteurMessages
-
11 avril 2007 à 9 h 26 min #451498
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 1.0
– Thème utilisé : freshy modifié
– Plugins en place :
– Nom de l’hebergeur : celeonet
– Adresse du site : http://blogs.all-musculation.comProblème(s) rencontré(s) :
Bonjour,
Quelqu’un à déja fait ça ?
Je voudrais éviter l’étape du mail d’activation pour créer un compte, car certains de mes mails arrivent en indesirable ou arrivent pas du tout, du coup je rate des inscrtiption.
J’aimerai que les gens puissent créer leur blog direct, sans ce mail d’activation (je mettrais en place une captcha bien entenud).
Style les gens créer leur blog donnent login + mdp + captcha et c’est parti 🙂
Je dois pouvoir le faire en bidouillant le php, mais si y’a une solution simple je suis preneur 🙂
Merci
11 avril 2007 à 14 h 29 min #597508Salut
A priori je ne pense pas. J’ai dernièrement crée une fonctionnalité qui permet de passer cette étape, mais uniquement si l’on souhaite s’inscrire à un blog comme rédacteur (biensûr l’admin du blog doit valider). J’ai du redevelloper un formulaire d’enregistrement car à l’époque (il y a 1 mois) aucun plug-in proposait une fonctionnalité sans approchant et je ne pense pas que cela ai évolué.
11 avril 2007 à 15 h 04 min #597509ok, merci quand meme 🙂
Je vais remettre les doigts dans le code (vais devenir bon à force ! )
11 avril 2007 à 19 h 00 min #597510Possible en hackant ^^
13 avril 2007 à 19 h 17 min #597511Ayé
Super facile en fait, à peine 1h00 de travail. J’ai redirigé la sortie de la derniére page de login vers le lien généré pour l’activation (au lieu du message d’information qui dit de cliquer sur le lien dans le mail).
7 juin 2007 à 17 h 14 min #597512UP, j’ai eu de nombreux messages pour me demander comment j’avais fais, donc voilà le code que j’ai utilisé :
Dans wmpu-functions.php, remplacer les fonctions existantes par celles là (les modifs sont entre les //AllM )
// Record signup information for future activation. wpmu_validate_signup()
should be run
// on the inputs before calling wpmu_signup().
function wpmu_signup_blog($domain, $path, $title, $user, $user_email, $meta
= ») {
global $wpdb, $current_site;
$key = substr( md5( time() . rand() . $domain ), 0, 16 );
$registered = current_time(‘mysql’, true);
$meta = serialize($meta);
$domain = $wpdb->escape($domain);
$path = $wpdb->escape($path);
$title = $wpdb->escape($title);
$wpdb->query( « INSERT INTO $wpdb->signups ( domain, path, title,
user_login, user_email, registered, activation_key, meta )
VALUES ( ‘$domain’, ‘$path’, ‘$title’, ‘$user’, ‘$user_email’,
‘$registered’, ‘$key’, ‘$meta’ ) » );
wpmu_signup_blog_notification($domain, $path, $title, $user, $user_email,
$key, $meta);
// AllM
if( constant( « VHOST » ) == ‘no’ ) {
$activate_url = « http:// » . $current_site->domain . $current_site->path .
« wp-activate.php?key=$key »;
} else {
$activate_url = « http://{$domain}{$path}wp-activate.php?key=$key »;
}
return $activate_url;
// AllM
}
function wpmu_signup_user($user, $user_email, $meta = ») {
global $wpdb, $current_site;
$key = substr( md5( time() . rand() . $user_email ), 0, 16 );
$registered = current_time(‘mysql’, true);
$meta = serialize($meta);
$wpdb->query( « INSERT INTO $wpdb->signups ( domain, path, title,
user_login, user_email, registered, activation_key, meta )
VALUES ( », », », ‘$user’, ‘$user_email’, ‘$registered’, ‘$key’,
‘$meta’ ) » );
wpmu_signup_user_notification($user, $user_email, $key, $meta);
// AllM
$activate_url = « http://{$_SERVER[
‘SERVER_NAME’ ]}/wp-activate.php?key=$key »;
return $activate_url;
// AllM
}Ces deux fonctions sont appellées dans wp-signup.php. Les modifs mises en place permettent à ces fonctions de retourner en sortie le lien d’activation (qui est normalement envoyé par mail) au fichier wp-signup.php, qui est modifié comme suit, pour prendre en compte cette url :
function validate_user_signup() {
$result = validate_user_form();
extract($result);
if (($_SESSION[‘string’] == $_POST[‘userstring’]) &&
(strlen($_SESSION[‘string’]) > 4)) {
if ( $errors->get_error_code() ) {
signup_user($user_name, $user_email, $errors);
return;
}
if ( ‘blog’ == $_POST[‘signup_for’] ) {
signup_blog($user_name, $user_email);
return;
}
// wpmu_signup_user($user_name, $user_email);
// confirm_user_signup($user_name, $user_email);
// AllM : appel de l’activation
$activate_url = wpmu_signup_user($user_name, $user_email);
make_activation($activate_url,$user_email) ;
} else {
die(‘Veuillez saisir un code correct svp.’);
}
}
[..]
function validate_blog_signup() {
// Re-validate user info.
$result = wpmu_validate_user_signup($_POST[‘user_name’],
$_POST[‘user_email’]);
extract($result);
if ( $errors->get_error_code() ) {
signup_user($user_name, $user_email, $errors);
return;
}
$result = wpmu_validate_blog_signup($_POST[‘blog_id’],
$_POST[‘blog_title’]);
extract($result);
if ( $errors->get_error_code() ) {
signup_blog($user_name, $user_email, $blog_id, $blog_title, $errors);
return;
}
$public = (int) $_POST[‘blog_public’];
$meta = array (‘lang_id’ => ‘en’, ‘public’ => $public);
$meta = apply_filters( « add_signup_meta », $meta );
// wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email,
$meta);
// confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email,
$meta);
// AllM : appel de l’activation
$activate_url = wpmu_signup_blog($domain, $path, $blog_title, $user_name,
$user_email, $meta);
make_activation($activate_url, $_POST[‘user_email’]) ;
}
function make_activation($activate_url, $email) { // Créée par AllM pour
faire direct l’activation
// redirection vers la page d’activation
header( « Location: ».$activate_url );
}J’éspére que ca vous aidera 🙂
7 juin 2007 à 22 h 54 min #597513Je déconseille tout de même cette manipulation.
25 août 2009 à 12 h 22 min #597514Petit up, dans les nouvelles versions de WordPress, il semble que ça ne soit pas contournable, dois-je hacker en recopiant les lignes de codes ci-dessous ou existe-t-il un plug pouvant contourner le probleme ?
En fait, j’aimerais que chaque personne qui s’inscrit soit contributeur, sans l’activation par mail.
Merci !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.