diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
| commit | d48e85e0ac5e675ca33fac173f30c75403d1033f (patch) | |
| tree | 1164430fa3b83a4d9283961b09c1576f2885e6b2 /wp-admin/invites.php | |
| parent | 086dcde66603301531efc6d8087bd06d0546f148 (diff) | |
Moved everything in wp-inst down a directory.
Uses's Ryan Boren's htaccess rules and mods
If you're upgrading, try this on a test server first!
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@591 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/invites.php')
| -rw-r--r-- | wp-admin/invites.php | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/wp-admin/invites.php b/wp-admin/invites.php new file mode 100644 index 0000000..d955387 --- /dev/null +++ b/wp-admin/invites.php @@ -0,0 +1,196 @@ +<?php +require_once('admin.php'); + +$title = __('Invites'); +$parent_file = 'edit.php'; + +if( $_POST[ 'action' ] == 'send' ) { + $invites_left = get_usermeta( $user_ID, 'invites_left' ); + if( $_POST[ 'email' ] != '' && is_email( $_POST[ 'email' ] ) ) { + $email = strtolower( $_POST[ 'email' ] ); + if( $invites_left != false || is_site_admin() == true ) { + $invites_list = get_usermeta( $current_user->data->ID, "invites_list" ); + $pos = strpos( $invites_list, substr( $email, 1 ) ); + if( $pos == true ) { + header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=alreadysent&to=" . urlencode( $email ) ); + exit; + } + $invites_list .= strtolower( $email ) . " "; + update_usermeta( $current_user->data->ID, "invites_list", $invites_list ); + + $msg = get_site_option( "invites_default_message" ); + $subject = get_site_option( "invites_default_subject" ); + $from = $cache_userdata[ $user_ID ]->user_email; + + $visitor_pass = md5( $email ); + $msg = str_replace( "FIRSTNAME", $_POST[ 'fname' ], $msg ); + $msg = str_replace( "LASTNAME", $_POST[ 'lname' ], $msg ); + $msg = str_replace( "PERSONALMESSAGE", $_POST[ 'personalmessage' ], $msg ); + $msg = str_replace( "VISITORPASS", $visitor_pass, $msg ); + $msg = str_replace( "\\r\\n", "\n", stripslashes( str_replace( "REGURL", "http://" . $current_site->domain . "/invite/" . $visitor_pass, $msg ) ) ); + + $subject = str_replace( "FIRSTNAME", $_POST[ 'fname' ], $subject ); + if( $cache_userdata[ $user_ID ]->display_name != '' ) { + $username = $cache_userdata[ $user_ID ]->display_name; + } elseif( $cache_userdata[ $user_ID ]->first_name != '' ) { + $username = $cache_userdata[ $user_ID ]->first_name; + } elseif( $cache_userdata[ $user_ID ]->nickname != '' ) { + $username = $cache_userdata[ $user_ID ]->nickname; + } else { + $username = __( 'Someone' ); + } + $msg = str_replace( "USERNAME", ucfirst( $username ), $msg ); + $subject = str_replace( "USERNAME", ucfirst( $username ), $subject ); + + $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', 'invite' , '".md5( strtolower( $email ) )."')" ); + $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_invited_by' , '$user_ID')" ); + $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_to_email' , '{$_POST[ 'email' ]}')" ); + $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_to_name' , '{$_POST[ 'fname' ]}')" ); + $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_invite_timestamp' , UNIX_TIMESTAMP())" ); + if( $_POST[ 'add_blog_to_blogroll' ] == '1' ) { + $t = array( "blogid" => $wpdb->blogid, "userid" => get_current_user_id() ); + $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_add_to_blogroll' , '" . serialize( $t ) . "')" ); + } + + mail( $_POST[ 'email' ], $subject, $msg, "From: $from" ); + if( is_site_admin() == false ) { + $invites_left = $invites_left - 1; + update_usermeta( $user_ID, "invites_left", $invites_left ); + } + header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=sent&to=" . urlencode( $email ) ); + exit; + } else { + header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=notsent&to=" . urlencode( $email ) ); + exit; + } + } else { + header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=completeform" ); + exit; + } +} elseif( $_GET[ 'action' ] == 'deleteinvite' ) { + delete_invite( md5( $_GET[ 'inviteemail' ] ) ); + header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=deletedinvite" ); + exit; +} + +if( $_POST[ 'personalmessage' ] == '' ) { + if( $current_site->site_name != '' ) { + $site_name = $current_site->site_name; + } else { + $site_name = get_settings( 'blogname' ); + } + $_POST[ 'personalmessage' ] = sprintf( __( "I've been using %s and thought you might +like to try it out. Here's an invitation to +create an account." ), $site_name ) ; +} + +include('admin-header.php'); +if (isset($_GET['result'] ) && $_GET['result'] == 'sent' ) { + ?><div id="sent" class="updated fade"><p><strong><?php echo sprintf( __("Invite Sent to %s."), +$wpdb->escape( $_GET[ 'to' ] ) ) ?></strong></p></div><?php +} elseif (isset($_GET['result'] ) && $_GET['result'] == 'notsent' ) { + ?><div id="sent" class="updated fade"><p><strong><?php echo sprintf( __("Invite Not Sent to %s."), +$wpdb->escape( $_GET[ 'to' ] ) ) ?></strong></p></div><?php +} elseif (isset($_GET['result'] ) && $_GET['result'] == 'alreadysent' ) { + ?><div id="sent" class="updated fade"><p><strong><?php echo sprintf( __("Invite Already Sent to +%s."), +$wpdb->escape( $_GET[ 'to' ] ) ) ?></strong></p></div><?php +} elseif (isset($_GET['result'] ) && $_GET['result'] == 'completeform' ) { + ?><div id="sent" class="updated fade"><p><strong><?php _e("Please complete the form.") ?></strong></p></div><?php +} elseif (isset($_GET['result'] ) && $_GET['result'] == 'deletedinvite' ) { + ?><div id="sent" class="updated fade"><p><strong><?php _e("Invite Deleted.") ?></strong></p></div><?php +} +if( $invites_left != false || is_site_admin() == true ) { +?> + +<div class="wrap"> + <h2><?php _e('Invites') ?></h2> + <form name="form1" method="post" action="invites.php"> + <input type="hidden" name="action" value="send" /> + <fieldset class="options"> + <legend><?php _e('Send Invite To') ?></legend> + <table width="100%" cellspacing="2" cellpadding="5" class="editform"> + <tr valign="top"> + <th width="33%" scope="row"><?php _e('First Name:') ?></th> + <td><input name="fname" type="text" id="fname" value="<?php echo stripslashes( $_POST[ 'fname' ] ) ?>" size="40" /></td> + </tr> + <tr valign="top"> + <th width="33%" scope="row"><?php _e('Last Name:') ?></th> + <td><input name="lname" type="text" id="lname" value="<?php echo stripslashes( $_POST[ 'lname' ] ) ?>" size="40" /></td> + </tr> + <tr valign="top"> + <th width="33%" scope="row"><?php _e('Email:') ?></th> + <td><input name="email" type="text" id="email" value="<?php echo stripslashes( $_POST[ 'email' ] ) ?>" size="40" /></td> + </tr> + <tr valign="top"> + <th width="33%" scope="row"><?php _e('Personal Message:') ?></th> + <td><textarea rows="5" cols="60" name="personalmessage" tabindex="5" id="defaultmessage"><?php echo stripslashes( $_POST[ 'personalmessage' ] ) ?></textarea></td> + </tr> + <tr valign="top"> + <th width="33%" scope="row"></th> + <td><label><input type='checkbox' name='add_blog_to_blogroll' value='1' /> <?php _e('Add to my blogroll after signup') ?></label></td> + </tr> + </table> + </fieldset> + <p class="submit"> + <input type="submit" name="Submit" value="<?php _e('Send Invite') ?> »" /> + </p> + </form> +</div> +<?php +} else { // check for invites/is_site_admin() + ?> + <div class="wrap"> + <p>Sorry, you have used all your invites!</p> + </div> + <?php +} + +$invites_list = get_usermeta( $current_user->data->ID, "invites_list" ); +if( $invites_list != '' ) +{ + if( strlen( $invites_list ) > 3 ) { + ?><div class="wrap"> + <h3>Already Invited</h3> + <table><?php + $invites = explode( " ", $invites_list ); + reset( $invites ); + while( list( $key, $val ) = each( $invites ) ) { + if( $val != "" ) { + $id = $wpdb->get_row( "SELECT ID FROM {$wpdb->users} WHERE user_email = '$val'" ); + if( $id ) { + $invited_user_id = $id->ID; + } else { + $invited_user_id = $wpdb->get_var( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = 'invite_hash' AND meta_value = '" . md5( $val ) . "'" ); + } + + if( $invited_user_id != 0 ) { + $invited_user_blog = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE user_id = '$invited_user_id' AND meta_key='source_domain'" ); + } else { + $invited_user_blog = ''; + } + $invited_user_login = $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '$invited_user_id'" ); + if( $invited_user_blog != '' ) { + print "<tr><td>$val</td><td>$invited_user_login</td><td><a href='http://{$invited_user_blog}'>http://$invited_user_blog</a></td></tr>"; + } else { + $invited_time = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = '" . md5( $val ) . "_invite_timestamp'" ); + if( $invited_time ) { + $days_left = intval( get_site_option( "invite_time_limit" ) ) - intval( ( time() - $invited_time ) / 86400 ); + print "<tr><td>$val</td><td>$invited_user_login</td><td><em>Invite Not Used Yet</em> ($days_left days left)"; + if ( function_exists('delete_invite') ) + print " (<a href='?action=deleteinvite&inviteemail=" . urlencode( $val ) . "'>Delete</a>)"; + print "</td></tr>"; + } else { + print "<tr><td>$val</td><td>$invited_user_login</td><td><em>Invite Not Used Yet</em>"; + if ( function_exists('delete_invite') ) + print " (<a href='?action=deleteinvite&inviteemail=" . urlencode( $val ) . "'>Delete</a>)"; + print "</td></tr>"; + } + } + } + } + ?></table></div><?php + } +} +?> +<?php include("admin-footer.php") ?> |
