|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/abtechsci/mmc15/Membership/extensions/ |
Upload File : |
<?php
/************* Membership V2.0 *******************/
/*
Released by AwesomePHP.com, under the GPL License, a
copy of it should be attached to the zip file, or
you can view it on http://AwesomePHP.com/gpl.txt
*/
/************* Membership V2.0 *******************/
//Call Database & Connect
require_once('headers/database.php');
connect();
//Call functions
require_once('headers/functions.php');
//Get Admin Values
$get_cd = mysql_query("SELECT * FROM `memb_config`");
while($each = mysql_fetch_assoc($get_cd)){$$each['config_name'] = $each['config_value'];}
//Get user count
$user_count = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM `memb_userlist`"));
//Get custom fields
$array_custom = array();
$get_fields = mysql_query("SELECT * FROM `memb_customfds`");
while($each = mysql_fetch_assoc($get_fields)){
array_push($array_custom,$each);
}
//If verifying registration
if($_GET['ver'] != NULL){
$user_status = mysql_escape_string($_GET['ver']);
$get_inf = mysql_fetch_assoc(mysql_query("SELECT `user_email`,`user_password`
FROM `memb_userlist` WHERE `user_status`='$user_status'"));
$update = mysql_query("UPDATE `memb_userlist` SET `user_status`='1' WHERE `user_status`='$user_status' LIMIT 1");
if($update){
$message = $LANGUAGE['EMAIL_CONFIRMED'];
editfule($CF_FDACCESS,'Add',$get_inf['user_email'],$get_inf['user_password'],'');
}else{$message = $LANGUAGE['UNABLE_2_CONFIRM_EMAIL'];}
}
//If registering
if($_POST['S_ID'] == 4){
//Check standard fields
//Is registartion enabled?
if($CF_E_REG == 2){ $message = $LANGUAGE['REGISTRATION_CLOSED'];}
//Did the limit exceed allowed registrations?
if($message == NULL && $CF_USER_LIMIT > 0 && $CF_USER_LIMIT <= $user_count[0]){
$message = $LANGUAGE['USER_LIMIT_EXCESS'].$user_count[0];
}
if($message == NULL && validate_username($_POST['user_name']) == false){$message = $LANGUAGE['ENTER_VALID_USERNAME'];}
if($message == NULL && is_valid_email($_POST['user_email']) == false){$message = $LANGUAGE['INVALID_EMAIL'];}
if($message == NULL && $_POST['user_password2'] == NULL){$message = $LANGUAGE['ENTER_PASS_TWICE'];}
if($message == NULL && $_POST['user_password2'] != $_POST['user_password']){$message = $LANGUAGE['PASS_NO_MATCH'];}
//Check Email existence
if($message == NULL){
$_POST['user_email'] = mysql_escape_string($_POST['user_email']);
$get_email = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM `memb_userlist`
WHERE `user_email`='$_POST[user_email]'"));
if($get_email[0] > 0){ $message = $LANGUAGE['EMAIL_IN_USE'];}
}
//Check username existence
if($message == NULL){
$_POST['user_name'] = mysql_escape_string($_POST['user_name']);
$get_name = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM `memb_userlist`
WHERE `user_name`='$_POST[user_name]'"));
if($get_name[0] > 0){ $message = $LANGUAGE['USERNAME_IN_USE'];}
}
//Check Custom Fields
if($message == NULL){
foreach($array_custom as $field){
if($_POST['fieldxy_'.$field['field_id']] == NULL && $field['is_required'] == 1){
$message .= $LANGUAGE['MISSING_FIELD'].$field['field_name'].$LANGUAGE['MISSING_FIELD_SEP'];
}
}
}
//Check Cpatcha
if($message == NULL){
$realanswer = trim(encode_decode(hex2bin($_POST['registration_id']),$CF_ENCDEC));
if($CF_CAPTHCA == 'IMAGE'){
if($_POST['answer'] != $realanswer){
$message = $LANGUAGE['ENTER_VER_CODE'];
}
} else {
if($realanswer != '*' AND $realanswer != $_POST['answer']){
$message = $LANGUAGE['INVALID_ANSWER'];
}
}
}
//Everything OK, procceed
if($message == NULL){
// Default user settings
$_POST['allow_delete'] = $CF_E_DEL;
$remove_array = array('Submit','answer','registration_id','user_password2','S_ID');
$array_fields = array();
$array_values = array();
//Compose needed info
$random_string = generate_session(50);
if($CF_E_VER == 2){
$_POST['user_status'] = '1';
}else{
$_POST['user_status'] = $random_string;
$ad_text = $LANGUAGE['CONFIRMATION_NEEDED'];
}
$_POST['register_date'] = date("Y-m-d G:i:s");
$_POST['last_access'] = date("Y-m-d G:i:s");
$_POST['last_ip'] = get_ip();
//Compose Query
foreach($_POST as $is => $what){
$what = mysql_escape_string($what);
if(eregi('fieldxy_',$is)){
$is = trim($is);
if($is){
$field_id = str_replace('fieldxy_','',$is);
$_POST['custom_fields'] .= "[$field_id]{+|%|+}[$what]\n";
}
} else {
if(!in_array($is,$remove_array)){
array_push($array_fields,"`$is`");
array_push($array_values,"'$what'");
}
}
}
array_push($array_fields,'`custom_fields`');
array_push($array_values,"'$_POST[custom_fields]'");
//Make Query
$insert = mysql_query("INSERT INTO `memb_userlist` (".implode(',',$array_fields).")
VALUES (".implode(',',$array_values).")") or die(mysql_error());
if($insert){
$sent = welcome_user($_POST,$random_string,$CF_SITENAME,$CF_SITEEMAIL,$CF_REGISTEREMAIL_S,$CF_REGISTEREMAIL_B);
if($_POST['user_status'] == 1){
editfule($CF_FDACCESS,'Add',$_POST['user_name'],$_POST['user_password'],'');
}
if($sent){
$message = $LANGUAGE['ACCOUNT_ADDED'].$ad_text;
} else {
$message = $LANGUAGE['ACCOUNT_ADDED_PROBLEM'];
}
$_POST = NULL;
}else{
$message = $LANGUAGE['UNABLE_2_ADD_ACCOUNT'];
}
}
}
//Disconnect Database
disconnect_data();
?>