Перейти к контенту

Рекомендуемые сообщения

Установил хак Gender Mod под IB 1.1.2 (определение пола участника)

Все работает просто супер! ... но возник такой вопрос, как вынести данное поле для анкетирования в форму регистрации для пользователей?

Ссылка на комментарий
Поделиться на других сайтах

какой именно у тебя Gender Mod? ...они разные есть..

 

чтобы знать как в нём пишется пол в базу данных ( 1/0, m/f, male/female....)

Ссылка на комментарий
Поделиться на других сайтах

а вообще пофик... попробуй так

 

в файле Sources/Register.php

найди:

 /*****************************************************/
// show_reg_form
// ------------------
// Simply shows the registration form, no - really! Thats
// all it does. It doesn't make the tea or anything.
// Just the registration form, no more - no less.
// Unless your server went down, then it's just useless.
/*****************************************************/   
  
  function show_reg_form() {
   global $ibforums, $DB, $std;
   
   if ($ibforums->vars['no_reg'] == 1)
   {
    $std->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' ) );
   }
   
   if ($ibforums->vars['reg_auth_type'])
   {
    $ibforums->lang['std_text'] .= "<br>" . $ibforums->lang['email_validate_text'];
   }
   
   $this->page_title = $ibforums->lang['registration_form'];
   $this->nav        = array( $ibforums->lang['registration_form'] );

   $this->output    .= $this->html->ShowForm( array( 'TEXT' => $ibforums->lang['std_text'], 'RULES' => $ibforums->lang['click_wrap'] ) );
  
  }

и замени на

 /*****************************************************/
// show_reg_form
// ------------------
// Simply shows the registration form, no - really! Thats
// all it does. It doesn't make the tea or anything.
// Just the registration form, no more - no less.
// Unless your server went down, then it's just useless.
/*****************************************************/   
  
  function show_reg_form() {
   global $ibforums, $DB, $std;
   
   if ($ibforums->vars['no_reg'] == 1)
   {
    $std->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' ) );
   }
   
   if ($ibforums->vars['reg_auth_type'])
   {
    $ibforums->lang['std_text'] .= "<br>" . $ibforums->lang['email_validate_text'];
   }
   
   $this->page_title = $ibforums->lang['registration_form'];
   $this->nav        = array( $ibforums->lang['registration_form'] );

   $this->output    .= $this->html->ShowForm( array( 'TEXT' => $ibforums->lang['std_text'], 'RULES' => $ibforums->lang['click_wrap'] ) );
  
  }
//*******************************************************************/
 //| gender
 //*******************************************************************/
   $sex_display[] = "<option value='' selected>Без коментариев</option>\n\r";
    $sex_display[] = "<option value='male'>Муж</option>\n\r";
   $sex_display[] = "<option value='female'>Жен</option>\n\r";
   $sex = implode(" ", $sex_display);

$this->output = preg_replace( "/<!-- Sex -->/" , "$sex" , $this->output );
$this->output = preg_replace( "/<!-- SX -->/" , "$show_sex" , $this->output );

 

дальше найди:

