clipbucket/upload/styles/cbv2.7/layout/testing.html

221 lines
4.8 KiB
HTML
Raw Normal View History

2014-05-09 14:38:00 +00:00
function signup_user($array=NULL,$send_signup_email=true)
{
global $LANG,$db,$userquery;
echo "<pre>";
var_dump($array);
echo "</pre>";
//die();
if($array==NULL)
$array = $_POST;
if(is_array($_FILES))
$array = array_merge($array,$_FILES);
$this->validate_form_fields($array);
//checking terms and policy agreement
if($array['agree']!='yes' && !has_access('admin_access',true))
e(lang('usr_ament_err'));
// first checking if captha plugin is enabled
// do not depend on the form cb_captcha_enabled value
if(get_captcha() && !$userquery->admin_login_check()){
//var_dump(get_captcha());
//var_dump(!error());
//echo "<pre>";
//var_dump($array);
//echo "</pre>";
// now checking if the user posted captha value is not empty and cb_captcha_enabled == yes
if(!isset($array['cb_captcha_enabled']) || $array['cb_captcha_enabled'] == 'no'){
e(lang('usr_ccode_err'));
//echo "wrong captha input";
}
if(!verify_captcha()){
e(lang('usr_ccode_err'));
}
}
if(!error())
{
$signup_fields = $this->load_signup_fields($array);
//Adding Custom Signup Fields
if(count($this->custom_signup_fields)>0)
$signup_fields = array_merge($signup_fields,$this->custom_signup_fields);
foreach($signup_fields as $field)
{
$name = formObj::rmBrackets($field['name']);
$val = $array[$name];
if($field['use_func_val'])
$val = $field['validate_function']($val);
if(!empty($field['db_field']))
$query_field[] = $field['db_field'];
if(is_array($val))
{
$new_val = '';
foreach($val as $v)
{
$new_val .= "#".$v."# ";
}
$val = $new_val;
}
if(!$field['clean_func'] || (!function_exists($field['clean_func']) && !is_array($field['clean_func'])))
$val = mysql_clean($val);
else
$val = apply_func($field['clean_func'],sql_free('|no_mc|'.$val));
if(!empty($field['db_field']))
$query_val[] = $val;
}
// Setting Verification type
if(EMAIL_VERIFICATION == '1'){
$usr_status = 'ToActivate';
$welcome_email = 'no';
}else{
$usr_status = 'Ok';
$welcome_email = 'yes';
}
if(has_access('admin_access',true))
{
if($array['active']=='Ok')
{
$usr_status = 'Ok';
$welcome_email = 'yes';
}else{
$usr_status = 'ToActivate';
$welcome_email = 'no';
}
$query_field[] = "level";
$query_val[] = $array['level'];
}
$query_field[] = "usr_status";
$query_val[] = $usr_status;
$query_field[] = " welcome_email_sent";
$query_val[] = $welcome_email;
//Creating AV Code
$avcode = RandomString(10);
$query_field[] = "avcode";
$query_val[] = $avcode;
//Signup IP
$signup_ip = $_SERVER['REMOTE_ADDR'];
$query_field[] = "signup_ip";
$query_val[] = $signup_ip;
//Date Joined
$now = NOW();
$query_field[] = "doj";
$query_val[] = $now;
/**
* A VERY IMPORTANT PART OF
* OUR SIGNUP SYSTEM IS
* SESSION KEY AND CODE
* WHEN A USER IS LOGGED IN
* IT IS ONLY VALIDATED BY
* ITS SIGNUP KEY AND CODE
*
*/
$sess_key = $this->create_session_key($_COOKIE['PHPSESSID'],$array['password']);
$sess_code = $this->create_session_code();
$query_field[] = "user_session_key";
$query_val[] = $sess_key;
$query_field[] = "user_session_code";
$query_val[] = $sess_code;
$query = "INSERT INTO ".tbl("users")." (";
$total_fields = count($query_field);
//Adding Fields to query
$i = 0;
foreach($query_field as $qfield)
{
$i++;
$query .= $qfield;
if($i<$total_fields)
$query .= ',';
}
$query .= ") VALUES (";
$i = 0;
//Adding Fields Values to query
foreach($query_val as $qval)
{
$i++;
$query .= "'$qval'";
if($i<$total_fields)
$query .= ',';
}
//Finalzing Query
$query .= ")";
$db->Execute($query);
$insert_id = $db->insert_id();
$db->insert(tbl($userquery->dbtbl['user_profile']),array("userid"),array($insert_id));
if(!has_access('admin_access',true) && EMAIL_VERIFICATION && $send_signup_email)
{
global $cbemail;
$tpl = $cbemail->get_template('email_verify_template');
$more_var = array
('{username}' => post('username'),
'{password}' => post('password'),
'{email}' => post('email'),
'{avcode}' => $avcode,
);
if(!is_array($var))
$var = array();
$var = array_merge($more_var,$var);
$subj = $cbemail->replace($tpl['email_template_subject'],$var);
$msg = nl2br($cbemail->replace($tpl['email_template'],$var));
//Now Finally Sending Email
cbmail(array('to'=>post('email'),'from'=>WEBSITE_EMAIL,'subject'=>$subj,'content'=>$msg));
}
elseif(!has_access('admin_access',true) && $send_signup_email)
{
$this->send_welcome_email($insert_id);
}
$log_array = array
('username' => $array['username'],
'userid' => $insert_id,
'userlevel'=> $array['level'],
'useremail'=> $array['email'],
'success'=>'yes',
'details'=> sprintf("%s signed up",$array['username']));
//Login Signup
insert_log('signup',$log_array);
//Adding User has Signup Feed
addFeed(array('action' => 'signup','object_id' => $insert_id,'object'=>'signup','uid'=>$insert_id));
return $insert_id;
}
return false;
}