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

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

Установил хак 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 жаль, но все равно спасибо за помощь! Может найдешь к этому хаку решение!

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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