function create_account() {
global $ibforums, $std, $DB, $print;

if ($ibforums->vars['no_reg'] == 1)
   {
    $std->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' ) );
   }

// Trim off the username and password

$in_username = trim($ibforums->input['UserName']);
$in_password = trim($ibforums->input['PassWord']);
$in_email    = strtolower( trim($ibforums->input['EmailAddress']) );

$ibforums->input['EmailAddress_two'] = strtolower( trim($ibforums->input['EmailAddress_two']) );

if ($ibforums->input['EmailAddress_two'] != $in_email)
{
 $std->Error( array( 'LEVEL' => 1, 'MSG' => 'email_addy_mismatch' ) );
}

замени на:

function create_account() {
global $ibforums, $std, $DB, $print;

if ($ibforums->vars['no_reg'] == 1)
   {
    $std->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' ) );
   }

// Trim off the username and password

$in_username = trim($ibforums->input['UserName']);
$in_password = trim($ibforums->input['PassWord']);
$in_email    = strtolower( trim($ibforums->input['EmailAddress']) );
$in_sex = trim($ibforums->input['sex']); 
$ibforums->input['EmailAddress_two'] = strtolower( trim($ibforums->input['EmailAddress_two']) );

if ($ibforums->input['EmailAddress_two'] != $in_email)
{
 $std->Error( array( 'LEVEL' => 1, 'MSG' => 'email_addy_mismatch' ) );
}

 

дальше ищи:

//+--------------------------------------------
//| Find the highest member id, and increment it
//| auto_increment not used for guest id 0 val.
//+--------------------------------------------

$DB->query("SELECT MAX(id) as new_id FROM ibf_members");
$r = $DB->fetch_row();

$member_id = $r['new_id'] + 1;

$member = array(
     'id'              => $member_id,
     'name'            => $in_username,
     'password'        => $in_password,
     'email'           => $in_email,
     'mgroup'          => $mem_group,
     'posts'           => 0,
     'avatar'          => 'noavatar',
     'joined'          => time(),
     'ip_address'      => $ibforums->input['IP_ADDRESS'],
     'time_offset'     => $ibforums->vars['time_offset'],
     'view_sigs'       => 1,
     'email_pm'        => 1,
     'view_img'        => 1,
     'view_avs'        => 1,
     'allow_post'      => 1,
     'view_pop'        => 1,
     'vdirs'           => "in:Inbox|sent:Sent Items",
     'msg_total'       => 0,
     'new_msg'         => 0,
      );

и замени на:

//+--------------------------------------------
//| Find the highest member id, and increment it
//| auto_increment not used for guest id 0 val.
//+--------------------------------------------

$DB->query("SELECT MAX(id) as new_id FROM ibf_members");
$r = $DB->fetch_row();

$member_id = $r['new_id'] + 1;

$member = array(
     'id'              => $member_id,
     'name'            => $in_username,
     'password'        => $in_password,
     'email'           => $in_email,
     'mgroup'          => $mem_group,
     'posts'           => 0,
     'avatar'          => 'noavatar',
     'joined'          => time(),
     'ip_address'      => $ibforums->input['IP_ADDRESS'],
     'time_offset'     => $ibforums->vars['time_offset'],
     'view_sigs'       => 1,
     'email_pm'        => 1,
     'view_img'        => 1,
     'view_avs'        => 1,
     'allow_post'      => 1,
     'view_pop'        => 1,
     'vdirs'           => "in:Inbox|sent:Sent Items",
     'sex'            => $in_sex,
     'msg_total'       => 0,
     'new_msg'         => 0,
      );

 

открой Skin/S*/skin_register.php

найди:

function ShowForm($data) {
global $ibforums;
return <<<EOF
  <script language='javascript'>
  <!--
  function Validate() {
      // Check for Empty fields
      if (document.REG.UserName.value == "" || document.REG.PassWord.value == "" || document.REG.PassWord_Check.value == "" || document.REG.EmailAddress.value == "") {
          alert ("{$ibforums->lang['js_blanks']}");
          return false;
      }

      // Have we checked the checkbox?

      if (document.REG.agree.checked == true) {
          return true;
      } else {
          alert ("{$ibforums->lang['js_no_check']}");
          return false;
      }
  }
  //-->
  </script>
   <br>
   <form action="{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}" method="post" name='REG' onSubmit='return Validate()'>
   <input type='hidden' name='act' value='Reg'>
   <input type='hidden' name='CODE' value='02'>
   <table cellpadding='0' cellspacing='4' border='0' width='{$ibforums->skin['tbl_width']}' align='center'>
   <tr>
      <td valign='middle' align='left'>{$ibforums->lang['reg_header']}</b><br><br>{$data['TEXT']}</td>
   </tr>
   </table>
   <br>
   <table cellpadding='0' cellspacing='0' border='0' width='{$ibforums->skin['tbl_width']}' bgcolor='{$ibforums->skin['tbl_border']}' align='center'>
      <tr>
          <td>
              <table cellpadding='3' cellspacing='1' border='0' width='100%'>
              <tr>
              <td valign='left' colspan='2' id='titlemedium'>{$ibforums->lang['complete_form']}</td>
              </tr>
              <tr>
              <td id='row1' width='40%'>{$ibforums->lang['user_name']}</td>
              <td id='row1'><input type='text' size='32' maxlength='64' name='UserName' class='forminput'></td>
              </tr>
              <tr>
              <td id='row2' width='40%'>{$ibforums->lang['pass_word']}</td>
              <td id='row2'><input type='password' size='32' maxlength='32' name='PassWord' class='forminput'></td>
              </tr>
              <tr>
              <td id='row2' width='40%'>{$ibforums->lang['re_enter_pass']}</td>
              <td id='row2'><input type='password' size='32' maxlength='32' name='PassWord_Check' class='forminput'></td>
              </tr>
              <tr>
              <td id='row1' width='40%'>{$ibforums->lang['email_address']}</td>
              <td id='row1'><input type='text' size='32' maxlength='50' name='EmailAddress' class='forminput'></td>
              </tr>
              <tr>
              <td id='row1' width='40%'>{$ibforums->lang['email_address_two']}</td>
              <td id='row1'><input type='text' size='32' maxlength='50' name='EmailAddress_two' class='forminput'></td>
              </tr>
              </table>
          </td>
      </tr>
   </table>
   <br>
   <table cellpadding='0' cellspacing='0' border='0' width='{$ibforums->skin['tbl_width']}' bgcolor='{$ibforums->skin['tbl_border']}' align='center'>
      <tr>
          <td>
              <table cellpadding='3' cellspacing='1' border='0' width='100%'>
              <tr>
              <td  valign='left' id='titlemedium'>{$ibforums->lang['terms_service']}</td>
              </tr>
              <tr>
              <td id='row1' align='center'>{$ibforums->lang['terms_service_text']}<br>
                  <textarea cols='75' rows='9' wrap='soft' name='Post' class='textinput' style='font-size:10px'>{$data[RULES]}</textarea>
                  <br><br><b>{$ibforums->lang['agree_submit']}</b> <input type='checkbox' name='agree' value='1'>
              </td>
              </tr>
              <tr>
              <td id='row2' align='center'>
              <input type="submit" value="{$ibforums->lang['submit_form']}" class='forminput'>
              </td></tr></table>
              </td></tr></table>
              </form>
EOF;
}

и замени на:

function ShowForm($data) {
global $ibforums;
return <<<EOF
  <script language='javascript'>
  <!--
  function Validate() {
      // Check for Empty fields
      if (document.REG.UserName.value == "" || document.REG.PassWord.value == "" || document.REG.PassWord_Check.value == "" || document.REG.EmailAddress.value == "") {
          alert ("{$ibforums->lang['js_blanks']}");
          return false;
      }

      // Have we checked the checkbox?

      if (document.REG.agree.checked == true) {
          return true;
      } else {
          alert ("{$ibforums->lang['js_no_check']}");
          return false;
      }
  }
  //-->
  </script>
   <br>
   <form action="{$ibforums->vars['board_url']}/index.{$ibforums->vars['php_ext']}" method="post" name='REG' onSubmit='return Validate()'>
   <input type='hidden' name='act' value='Reg'>
   <input type='hidden' name='CODE' value='02'>
   <table cellpadding='0' cellspacing='4' border='0' width='{$ibforums->skin['tbl_width']}' align='center'>
   <tr>
      <td valign='middle' align='left'>{$ibforums->lang['reg_header']}</b><br><br>{$data['TEXT']}</td>
   </tr>
   </table>
   <br>
   <table cellpadding='0' cellspacing='0' border='0' width='{$ibforums->skin['tbl_width']}' bgcolor='{$ibforums->skin['tbl_border']}' align='center'>
      <tr>
          <td>
              <table cellpadding='3' cellspacing='1' border='0' width='100%'>
              <tr>
              <td valign='left' colspan='2' id='titlemedium'>{$ibforums->lang['complete_form']}</td>
              </tr>
              <tr>
              <td id='row1' width='40%'>{$ibforums->lang['user_name']}</td>
              <td id='row1'><input type='text' size='32' maxlength='64' name='UserName' class='forminput'></td>
              </tr>
              <tr>
              <td id='row2' width='40%'>{$ibforums->lang['pass_word']}</td>
              <td id='row2'><input type='password' size='32' maxlength='32' name='PassWord' class='forminput'></td>
              </tr>
              <tr>
              <td id='row2' width='40%'>{$ibforums->lang['re_enter_pass']}</td>
              <td id='row2'><input type='password' size='32' maxlength='32' name='PassWord_Check' class='forminput'></td>
              </tr>
              <tr>
              <td id='row1' width='40%'>{$ibforums->lang['email_address']}</td>
              <td id='row1'><input type='text' size='32' maxlength='50' name='EmailAddress' class='forminput'></td>
              </tr>
              <tr>
              <td id='row1' width='40%'>{$ibforums->lang['email_address_two']}</td>
              <td id='row1'><input type='text' size='32' maxlength='50' name='EmailAddress_two' class='forminput'></td>
              </tr>
               <tr>
              <td id='row1' width='40%'><b>Паш пол<font color='red'>*</font></b></td>
              <td id='row1'><select name="sex" class="ibcSelect" onChange="do_sex('http://АДРЕС.ру/forum/style_images/1/')"><!-- Sex --></select>   <!-- SX --></td>
              </tr>
              </table>
          </td>
      </tr>
   </table>
   <br>
   <table cellpadding='0' cellspacing='0' border='0' width='{$ibforums->skin['tbl_width']}' bgcolor='{$ibforums->skin['tbl_border']}' align='center'>
      <tr>
          <td>
              <table cellpadding='3' cellspacing='1' border='0' width='100%'>
              <tr>
              <td  valign='left' id='titlemedium'>{$ibforums->lang['terms_service']}</td>
              </tr>
              <tr>
              <td id='row1' align='center'>{$ibforums->lang['terms_service_text']}<br>
                  <textarea cols='75' rows='9' wrap='soft' name='Post' class='textinput' style='font-size:10px'>{$data[RULES]}</textarea>
                  <br><br><b>{$ibforums->lang['agree_submit']}</b> <input type='checkbox' name='agree' value='1'>
              </td>
              </tr>
              <tr>
              <td id='row2' align='center'>
              <input type="submit" value="{$ibforums->lang['submit_form']}" class='forminput'>
              </td></tr></table>
              </td></tr></table>
              </form>
EOF;
}

 

ну и вроде того всё...

Ссылка на комментарий
Поделиться на других сайтах

Вот хак!

Matrix, то что ты предлагаешь не подходит :D жаль, но все равно спасибо за помощь! Может найдешь к этому хаку решение!

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.