diff options
-rw-r--r-- | INSTALL | 24 | ||||
-rw-r--r-- | mod/invite.php | 63 | ||||
-rw-r--r-- | view/invite.tpl | 26 |
3 files changed, 107 insertions, 6 deletions
@@ -1,26 +1,38 @@ Installation guide -The following notes apply to pre-alpha releases. Some manual installation is required at this time. +The following notes apply to alpha/beta releases. Some manual installation is +required at this time. 1. Requirements - - Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file - - PHP > 5.1. The later the better. You'll need 5.3 for full openssl encryption support - - PHP command line access with register_argc_argv set to true in the php.ini file + - Apache with mod-rewrite enabled and "Options All" so you can use a +local .htaccess file + - PHP > 5.1. The later the better. You'll need 5.3 for full openssl +encryption support + - PHP *command line* access with register_argc_argv set to true in the +php.ini file - Mysql 5.x + - cron + + [Dreamhost.com offers all of the necessary hosting features at a +reasonable price. If your hosting provider doesn't allow Unix shell access, +you might have trouble getting everything to work.] 2. Edit htconfig.php and change system settings. Rename to .htconfig.php 3. Import database.sql into your database with mysql command line or via phpmyadmin -4. Import updates.sql to catch any late-breaking devel changes +4. Import updates.sql (if it exists) to catch any late-breaking devel changes 5. Put this directory into the root of your web server document area. - To use a subdir of your main site, set the config variable $a->path to the relative subdir - For example to use http://example.com/test - + in .htconfig.php - for example to use http://example.com/test - set $a->path to 'test'. + - Everything will work much better if you can dedicate a domain + or subdomain so that you don't require an extra server path. 6. Navigate to your site with a web browser and register an account. +7. Set up a cron task to run "php include/poller.php http://my.domain.name" once every 5-10 minutes. diff --git a/mod/invite.php b/mod/invite.php new file mode 100644 index 000000000..c63eb568b --- /dev/null +++ b/mod/invite.php @@ -0,0 +1,63 @@ +<?php + + +function invite_post(&$a) { + if(! local_user()) { + notice( t('Permission denied.') . EOL); + return; + } + + + $recips = explode("\n",$_POST['recipients']); + $message = $_POST['message']; + + $total = 0; + + foreach($recips as $recip) { + + $recip = trim($recip); + + if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}', $recip)) { + notice( $recip . t(' : ') . t('Not a valid email address.') . EOL); + continue; + } + + $res = mail($recip, t('Please join my network on ') . $a->config['sitename'], $message, "From: " . $a->user['email']); + if($res) { + $total ++; + } + else { + notice( $recip . t(' : ') . t('Message delivery failed.') . EOL); + } + + } + notice( $total . t(' messages sent.') . EOL); + + + +} + + +function invite_content(&$a) { + if(! local_user()) { + notice( t('Permission denied.') . EOL); + return; + } + + $tpl = file_get_contents('view/invite.tpl'); + + $o = replace_macros($tpl, array( + '$invite' => t('Send invitations'), + '$addr_text' => t('Enter email addresses, one per line:'), + '$msg_text' => t('Your message:'), + '$default_message' => t('Please join my social network on ') . $a->config['sitename'] . t("\r\n") . t("\r\n") + . t('To accept this invitation, please visit:') . t("\r\n") . t("\r\n") . $a->get_baseurl() + . t("\r\n") . t("\r\n") . t('Once you have registered, please make an introduction via my profile page at:') + . t("\r\n") . t("\r\n") . $a->get_baseurl() . '/profile/' . $a->user['nickname'] , + '$submit' => t('Submit') + )); + + return $o; + + +}
\ No newline at end of file diff --git a/view/invite.tpl b/view/invite.tpl new file mode 100644 index 000000000..01a45c774 --- /dev/null +++ b/view/invite.tpl @@ -0,0 +1,26 @@ +<form action="invite" method="post" id="invite-form" > +<div id="invite-wrapper"> + +<h3>$invite</h3> + +<div id="invite-recipient-text"> +$addr_text +</div> + +<div id="invite-recipient-textarea"> +<textarea id="invite-recipients" name="recipients" rows="8" cols="32" ></textarea> +</div> + +<div id="invite-message-text"> +$msg_text +</div> + +<div id="invite-message-textarea"> +<textarea id="invite-message" name="message" rows="10" cols="72" >$default_message</textarea> +</div> + +<div id="invite-submit-wrapper"> +<input type="submit" name="submit" value="$submit" /> +</div> + +</form>
\ No newline at end of file |