Guest User

webid

a guest
May 18th, 2012
266
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. include 'includes/common.inc.php';
  4. include $include_path . 'countries.inc.php';
  5. include $include_path . 'banemails.inc.php';
  6.  
  7. // check recaptcha is enabled
  8. if ($system->SETTINGS['spam_register'] == 2)
  9. {
  10.     include $include_path . 'captcha/recaptchalib.php';
  11. }
  12. elseif ($system->SETTINGS['spam_register'] == 1)
  13. {
  14.     include $include_path . 'captcha/securimage.php';
  15. }
  16.  
  17. if ($system->SETTINGS['https'] == 'y' && $_SERVER['HTTPS'] != 'on')
  18. {
  19.     $sslurl = str_replace('http://', 'https://', $system->SETTINGS['siteurl']);
  20.     $sslurl = (!empty($system->SETTINGS['https_url'])) ? $system->SETTINGS['https_url'] : $sslurl;
  21.     header('Location: ' . $sslurl . 'register.php');
  22.     exit;
  23. }
  24.  
  25. function CheckAge($day, $month, $year) // check if the users > 18
  26. {
  27.     $NOW_year = gmdate('Y');
  28.     $NOW_month = gmdate('m');
  29.     $NOW_day = gmdate('d');
  30.  
  31.     if (($NOW_year - $year) > 18)
  32.     {
  33.         return 1;
  34.     }
  35.     elseif ((($NOW_year - $year) == 18) && ($NOW_month > $month))
  36.     {
  37.         return 1;
  38.     }
  39.     elseif ((($NOW_year - $year) == 18) && ($NOW_month == $month) && ($NOW_day >= $day))
  40.     {
  41.         return 1;
  42.     }
  43.     else
  44.     {
  45.         return 0;
  46.     }
  47. }
  48.  
  49. function get_hash()
  50. {
  51.     $string = '0123456789abcdefghijklmnopqrstuvyxz';
  52.     $hash = '';
  53.     for ($i = 0; $i < 5; $i++)
  54.     {
  55.         $rand = rand(0, (34 - $i));
  56.         $hash .= $string[$rand];
  57.         $string = str_replace($string[$rand], '', $string);
  58.     }
  59.     return $hash;
  60. }
  61.  
  62. function generateSelect($name = '', $options = array())
  63. {
  64.     global $selectsetting;
  65.     $html = '<select name="' . $name . '">';
  66.     foreach ($options as $option => $value)
  67.     {
  68.         if ($selectsetting == $option)
  69.         {
  70.             $html .= '<option value=' . $option . ' selected>' . $value . '</option>';
  71.         }
  72.         else
  73.         {
  74.             $html .= '<option value=' . $option . '>' . $value . '</option>';
  75.         }
  76.     }
  77.     $html .= '</select>';
  78.     return $html;
  79. }
  80.  
  81. $first = true;
  82. unset($ERR);
  83.  
  84. if (empty($_POST['action']))
  85. {
  86.     $action = 'first';
  87. }
  88.  
  89. $query = "SELECT * FROM " . $DBPrefix . "gateways LIMIT 1";
  90. $res = mysql_query($query);
  91. $system->check_mysql($res, $query, __LINE__, __FILE__);
  92. $gateway_data = mysql_fetch_assoc($res);
  93.  
  94. // Retrieve users signup settings
  95. $MANDATORY_FIELDS = unserialize($system->SETTINGS['mandatory_fields']);
  96. $DISPLAYED_FIELDS = unserialize($system->SETTINGS['displayed_feilds']);
  97.  
  98. $spam_html = '';
  99.  
  100. if ($system->SETTINGS['spam_register'] == 1)
  101. {
  102.     $resp = new Securimage();
  103.     $spam_html = $resp->show_html();
  104. }
  105.  
  106. if (isset($_POST['action']) && $_POST['action'] == 'first')
  107. {
  108.     if (!isset($_POST['terms_check']))
  109.     {
  110.         $ERR = $ERR_078;
  111.     }
  112.     elseif (empty($_POST['TPL_name']))
  113.     {
  114.         $ERR = $ERR_5029;
  115.     }
  116.     elseif (empty($_POST['TPL_nick']))
  117.     {
  118.         $ERR = $ERR_5030;
  119.     }
  120.     elseif (empty($_POST['TPL_password']))
  121.     {
  122.         $ERR = $ERR_5031;
  123.     }
  124.     elseif (empty($_POST['TPL_repeat_password']))
  125.     {
  126.         $ERR = $ERR_5032;
  127.     }
  128.     elseif (empty($_POST['TPL_email']))
  129.     {
  130.         $ERR = $ERR_5033;
  131.     }
  132.     elseif (empty($_POST['TPL_address']) && $MANDATORY_FIELDS['address'] == 'y')
  133.     {
  134.         $ERR = $ERR_5034;
  135.     }
  136.     elseif (empty($_POST['TPL_city']) && $MANDATORY_FIELDS['city'] == 'y')
  137.     {
  138.         $ERR = $ERR_5035;
  139.     }
  140.     elseif (empty($_POST['TPL_prov']) && $MANDATORY_FIELDS['prov'] == 'y')
  141.     {
  142.         $ERR = $ERR_5036;
  143.     }
  144.     elseif (empty($_POST['TPL_country']) && $MANDATORY_FIELDS['country'] == 'y')
  145.     {
  146.         $ERR = $ERR_5037;
  147.     }
  148.     elseif (empty($_POST['TPL_zip']) && $MANDATORY_FIELDS['zip'] == 'y')
  149.     {
  150.         $ERR = $ERR_5038;
  151.     }
  152.     elseif (empty($_POST['TPL_phone']) && $MANDATORY_FIELDS['tel'] == 'y')
  153.     {
  154.         $ERR = $ERR_5039;
  155.     }
  156.     elseif ((empty($_POST['TPL_day']) || empty($_POST['TPL_month']) || empty($_POST['TPL_year'])) && $MANDATORY_FIELDS['birthdate'] == 'y')
  157.     {
  158.         $ERR = $ERR_5040;
  159.     }
  160.     else
  161.     {
  162.         $birth_day = (isset($_POST['TPL_day'])) ? $_POST['TPL_day'] : '';
  163.         $birth_month = (isset($_POST['TPL_month'])) ? $_POST['TPL_month'] : '';
  164.         $birth_year = (isset($_POST['TPL_year'])) ? $_POST['TPL_year'] : '';
  165.         $DATE = $birth_year . $birth_month . $birth_day;
  166.  
  167.         if ($system->SETTINGS['spam_register'] == 2)
  168.         {
  169.             $resp = recaptcha_check_answer($system->SETTINGS['recaptcha_private'], $_SERVER['REMOTE_ADDR'], $_POST['recaptcha_challenge_field'], $_POST['recaptcha_response_field']);
  170.         }
  171.  
  172.         if ($system->SETTINGS['spam_register'] == 2 && !$resp->is_valid)
  173.         {
  174.             $ERR = $MSG['752'];
  175.         }
  176.         elseif ($system->SETTINGS['spam_register'] == 1 && !$resp->check($_POST['captcha_code']))
  177.         {
  178.             $ERR = $MSG['752'];
  179.         }
  180.         elseif (strlen($_POST['TPL_nick']) < 6)
  181.         {
  182.             $ERR = $ERR_107;
  183.         }
  184.         elseif (strlen ($_POST['TPL_password']) < 6)
  185.         {
  186.             $ERR = $ERR_108;
  187.         }
  188.         elseif ($_POST['TPL_password'] != $_POST['TPL_repeat_password'])
  189.         {
  190.             $ERR = $ERR_109;
  191.         }
  192.         elseif (strlen($_POST['TPL_email']) < 5)
  193.         {
  194.             $ERR = $ERR_110;
  195.         }
  196.         elseif (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $_POST['TPL_email']))
  197.         {
  198.             $ERR = $ERR_008;
  199.         }
  200.         elseif (!CheckAge($birth_day, $birth_month, $birth_year) && $MANDATORY_FIELDS['birthdate'] == 'y')
  201.         {
  202.             $ERR = $ERR_113;
  203.         }
  204.         elseif (!empty($birth_month) && !empty($birth_day) && !empty($birth_year) && !checkdate($birth_month, $birth_day, $birth_year))
  205.         {
  206.             $ERR = $ERR_117;
  207.         }
  208.         elseif (BannedEmail($_POST['TPL_email'], $BANNEDDOMAINS))
  209.         {
  210.             $ERR = sprintf($MSG['30_0053'], $TPL_domains_alert);
  211.         }
  212.         elseif ($gateway_data['paypal_required'] == 1 && empty($_POST['TPL_pp_email']))
  213.         {
  214.             $ERR = $MSG['810'];
  215.         }
  216.         elseif ($gateway_data['authnet_required'] == 1 && (empty($_POST['TPL_authnet_id']) || empty($_POST['TPL_authnet_pass'])))
  217.         {
  218.             $ERR = $MSG['811'];
  219.         }
  220.         elseif ($gateway_data['moneybookers_required'] == 1 && (empty($_POST['TPL_moneybookers_email']) || !preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $_POST['TPL_moneybookers_email'])))
  221.         {
  222.             $ERR = $MSG['822'];
  223.         }
  224.         elseif ($gateway_data['toocheckout_required'] == 1 && (empty($_POST['TPL_toocheckout_id'])))
  225.         {
  226.             $ERR = $MSG['821'];
  227.         }
  228.         elseif ($gateway_data['worldpay_required'] == 1 && (empty($_POST['TPL_worldpay_id'])))
  229.         {
  230.             $ERR = $MSG['823'];
  231.         }
  232.         else
  233.         {
  234.             $sql = "SELECT nick FROM " . $DBPrefix . "users WHERE nick = '" . $system->cleanvars($_POST['TPL_nick']) . "'";
  235.             $res = mysql_query($sql);
  236.             $system->check_mysql($res, $sql, __LINE__, __FILE__);
  237.             if (mysql_num_rows($res) > 0)
  238.             {
  239.                 $ERR = $ERR_111; // Selected user already exists
  240.             }
  241.             $query = "SELECT email FROM " . $DBPrefix . "users WHERE email = '" . $system->cleanvars($_POST['TPL_email']) . "'";
  242.             $res = mysql_query($query);
  243.             $system->check_mysql($res, $query, __LINE__, __FILE__);
  244.             if (mysql_num_rows($res) > 0)
  245.             {
  246.                 $ERR = $ERR_115; // E-mail already used
  247.             }
  248.  
  249.             if (!isset($ERR))
  250.             {
  251.                 $TPL_nick_hidden = $_POST['TPL_nick'];
  252.                 $TPL_password_hidden = $_POST['TPL_password'];
  253.                 $TPL_name_hidden = $_POST['TPL_name'];
  254.                 $TPL_email_hidden = $_POST['TPL_email'];
  255.                 $SUSPENDED = ($system->SETTINGS['activationtype'] == 2) ? 0 : 8;
  256.                 $SUSPENDED = ($system->SETTINGS['activationtype'] == 0) ? 10 : $SUSPENDED;
  257.  
  258.                 $query = "SELECT value FROM " . $DBPrefix . "fees WHERE type = 'signup_fee'";
  259.                 $res = mysql_query($query);
  260.                 $system->check_mysql($res, $query, __LINE__, __FILE__);
  261.                 $signup_fee = mysql_result($res, 0);
  262.                 if ($system->SETTINGS['fee_type'] == 2 && $signup_fee > 0)
  263.                 {
  264.                     $SUSPENDED = 9;
  265.                     $query = "UPDATE " . $DBPrefix . "counters SET inactiveusers = inactiveusers + 1";
  266.                     $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  267.                 }
  268.                 elseif ($system->SETTINGS['activationtype'] == 1 || $system->SETTINGS['activationtype'] == 0)
  269.                 {
  270.                     $query = "UPDATE " . $DBPrefix . "counters SET inactiveusers = inactiveusers + 1";
  271.                     $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  272.                 }
  273.                 else
  274.                 {
  275.                     $query = "UPDATE " . $DBPrefix . "counters SET users = users + 1";
  276.                     $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  277.                 }
  278.                 $balance = ($system->SETTINGS['fee_type'] == 2) ? 0 : ($system->SETTINGS['fee_signup_bonus'] - $signup_fee);
  279.  
  280.                 $query = "SELECT id FROM " . $DBPrefix . "groups WHERE auto_join = 1";
  281.                 $res = mysql_query($query);
  282.                 $system->check_mysql($res, $query, __LINE__, __FILE__);
  283.                 $groups = array();
  284.                 while ($row = mysql_fetch_assoc($res))
  285.                 {
  286.                     $groups[] = $row['id'];
  287.                 }
  288.                 $hash = get_hash();
  289.                 $query = "INSERT INTO " . $DBPrefix . "users
  290.                        (nick, password, hash, name, address, city, prov, country, zip, phone, nletter, email, reg_date,
  291.                        birthdate, suspended, language, groups, balance, timecorrection, paypal_email, worldpay_id, moneybookers_email, toocheckout_id, authnet_id, authnet_pass)
  292.                        VALUES ('" . $system->cleanvars($TPL_nick_hidden) . "',
  293.                        '" . md5($MD5_PREFIX . $TPL_password_hidden) . "',
  294.                        '" . $hash . "',
  295.                        '" . $system->cleanvars($TPL_name_hidden) . "',
  296.                        '" . $system->cleanvars($_POST['TPL_address']) . "',
  297.                        '" . $system->cleanvars($_POST['TPL_city']) . "',
  298.                        '" . $system->cleanvars($_POST['TPL_prov']) . "',
  299.                        '" . $system->cleanvars($_POST['TPL_country']) . "',
  300.                        '" . $system->cleanvars($_POST['TPL_zip']) . "',
  301.                        '" . $system->cleanvars($_POST['TPL_phone']) . "',
  302.                        '" . intval($_POST['TPL_nletter']) . "',
  303.                        '" . $system->cleanvars($_POST['TPL_email']) . "',
  304.                        '" . time() . "',
  305.                        '" . ((!empty($DATE)) ? $DATE : 0) . "',
  306.                        '" . $SUSPENDED . "',
  307.                        '" . $language . "',
  308.                        '" . implode(',', $groups) . "',
  309.                        '" . $balance . "',
  310.                        " . intval($_POST['TPL_timezone']) . ",
  311.                        '" . ((isset($_POST['TPL_pp_email'])) ? $system->cleanvars($_POST['TPL_pp_email']) : '') . "',
  312.                        '" . ((isset($_POST['TPL_worldpay_id'])) ? $system->cleanvars($_POST['TPL_worldpay_id']) : '') . "',
  313.                        '" . ((isset($_POST['TPL_moneybookers_email'])) ? $system->cleanvars($_POST['TPL_moneybookers_email']) : '') . "',
  314.                        '" . ((isset($_POST['toocheckout_id'])) ? $system->cleanvars($_POST['toocheckout_id']) : '') . "',
  315.                        '" . ((isset($_POST['TPL_authnet_id'])) ? $system->cleanvars($_POST['TPL_authnet_id']) : '') . "',
  316.                        '" . ((isset($_POST['TPL_authnet_pass'])) ? $system->cleanvars($_POST['TPL_authnet_pass']) : '') . "')";
  317.                 $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  318.                 $TPL_id_hidden = mysql_insert_id();
  319.                 $query = "INSERT INTO " . $DBPrefix . "usersips VALUES
  320.                          (NULL, " . intval($TPL_id_hidden) . ", '" . $_SERVER['REMOTE_ADDR'] . "', 'first','accept')";
  321.                 $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  322.  
  323.                 $_SESSION['language'] = $language;
  324.                 $first = false;
  325.  
  326.                 if ($system->SETTINGS['activationtype'] == 0)
  327.                 {
  328.                     include $include_path . 'user_confirmation_needapproval.inc.php';
  329.                     $TPL_message = $MSG['016_a'];
  330.                 }
  331.                 elseif ($system->SETTINGS['activationtype'] == 1)
  332.                 {
  333.                     include $include_path . 'user_confirmation.inc.php';
  334.                     $TPL_message = sprintf($MSG['016'], $TPL_email_hidden, $system->SETTINGS['sitename']);
  335.                 }
  336.                 else
  337.                 {
  338.                     $USER = array('name' => $TPL_name_hidden, 'email' => $_POST['TPL_email']);
  339.                     include $include_path . 'user_approved.inc.php';
  340.                     $TPL_message = $MSG['016_b'];
  341.                 }
  342.  
  343.                 if ($system->SETTINGS['fee_type'] == 2 && $signup_fee > 0)
  344.                 {
  345.                     $_SESSION['signup_id'] = $TPL_id_hidden;
  346.                     header('location: pay.php?a=3');
  347.                     exit;
  348.                 }
  349.  
  350.                 $template->assign_vars(array(
  351.                         'L_HEADER' => sprintf($MSG['859'], $TPL_name_hidden),
  352.                         'L_MESSAGE' => $TPL_message
  353.                         ));
  354.             }
  355.         }
  356.     }
  357. }
  358.  
  359. $country = '';
  360.  
  361. $TIMECORRECTION = array();
  362. for ($i = 12; $i > -13; $i--)
  363. {
  364.     $TIMECORRECTION[$i] = $MSG['TZ_' . $i];
  365. }
  366.  
  367. $selcountry = isset($_POST['TPL_country']) ? $_POST['TPL_country'] : '';
  368. foreach ($countries as $key => $name)
  369. {
  370.     $country .= '<option value="' . $name . '"';
  371.     if ($name == $selcountry)
  372.     {
  373.         $country .= ' selected';
  374.     }
  375.     elseif ($system->SETTINGS['defaultcountry'] == $name)
  376.     {
  377.         $country .= ' selected';
  378.     }
  379.     $country .= '>' . $name . '</option>' . "\n";
  380. }
  381. $dobmonth = '<select name="TPL_month">
  382.        <option value="00"></option>
  383.        <option value="01"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '01') ? ' selected' : '') . '>' . $MSG['MON_001E'] . '</option>
  384.        <option value="02"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '02') ? ' selected' : '') . '>' . $MSG['MON_002E'] . '</option>
  385.        <option value="03"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '03') ? ' selected' : '') . '>' . $MSG['MON_003E'] . '</option>
  386.        <option value="04"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '04') ? ' selected' : '') . '>' . $MSG['MON_004E'] . '</option>
  387.        <option value="05"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '05') ? ' selected' : '') . '>' . $MSG['MON_005E'] . '</option>
  388.        <option value="06"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '06') ? ' selected' : '') . '>' . $MSG['MON_006E'] . '</option>
  389.        <option value="07"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '07') ? ' selected' : '') . '>' . $MSG['MON_007E'] . '</option>
  390.        <option value="08"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '08') ? ' selected' : '') . '>' . $MSG['MON_008E'] . '</option>
  391.        <option value="09"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '09') ? ' selected' : '') . '>' . $MSG['MON_009E'] . '</option>
  392.        <option value="10"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '10') ? ' selected' : '') . '>' . $MSG['MON_010E'] . '</option>
  393.        <option value="11"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '11') ? ' selected' : '') . '>' . $MSG['MON_011E'] . '</option>
  394.        <option value="12"' . ((isset($_POST['TPL_month']) && $_POST['TPL_month'] == '12') ? ' selected' : '') . '>' . $MSG['MON_012E'] . '</option>
  395.    </select>';
  396. $dobday = '<select name="TPL_day">
  397.        <option value=""></option>';
  398. for ($i = 1; $i <= 31; $i++)
  399. {
  400.     $j = (strlen($i) == 1) ? '0' . $i : $i;
  401.     $dobday .= '<option value="' . $j . '"' . ((isset($_POST['TPL_day']) && $_POST['TPL_day'] == $j) ? ' selected' : '') . '>' . $j . '</option>';
  402. }
  403. $dobday .= '</select>';
  404.  
  405. $selectsetting = (isset($_POST['TPL_timezone'])) ? $_POST['TPL_timezone'] : '';
  406. $time_correction = generateSelect('TPL_timezone', $TIMECORRECTION);
  407.  
  408. $template->assign_vars(array(
  409.         'ERROR' => (isset($ERR)) ? $ERR : '',
  410.         'L_COUNTRIES' => $country,
  411.         'L_DATEFORMAT' => ($system->SETTINGS['datesformat'] == 'USA') ? $dobmonth . ' ' . $dobday : $dobday . ' ' . $dobmonth,
  412.         'TOMEZONE' => $time_correction,
  413.  
  414.         //payment stuff
  415.         'PP_EMAIL' => (isset($_POST['TPL_pp_email'])) ? $_POST['TPL_pp_email'] : '',
  416.         'AN_ID' => (isset($_POST['TPL_authnet_id'])) ? $_POST['TPL_authnet_id'] : '',
  417.         'AN_PASS' => (isset($_POST['TPL_authnet_pass'])) ? $_POST['TPL_authnet_pass'] : '',
  418.         'WP_ID' => (isset($_POST['TPL_worldpay_id'])) ? $_POST['TPL_worldpay_id'] : '',
  419.         'MB_EMAIL' => (isset($_POST['TPL_moneybookers_email'])) ? $_POST['TPL_moneybookers_email'] : '',
  420.         'TC_ID' => (isset($_POST['TPL_toocheckout_id'])) ? $_POST['TPL_toocheckout_id'] : '',
  421.  
  422.         'B_ADMINAPROVE' => ($system->SETTINGS['activationtype'] == 0),
  423.         'B_NLETTER' => ($system->SETTINGS['newsletter'] == 1),
  424.         'B_FIRST' => $first,
  425.         'B_PAYPAL' => ($gateway_data['paypal_active'] == 1),
  426.         'B_AUTHNET' => ($gateway_data['authnet_active'] == 1),
  427.         'B_WORLDPAY' => ($gateway_data['worldpay_active'] == 1),
  428.         'B_TOOCHECKOUT' => ($gateway_data['toocheckout_active'] == 1),
  429.         'B_MONEYBOOKERS' => ($gateway_data['moneybookers_active'] == 1),
  430.  
  431.         'CAPTCHATYPE' => $system->SETTINGS['spam_register'],
  432.         'CAPCHA' => ($system->SETTINGS['spam_register'] == 2) ? recaptcha_get_html($system->SETTINGS['recaptcha_public']) : $spam_html,
  433.         'BIRTHDATE' => ($DISPLAYED_FIELDS['birthdate_regshow'] == 'y'),
  434.         'ADDRESS' => ($DISPLAYED_FIELDS['address_regshow'] == 'y'),
  435.         'CITY' => ($DISPLAYED_FIELDS['city_regshow'] == 'y'),
  436.         'PROV' => ($DISPLAYED_FIELDS['prov_regshow'] == 'y'),
  437.         'COUNTRY' => ($DISPLAYED_FIELDS['country_regshow'] == 'y'),
  438.         'ZIP' => ($DISPLAYED_FIELDS['zip_regshow'] == 'y'),
  439.         'TEL' => ($DISPLAYED_FIELDS['tel_regshow'] == 'y'),
  440.         'REQUIRED' => array(
  441.                     ($MANDATORY_FIELDS['birthdate'] == 'y') ? ' *' : '',
  442.                     ($MANDATORY_FIELDS['address'] == 'y') ? ' *' : '',
  443.                     ($MANDATORY_FIELDS['city'] == 'y') ? ' *' : '',
  444.                     ($MANDATORY_FIELDS['prov'] == 'y') ? ' *' : '',
  445.                     ($MANDATORY_FIELDS['country'] == 'y') ? ' *' : '',
  446.                     ($MANDATORY_FIELDS['zip'] == 'y') ? ' *' : '',
  447.                     ($MANDATORY_FIELDS['tel'] == 'y') ? ' *' : '',
  448.                     ($gateway_data['paypal_required'] == 1) ? ' *' : '',
  449.                     ($gateway_data['authnet_required'] == 1) ? ' *' : '',
  450.                     ($gateway_data['worldpay_required'] == 1) ? ' *' : '',
  451.                     ($gateway_data['toocheckout_required'] == 1) ? ' *' : '',
  452.                     ($gateway_data['moneybookers_required'] == 1) ? ' *' : ''
  453.                     ),
  454.  
  455.         'V_YNEWSL' => ((isset($_POST['TPL_nletter']) && $_POST['TPL_nletter'] == 1) || !isset($_POST['TPL_nletter'])) ? 'checked=true' : '',
  456.         'V_NNEWSL' => (isset($_POST['TPL_nletter']) && $_POST['TPL_nletter'] == 2) ? 'checked=true' : '',
  457.         'V_YNAME' => (isset($_POST['TPL_name'])) ? $_POST['TPL_name'] : '',
  458.         'V_UNAME' => (isset($_POST['TPL_nick'])) ? $_POST['TPL_nick'] : '',
  459.         'V_EMAIL' => (isset($_POST['TPL_email'])) ? $_POST['TPL_email'] : '',
  460.         'V_YEAR' => (isset($_POST['TPL_year'])) ? $_POST['TPL_year'] : '',
  461.         'V_ADDRE' => (isset($_POST['TPL_address'])) ? $_POST['TPL_address'] : '',
  462.         'V_CITY' => (isset($_POST['TPL_city'])) ? $_POST['TPL_city'] : '',
  463.         'V_PROV' => (isset($_POST['TPL_prov'])) ? $_POST['TPL_prov'] : '',
  464.         'V_POSTCODE' => (isset($_POST['TPL_zip'])) ? $_POST['TPL_zip'] : '',
  465.         'V_PHONE' => (isset($_POST['TPL_phone'])) ? $_POST['TPL_phone'] : ''
  466.         ));
  467.  
  468. include 'header.php';
  469. $template->set_filenames(array(
  470.         'body' => 'register.tpl'
  471.         ));
  472. $template->display('body');
  473. include 'footer.php';
  474. ?>
  475. [/code]
  476.  
  477. This is the Webid user_login.php
  478.  
  479. [code]
  480. <?php
  481.  
  482. include 'includes/common.inc.php';
  483.  
  484. $NOW = time();
  485.  
  486. if ($system->SETTINGS['https'] == 'y' && $_SERVER['HTTPS'] != 'on')
  487. {
  488.     $sslurl = str_replace('http://', 'https://', $system->SETTINGS['siteurl']);
  489.     $sslurl = (!empty($system->SETTINGS['https_url'])) ? $system->SETTINGS['https_url'] : $sslurl;
  490.     header('location: ' . $sslurl . 'user_login.php');
  491.     exit;
  492. }
  493.  
  494. if (isset($_POST['action']) && isset($_POST['username']) && isset($_POST['password']))
  495. {
  496.     $password = md5($MD5_PREFIX . $_POST['password']);
  497.     $query = "SELECT id, hash, suspended FROM " . $DBPrefix . "users WHERE
  498.            nick = '" . $system->cleanvars($_POST['username']) . "'
  499.            AND password = '" . $password . "'";
  500.     $res = mysql_query($query);
  501.     $system->check_mysql($res, $query, __LINE__, __FILE__);
  502.     if (mysql_num_rows($res) > 0)
  503.     {
  504.         // generate a random unguessable token
  505.         $_SESSION['csrftoken'] = md5(uniqid(rand(), true));
  506.         $user_data = mysql_fetch_assoc($res);
  507.         if ($user_data['suspended'] == 9)
  508.         {
  509.             $_SESSION['signup_id'] = $user_data['id'];
  510.             header('location: pay.php?a=3');
  511.             exit;
  512.         }
  513.  
  514.         if ($user_data['suspended'] == 1)
  515.         {
  516.             $ERR = $ERR_618;
  517.         }
  518.         elseif ($user_data['suspended'] == 8)
  519.         {
  520.             $ERR = $ERR_620;
  521.         }
  522.         elseif ($user_data['suspended'] == 10)
  523.         {
  524.             $ERR = $ERR_621;
  525.         }
  526.         else
  527.         {
  528.             $_SESSION['WEBID_LOGGED_IN']         = $user_data['id'];
  529.             $_SESSION['WEBID_LOGGED_NUMBER']     = strspn($password, $user_data['hash']);
  530.             $_SESSION['WEBID_LOGGED_PASS']         = $password;
  531.             // Update "last login" fields in users table
  532.             $query = "UPDATE " . $DBPrefix . "users SET lastlogin = '" . gmdate("Y-m-d H:i:s") . "' WHERE id = " . $user_data['id'];
  533.             $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  534.             // Remember me option
  535.             if (isset($_POST['rememberme']))
  536.             {
  537.                 $remember_key = md5(time());
  538.                 $query = "INSERT INTO " . $DBPrefix . "rememberme VALUES (" . $user_data['id'] . ", '" . $remember_key . "')";
  539.                 $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  540.                 setcookie('WEBID_RM_ID', $remember_key, time() + (3600 * 24 * 365));
  541.             }
  542.             $query = "SELECT id FROM " . $DBPrefix . "usersips WHERE USER = " . $user_data['id'] . " AND ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
  543.             $res = mysql_query($query);
  544.             $system->check_mysql($res, $query, __LINE__, __FILE__);
  545.             if (mysql_num_rows($res) == 0)
  546.             {
  547.                 $query = "INSERT INTO " . $DBPrefix . "usersips VALUES
  548.                        (NULL, '" . $user_data['id'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', 'after','accept')";
  549.                 $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  550.             }
  551.  
  552.             // delete your old session
  553.             if (isset($_COOKIE['WEBID_ONLINE']))
  554.             {
  555.                 $query = "DELETE from " . $DBPrefix . "online WHERE SESSION = '" . strip_non_an_chars($_COOKIE['WEBID_ONLINE']) . "'";
  556.                 $system->check_mysql(mysql_query($query), $query, __LINE__, __FILE__);
  557.             }
  558.  
  559.             if (in_array($user_data['suspended'], array(5, 6, 7)))
  560.             {
  561.                 header('location: message.php');
  562.                 exit;
  563.             }
  564.  
  565.             if (isset($_SESSION['REDIRECT_AFTER_LOGIN']))
  566.             {
  567.                 $URL = str_replace('\r', '', str_replace('\n', '', $_SESSION['REDIRECT_AFTER_LOGIN']));
  568.                 unset($_SESSION['REDIRECT_AFTER_LOGIN']);
  569.             }
  570.             else
  571.             {
  572.                 $URL = 'user_menu.php';
  573.             }
  574.  
  575.             header('location: ' . $URL);
  576.             exit;
  577.         }
  578.     }
  579.     else
  580.     {
  581.         $ERR = $ERR_038;
  582.     }
  583. }
  584.  
  585. $template->assign_vars(array(
  586.         'ERROR' => (isset($ERR)) ? $ERR : '',
  587.         'USER' => (isset($_POST['username'])) ? $_POST['username'] : ''
  588.         ));
  589.  
  590. include 'header.php';
  591. $template->set_filenames(array(
  592.         'body' => 'user_login.tpl'
  593.         ));
  594. $template->display('body');
  595. include 'footer.php';
  596. ?>
  597. [/code]
  598.  
  599. In the Webid login nick is the username.
RAW Paste Data