Topic: punBB registration integration

Hello,

I've added punbb to my website, and would now like to have it integrated into the site's registration and login functions (which are also written in php).  So basically, when you register for an account on the site, it would use the punbb registration function and mySQL tables instead of the current system.  I'd be willing to pay someone to do this.  What would this cost approximately?  I'll provide additional details to those interested.

2

Re: punBB registration integration

Hi devdan,

We're looking at adding this functionality to PunBB 1.3, since it appears to be a very popular request on these forums.

http://dev.punbb.org/ticket/50

Re: punBB registration integration

And this may very well compete with extensions as the hottest feature of the 1.3 branch cool

Re: punBB registration integration

Hi hcgtv,

That's great this is something that will be built into the new version.  When is punBB 1.3 expected to be released?  Can what I need be done with the current punBB version along with a bit of additional coding?

5

Re: punBB registration integration

You could probably do something now with PunBB 1.2.14, do a search on these forums for others that have done integration.

PunBB 1.3 shouldn't be that long of a wait, we should have a good idea of a release time frame soon.

6 (edited by quaker 2007-01-10 08:26)

Re: punBB registration integration

this is the code for adding a new page to ur punbb!!
this is something to start with...
then look at the main.tpl in the include/template folder for moding the forum to integrate in the site.
just a starter info....


this will include any html inside the punbb style.

this is what im playing with now..
http://bunpai.com

<?php
 
define('PUN_ROOT', './');
define('PUN_QUIET_VISIT', 1);
require PUN_ROOT.'include/common.php';
 
//Set the page title here
$page_title = pun_htmlspecialchars($pun_config['o_board_title']) . ' / New page 1';
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
require PUN_ROOT.'include/parser.php';
 
?>
Your code goes here..... html, php, and etc.
<?php
 
require PUN_ROOT.'footer.php';
My stuff or my style might sux, but atleast I'm willing to help when I can.
Don't be stupid and help ! We are the stupid one's !!!

Re: punBB registration integration

Quaker,

Thanks for the help.  Where should the example code you posted below go?  What file would it go in?

I've aready made changes to my main.tpl file to add my site menu and look to punBB.  But, the big thing is to integrate the login and authentication features of punBB into the rest of the site's pages.  After looking at things, it seems like it could be fairly involved and time consuming.

PS- for the model mayhem site, do you know what script was used to build it, or was it custom coded?

8 (edited by quaker 2007-01-10 18:06)

Re: punBB registration integration

the MM site is custom there are several site script sorta like it and myspace out there.
that codding is for a new page say a contact page.
this is my contact.php file...
just change the your@email.com
if user doesnt fill out everything it will not send it....
what about a link to your site?

<?php
 
define('PUN_ROOT', './');
define('PUN_QUIET_VISIT', 1);
require PUN_ROOT.'include/common.php';
 
//Set the page title here
$page_title = pun_htmlspecialchars($pun_config['o_board_title']) . ' / Contact';
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';
require PUN_ROOT.'include/parser.php';
 
?>
        <div class="block">
            <h3><span>Contact</span></h3>
            <div class="box">
                <div class="inbox">
                   <? 
/*
########################## Contact Form 1.3 #########################
### |-----------------------------------------------------------| ###
### |      WRITTEN 2006 by planetluc.com c/o Lukas Stalder      | ###
### |      THIS SMALL SCRIPT IS FREE AND MAY BE REDISTRIBUTED   | ###
### |-----------------------------------------------------------| ###
#####################################################################
*/ 



/*
// ################ INSTALLATION #################

1. open the .php file where you want to have the contact form in.
2. paste this whole code in there
3. adapt values in the config section below to your needs.
4. upload the file - that's it!

// ############## END INSTALLATION ###############
*/




// ################### CONFIG ###################



// CSS classes & styles
$classError = "error"; // class for error messages below input fields
$classTxt = "text"; // class for field caption cell
$classField = "field"; // class for input/textarea field cell
$classInputbutton = "inputButton"; // class for submit button
$classInputline = "inputLine"; // class for input lines
$classInputfield = "inputField"; // class for textareas

