• 09-12-2012, 23:06:44
    #10
    caqlayan adlı üyeden alıntı: mesajı görüntüle
    onun için de register.php satır: 947 ye bakmak lazım


    if ($vbulletin->GPC['a'] == 'ver2') diye yeni bir koşul oluşturup
    temadan da yeni form oluşturman lazım activateform deki formun kodlarını alarak activateform2 diye
    activateid2 göndermesi için




    ve
    if ($vbulletin->GPC['a'] == 'act')
    şunun içine activateid2 olması koşulunu eklersen hemen aktive olmaz
    Hocam tam anlayamadım ya

    Formu oluşturdum hocam kırmızıyla belirtiğim yeri biraz daha ayrıntılı anlatır mısınız ?

    Forumu oluşturdum da bu yukarıdaki kodlarda neleri değiştirip ekleyeceğim karıştırdım
  • 09-12-2012, 23:17:51
    #11
    valla ben de hiç denemedim kurcalamak lazım işte oraları olay orda
  • 09-12-2012, 23:36:01
    #12
    caqlayan adlı üyeden alıntı: mesajı görüntüle
    valla ben de hiç denemedim kurcalamak lazım işte oraları olay orda
    Hocam şurayı anladım şunu ekleyeceğiz tamamda

    if ($vbulletin->GPC['a'] == 'ver2')
    {
    // get username and password
    if (!$vbulletin->userinfo['userid'])
    {
    $vbulletin->userinfo['username'] = '';
    }
    
    if ($permissions['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview'])
    {
    $navbits = construct_navbits(array('' => $vbphrase['activate_your_account']));
    eval('$navbar = "' . fetch_template('navbar') . '";');
    }
    else
    {
    $navbar = '';
    }
    
    ($hook = vBulletinHook::fetch_hook('register_activateform') ) ? eval($hook) : false;
    
    eval('print_output("' . fetch_template('activateform2') . '");');
    }
    Aktiflik kısmını ne yapacağız
    Ben kurcaladıkça bozuluyor bir el adın gözünüzü seviyim

    // ############################### start activate ###############################
    if ($_REQUEST['do'] == 'activate')
    {
    $vbulletin->input->clean_array_gpc('r', array(
    'username'	 => TYPE_NOHTML,
    'activateid'	=> TYPE_STR,
    
    // These three are cleaned so that they will exist and not be overwritten in the next step
    
    'u'	 => TYPE_UINT,
    'a'	 => TYPE_NOHTML,
    'i'	 => TYPE_STR,
    ));
    
    if ($userinfo = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE username='" . $db->escape_string($vbulletin->GPC['username']) . "'"))
    {
    $vbulletin->GPC['u'] = $userinfo['userid'];
    $vbulletin->GPC['a'] = 'act';
    $vbulletin->GPC['i'] = $vbulletin->GPC['activateid'];
    }
    else
    {
    eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
    }
    }


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:36:01 -->-> Daha önceki mesaj 23:30:42 --

    if ($_REQUEST['do'] == 'activate')
    {
    	$vbulletin->input->clean_array_gpc('r', array(
    		'username'		=> TYPE_NOHTML,
    		'activateid'	=> TYPE_STR,
    
    		// These three are cleaned so that they will exist and not be overwritten in the next step
    
    		'u'				=> TYPE_UINT,
    		'a'				=> TYPE_NOHTML,
    		'i'				=> TYPE_STR,
    	));
    
    	if ($userinfo = $db->query_first("SELECT userid FROM " . TABLE_PREFIX . "user WHERE username='" . $db->escape_string($vbulletin->GPC['username']) . "'"))
    	{
    		$vbulletin->GPC['u'] = $userinfo['userid'];
    		$vbulletin->GPC['a'] = 'act';
    		$vbulletin->GPC['i'] = $vbulletin->GPC['activateid'];
    	}
    	else
    	{
    		eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
    	}
    }
    
    if ($vbulletin->GPC['a'] == 'act')
    {
    	$vbulletin->input->clean_array_gpc('r', array(
    		'u'		=> TYPE_UINT,
    		'i'		=> TYPE_STR,
    	));
    
    	$userinfo = verify_id('user', $vbulletin->GPC['u'], 1, 1);
    
    	($hook = vBulletinHook::fetch_hook('register_activate_start')) ? eval($hook) : false;
    
    	if ($userinfo['usergroupid'] == 3)
    	{
    		// check valid activation id
    		$user = $db->query_first("
    			SELECT activationid, usergroupid, emailchange
    			FROM " . TABLE_PREFIX . "useractivation
    			WHERE activationid = '" . $db->escape_string($vbulletin->GPC['i']) . "'
    				AND userid = $userinfo[userid]
    				AND type = 0
    		");
    		if (!$user OR $vbulletin->GPC['i'] != $user['activationid'])
    		{
    			// send email again
    			eval(standard_error(fetch_error('invalidactivateid', $vbulletin->session->vars['sessionurl'], $vbulletin->options['contactuslink'])));
    		}
    
    		// delete activationid
    		$db->query_write("DELETE FROM " . TABLE_PREFIX . "useractivation WHERE userid=$userinfo[userid] AND type=0");
    
    		/*
    		This shouldn't be needed any more since we handle this during registration
    		if ($userinfo['coppauser'] OR ($vbulletin->options['moderatenewmembers'] AND !$userinfo['posts']))
    		{
    			// put user in moderated group
    			$user['usergroupid'] = 4;
    		}*/
    
    		if (empty($user['usergroupid']))
    		{
    			$user['usergroupid'] = 2; // sanity check
    		}
    
    		// ### DO THE UG/TITLE UPDATE ###
    
    		$getusergroupid = iif($userinfo['displaygroupid'] != $userinfo['usergroupid'], $userinfo['displaygroupid'], $user['usergroupid']);
    
    		$user_usergroup =& $vbulletin->usergroupcache["$user[usergroupid]"];
    		$display_usergroup =& $vbulletin->usergroupcache["$getusergroupid"];
    
    		// init user data manager
    		$userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD);
    		$userdata->set_existing($userinfo);
    		$userdata->set('usergroupid', $user['usergroupid']);
    		$userdata->set_usertitle(
    			$user['customtitle'] ? $user['usertitle'] : '',
    			false,
    			$display_usergroup,
    			($user_usergroup['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canusecustomtitle']) ? true : false,
    			($user_usergroup['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cancontrolpanel']) ? true : false
    		);
    
    		require_once(DIR . '/includes/functions_ranks.php');
    		if ($user['userid'] == $vbulletin->userinfo['userid'])
    		{
    			$vbulletin->userinfo['usergroupid'] = $user['usergroupid'];
    			$vbulletin->userinfo['displaygroupid'] = $user['usergroupid'];
    		}
    
    		// see 3.6.x bug #176
    		//$userinfo['usergroupid'] = $user['usergroupid'];
    
    		($hook = vBulletinHook::fetch_hook('register_activate_process')) ? eval($hook) : false;
    
    		if ($userinfo['coppauser'] OR ($vbulletin->options['moderatenewmembers'] AND !$userinfo['posts']))
    		{
    			// put user in moderated group
    			$userdata->save();
    			eval(standard_error(fetch_error('moderateuser', $userinfo['username'], $vbulletin->options['forumhome'], $vbulletin->session->vars['sessionurl_q']), '', false));
    		}
    		else
    		{
    			// activate account
    			$userdata->save();
    
    			$username = unhtmlspecialchars($userinfo['username']);
    			if (!$user['emailchange'])
    			{
    				if ($vbulletin->options['welcomemail'])
    				{
    					eval(fetch_email_phrases('welcomemail'));
    					vbmail($userinfo['email'], $subject, $message);
    				}
    
    				$userdata->send_welcomepm();
    			}
    
    			if ($user['emailchange'])
    			{
    				eval(standard_error(fetch_error('emailchanged', htmlspecialchars_uni($userinfo['email'])), '', false));
    			}
    			else
    			{
    				eval(standard_error(fetch_error('registration_complete', $userinfo['username'], $vbulletin->session->vars['sessionurl'], $vbulletin->options['bburl'] . '/' . $vbulletin->options['forumhome'] . '.php'), '', false));
    			}
    		}
    	}
    	else
    	{
    		if ($userinfo['usergroupid'] == 4)
    		{
    			// In Moderation Queue
    			eval(standard_error(fetch_error('activate_moderation'), '', false));
    		}
    		else
    		{
    			// Already activated
    			eval(standard_error(fetch_error('activate_wrongusergroup')));
    		}
    	}
    
    }
    Kodun tamamı budur activateid aktif olunca aktif oluyor ben hem activateid hemde activateid2 aktif olunca hesabın aktif olmasını istiyorum nasıl yapabiliriz bunu :S
  • 10-12-2012, 18:39:28
    #13
    Yardımcı olabilir misiniz arkadaşlar ?

    Sadece her iki aktivasyon olmadan hesabın aktif olmasını istemiyorum 1'i olunca hesap aktif oluyor
  • 10-12-2012, 18:58:34
    #14
    temalarda activateform diye arat bi şablon çıkacak
    orda
    <input type="text" class="bginput" size="50" name="activateid" />
    var
    altına <input type="text" class="bginput" size="50" name="activateid2" />
    diye bi input daha ekle

    giriş inputlarında da ekle
    'username' => TYPE_NOHTML,
    'activateid' => TYPE_STR,
    'activateid2' => TYPE_STR,

    sonra kendi kontrol fonksiyonunu ekle içine. kontrol gerçekleşmezse die ekle devam etmesin