//register.php
include("config.php");
include("classes/adodb.inc.php");
include("classes/site_class.php");
include("classes/register_class.php");
error_reporting (E_ERROR | E_WARNING | E_PARSE);
$db = &ADONewConnection('mysql');
if($persistent_connections)
{
//echo " Persistent Connection
";
if (!$db->PConnect($db_host, $db_username, $db_password, $database))
{
echo "could not connect to database";
exit;
}
}
else
{
//echo " No Persistent Connection
";
if (!$db->Connect($db_host, $db_username, $db_password, $database))
{
echo "could not connect to database";
exit;
}
}
$debug_register = 0;
if (!$_COOKIE["classified_session"])
{
$current_time = time();
$sql_query = "delete from geodesic_sessions WHERE last_time < ".($current_time - 3600);
if ($debug_register)
echo $sql_query." is the query
\n";
$delete_session_result = $db->Execute($sql_query);
if (!$delete_session_result)
{
//echo $sql_query."
\n";
return false;
}
//set session in db
do {
$custom_id = md5(uniqid(rand(),1));
$custom_id = substr( $custom_id, 0,32);
$sql_query = "SELECT classified_session FROM geodesic_sessions WHERE classified_session = \"".$custom_id."\"";
if ($debug_register)
echo $sql_query." is the query
\n";
$custom_id_result = $db->Execute($sql_query);
if (!$custom_id_result)
{
//echo $sql_query."
\n";
return false;
}
} while ($custom_id_result->RecordCount() > 0);
//$ip = getenv("REMOTE_ADDR");
$ip = 0;
$sql_query = "insert into geodesic_sessions
(classified_session,user_id,last_time,ip,level)
values
(\"".$custom_id."\",0,".$current_time.",\"".$ip."\",0)";
if ($debug_register)
echo $sql_query." is the query
\n";
$insert_session_result = $db->Execute($sql_query);
if (!$insert_session_result)
{
//echo $sql_query."
\n";
return false;
}
$expires = time() + 31536000;
$user_id = 0;
$user_level = 0;
$classified_session = $custom_id;
if ($debug_register)
echo $classified_session." is classified_session in no cookie
\n";
header("Set-Cookie: classified_session=".$custom_id."; path=/; domain=".$HTTP_HOST."; expires=".gmstrftime("%A, %d-%b-%Y %H:%M:%S GMT",$expires));
}
else
{
$current_time = time();
$sql_query = "delete from geodesic_sessions WHERE last_time < ".($current_time - 3600);
$delete_session_result = $db->Execute($sql_query);
if ($debug_register)
echo $sql_query." is the query
\n";
if (!$delete_session_result)
{
//echo $sql_query."
\n";
return false;
}
//get session information
$sql_query = "SELECT * FROM geodesic_sessions WHERE classified_session = \"".$_COOKIE["classified_session"]."\"";
$session_result = $db->Execute($sql_query);
if ($debug_register)
echo $sql_query." is the query
\n";
if (!$session_result)
{
//echo $sql_query."
\n";
return false;
}
elseif ($session_result->RecordCount() == 1)
{
//$current_ip = getenv("REMOTE_ADDR");
$current_ip = 0;
$show = $session_result->FetchNextObject();
$sql_query = "update geodesic_sessions set last_time = ".$current_time." where classified_session = \"".$_COOKIE["classified_session"]."\"";
$update_session_result = $db->Execute($sql_query);
if ($debug_register)
echo $sql_query." is the query
\n";
if (!$update_session_result)
{
//echo $sql_query."
\n";
return false;
}
else
{
if (($show->LAST_TIME < ($current_time + 60)) && ($current_ip == $show->IP))
{
$user_id = $show->USER_ID;
$user_level = $show->LEVEL;
$classified_session = $_COOKIE["classified_session"];
if($user_id)
{
$_REQUEST["a"] = 10;
include("index.php");
}
}
else
{
//change session
//setcookie("classified_session","",0,"/","$HTTP_HOST");
$sql_query = "delete from geodesic_sessions where classified_session = \"".$_COOKIE["classified_session"]."\"";
$delete_session_result = $db->Execute($sql_query);
if ($debug_register)
echo $sql_query." is the query
\n";
if (!$delete_session_result)
{
//echo $sql_query."
\n";
return false;
}
include("classes/authenticate_class.php");
$auth = new Auth($db,$_COOKIE["language_id"]);
header("Location: ".$auth->configuration_data->CLASSIFIEDS_URL."?".$_SERVER["QUERY_STRING"]);
}
}
}
else
{
//setcookie("classified_session","",0,"/","$HTTP_HOST");
include("classes/authenticate_class.php");
$auth = new Auth($db,$_COOKIE["language_id"]);
header("Location: ".$auth->configuration_data->CLASSIFIEDS_URL."?".$_SERVER["QUERY_STRING"]);
}
}
if ($_REQUEST["set_language_cookie"])
{
if ($debug_register)
echo $_REQUEST["set_language_cookie"]." is set_language_cookie
\n";
$expires = time() + 31536000;
setcookie("language_id",$set_language_cookie,$expires);
$site = new Site($db,0,$_REQUEST["set_language_cookie"],$auth->classified_user_id);
header("Location: ".$site->configuration_data->CLASSIFIEDS_URL."?".$_SERVER["QUERY_STRING"]);
}
$language_id = $_COOKIE["language_id"];
$register = new Register($db,$language_id,$classified_session);
if (($classified_session) && (!$register->setup_error))
{
if ($debug_register)
{
echo $_REQUEST["b"]." is request b
\n";
echo $user_id." is user_id set
\n";
}
if ($user_id)
{
//cannot register -- already are registered
$register->error["registration"] = 1;
$register->registration_error($db);
exit;
}
if ($_REQUEST["b"] == 3)
{
//the user has clicked the confirmation sent in the email sent to him
//process the confirmation and put the user in the
if ($register->confirm($db,$_REQUEST["hash"],$_REQUEST["username"]))
{
if ($register->configuration_data->USE_API)
{
$db = &ADONewConnection('mysql');
if($persistent_connections)
{
//echo " Persistent Connection
";
if (!$db->PConnect($db_host, $db_username, $db_password, $database))
{
echo "could not connect to database";
exit;
}
}
else
{
//echo " No Persistent Connection
";
if (!$db->Connect($db_host, $db_username, $db_password, $database))
{
echo "could not connect to database";
exit;
}
}
}
else
{
//display the registration confirmation completion
$register->set_new_user_id_in_current_session($db);
$register->registration_confirmation_success($db);
}
}
else
{
//display the error message from confirmation
$register->confirmation_error($db);
}
}
elseif ($_REQUEST["b"] == 4)
{
$register->end_registration($db);
}
elseif ($_REQUEST["b"] == 5)
{
//reset filter
$register->update_filter_id($db,0);
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
else
{
//show the basic form to register
if ($debug_register)
{
if (is_array($_REQUEST["c"]))
{
foreach ($_REQUEST["c"] as $key => $value)
{
echo $key." is key to ".$value."
\n";
}
}
echo "
\n";
echo $register->registration_code_checked." is registration_code_checked
\n";
echo $register->registration_code_use." is registration_code_use
\n";
echo $_REQUEST["registration_code"]." is request registration_code
\n";
}
$register->error_found = 0;
if (!$register->registration_code_checked)
{
if ($register->registration_code_use)
{
if ($debug_register)
{
echo $_REQUEST["registration_code"]." is registration code
\n";
}
if ($_REQUEST["registration_code"])
{
if ($register->check_registration_code($db,$_REQUEST["registration_code"]))
{
$register->group_splash_page($db);
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
else
{
$register->registration_code_form($db);
}
}
elseif (strlen(trim($_REQUEST["c"]["bypass_registration_code"])) > 0)
{
$register->update_registration_code_checked($db,1);
$register->set_default_group($db);
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
elseif (strlen(trim($_REQUEST["c"][submit_registration_code])) > 0)
{
if ($register->check_registration_code($db,$_REQUEST["c"]["registration_code"]))
{
//check for group splash page
$register->group_splash_page($db);
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
else
{
//display error messages
$register->registration_code_form($db);
}
}
else
{
$register->registration_code_form($db);
}
}
else
{
$register->update_registration_code_checked($db,1);
$register->set_default_group($db);
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
}
elseif (!$register->personal_info_check)
{
if ($_REQUEST["c"])
{
if ($register->check_info($db,$_REQUEST["c"]))
{
$register->update_personal_info_check($db,1);
$register->insert_user($db);
if ($register->configuration_data->USE_API)
{
$db = &ADONewConnection('mysql');
if($persistent_connections)
{
//echo " Persistent Connection
";
if (!$db->PConnect($db_host, $db_username, $db_password, $database))
{
echo "could not connect to database";
exit;
}
}
else
{
//echo " No Persistent Connection
";
if (!$db->Connect($db_host, $db_username, $db_password, $database))
{
echo "could not connect to database";
exit;
}
}
}
$register->set_new_user_id_in_current_session($db);
if ($register->configuration_data->USE_EMAIL_VERIFICATION_AT_REGISTRATION ||
$register->configuration_data->ADMIN_APPROVES_ALL_REGISTRATION)
{
//do the confirmation
$register->confirmation_instructions($db);
$register->remove_registration_session($db);
}
else
{
$register->registration_confirmation_success($db);
$register->remove_registration_session($db);
}
}
else
{
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
}
else
{
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
}
else
{
if ($register->check_filter($db))
$register->filter_select($db,$_REQUEST["registration_filter_id"]);
else
$register->registration_form_1($db);
}
}
}
else
{
//cannot access registration without a classified session
if ($debug_register)
{
echo "already logged in or register_setup error
\n";
echo $register->setup_error." is setup error
\n";
echo $classified_session." is classified_session
\n";
}
$register->error["registration"] = 2;
$register->registration_error($db);
}
?>