$styleInputline = "width:355px;"; // add. styles for input lines
$styleInputfield = "width:355px; height:100px;"; // add. styles for textareas
$styleInputbutton = "width:355px;"; // add. styles for submit button
$styleInputradio = "vertical-align:middle;"; // add. styles for radio input fields
$styleInputselect = "width:355px;";

// email
$targetAddress = "your@email.com";
$emailSubject = "Website Request modelcrowd.com";

// misc text
$txtSend = "Send";
$txtMandatory = "mandatory";
$msgDate = "Date";
$dateFormat = "d. M Y, H:i";

$msgIndent = 11;

//thank you messages
$txtThankyou = "<div class='$classTxt'><h2>Thank you for getting in contact with us!</h2>Your request has been sent and you'll be contacted as soon as possible.</div>";


// form fields
/*
  every form field is an array consisting of 6 elements:
  1) field caption
  2) field name
  3) field type: line, field, radio
  4) additional info: if field type is 
     - 'radio' this field contains the radio captions/values like so: {caption1|value1} {caption2|value2} {caption3|value3}...
     - 'select' this field contains the radio captions/values like so: {caption1|value1} {caption2|value2} {caption3|value3}...
     - 'email' the field value must be a valid emailaddress
  5) mandatory ('*') or not ('')
  6) error message if empty on submit and set to mandatory previously
*/

$fields[] = array("Company", "company", "line", "", "", "");
$fields[] = array("Name", "name", "line", "", "*", "Please enter a name");
$fields[] = array("Address", "address", "line", "", "", "");
$fields[] = array("Zip/City", "city", "line", "", "", "");
$fields[] = array("Phone", "phone", "line", "", "*", "Please enter a phone number");
$fields[] = array("Email", "email", "line", "email", "*", "Please enter a valid email address");
$fields[] = array("Reply by", "replyby", "radio", "{Email|by email}{Phone|by phone}{Post|by post}", "*", "Please select a reply mode");
$fields[] = array("Contact", "contact", "select", "{-- please choose --|}{Photographer}{Owner}{Webmaster}", "*", "Who would you like to contact?");
$fields[] = array("Request", "request", "field", "", "*", "Please enter a request");


// ################ END  CONFIG ##########################################################
// #######################################################################################







$version = "1.3";

function spaces($num, $fill=" "){
    $foo="";
    for ($i=0; $i<$num; $i++) $foo.=$fill;
    return $foo;
}

function isValidEmail($addr){
    if(eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$", $addr))
        return true;
    else
        return false;
}


// start form evaluation
unset($error);
if ($_REQUEST['do']=="send"){
    $error = false;
    $fromAddress = "";
    $message = "";
        
    foreach ($fields as $field){
        if ($field[4] == "*"){
            if ($field[3] == "email"){
                if (!isValidEmail($_REQUEST[$field[1]])) $error[$field[1]] = $field[5];
            }else{
                if ($_REQUEST[$field[1]] == "") $error[$field[1]] = $field[5];
            }        
        }        
    }    
    
    if ($error === false){
    
        $message  = $emailSubject."  \n";
        for ($i = 0; $i < strlen($emailSubject); $i++) $message .= "*";
        $message .= "  \n\n$msgDate:".spaces($msgIndent-strlen($msgDate)).date($dateFormat);
        foreach ($fields as $field){
            $message .= "\n".$field[0].":".spaces($msgIndent-strlen($field[0]));
            if ($field[3] == "email"){
                $message .= "mailto:".$_REQUEST[$field[1]];
                $fromAddress = "From: ".$_REQUEST[$field[1]];
            }else $message .= $_REQUEST[$field[1]];
            $message .= "  ";
        }
            
        mail($targetAddress, $emailSubject, $message, $fromAddress);
        echo $txtThankyou;
        
    }

}

if ($error!==false){

    // draw form
    echo "\n\n <!-- ContactForm $version by planetluc.com START -->\n\n";
    echo "<form name=\"form1\" method=\"post\" action=\"\">\n";
    echo "<table  border=\"0\" cellpadding=\"1\" cellspacing=\"0\">\n";
        
    foreach ($fields as $field){
    
        echo "<tr><td class=\"$classTxt\">".$field[0].$field[4]." </td>\n<td class=\"$classField\">";
        
        switch ($field[2]){
        case "line":
            echo "<input type=\"text\" name=\"".$field[1]."\" value=\"".$_REQUEST[$field[1]]."\" class=\"$classInputline\" style=\"$styleInputline\" />";
            if (isset($error[$field[1]])) echo "<div class=\"$classError\">".$error[$field[1]]."</div>";
            break;
        case "field":
            echo "<textarea name=\"".$field[1]."\" class=\"$classInputfield\" style=\"$styleInputfield\" >".$_REQUEST[$field[1]]."</textarea>";
            if (isset($error[$field[1]])) echo "<div class=\"$classError\">".$error[$field[1]]."</div>";
            break;
        case "radio":
            preg_match_all("/\{(.*?)\}/", $field[3], $foo);
            $options = $foo[1];
            $i=1;
            foreach ($options as $opt){
                $opt = explode("|", $opt);
                $label = $opt[0];
                $value = (isset($opt[1])) ? $opt[1] : $opt[0];
                $checked = ($_REQUEST[$field[1]] == $value) ? "checked" : "";
                echo "<input type=\"radio\" name=\"".$field[1]."\" value=\"".$value."\" style=\"$styleInputradio\" id=\"".$field[1].$i."\" $checked/> <label for=\"".$field[1].$i."\">".$label."</label>  ";
                $i++;
            }
            if (isset($error[$field[1]])) echo "<div class=\"$classError\">".$error[$field[1]]."</div>";
            break;
        case "select":
            preg_match_all("/\{(.*?)\}/", $field[3], $foo);
            $options = $foo[1];
            $i=1;
            echo "\n<select name=\"".$field[1]."\" style=\"$styleInputselect\">\n";
            foreach ($options as $opt){
                $opt = explode("|", $opt);
                $label = $opt[0];
                $value = (isset($opt[1])) ? $opt[1] : $opt[0];
                $selected = ($_REQUEST[$field[1]] == $value) ? "selected" : "";
                echo "<option value=\"".$value."\" $selected>$label</option>\n";
                $i++;
            }
            echo "</select>\n";
            if (isset($error[$field[1]])) echo "<div class=\"$classError\">".$error[$field[1]]."</div>";
            break;
        }
        
        echo "</td></tr>\n";
    
    }
    
    echo "<tr><td class=\"$classTxt\"> </td><td align=\"right\" class=\"$classTxt\">* $txtMandatory</td></tr>\n";
    echo "<tr><td class=\"$classTxt\"> </td><td  class=\"$classField\"><input name=\"Submit\" type=\"Submit\" class=\"$classInputbutton\" style=\"$styleInputbutton\" value=\"$txtSend\">\n";
    echo "<input name=\"do\" type=\"hidden\" id=\"do\" value=\"send\"></td>\n";
    echo "</tr></table>\n";
    echo "</form>\n";
    echo "\n <!-- ContactForm $version by planetluc.com END -->\n\n";

}
/*
######################### END Contact Form ##########################
#####################################################################
*/  
?>

                </div>
            </div>
        </div>
<?php
 
require PUN_ROOT.'footer.php';
My stuff or my style might sux, but atleast I'm willing to help when I can.
Don't be stupid and help ! We are the stupid one's !!!

Re: punBB registration integration

Quaker- So the login you have on all your pages uses the punBB registration and login functions?  Do you have other punBB modules added to your site for the other stuff?  Or were the other features on your site coded in php by you? 

Here's the link to the punBB forum on my site - www.topshelfrecipes.com/forum

You'll see there's a separate registration and login for the site and then users must register again for the forums.  It's my goal to combine these registrations into the punBB database so it more streamlined and less confusing for visitors.  You can see the "site" registration/login by going to any other other pages of the site.

10

Re: punBB registration integration

this is my yahoo or aim scot405583
msn scot405583@passport.com

hit me up....

My stuff or my style might sux, but atleast I'm willing to help when I can.
Don't be stupid and help ! We are the stupid one's !!!