[Help] модуль Робокасса для Pro Addon Cash Conversion

Статус
В этой теме нельзя размещать новые ответы.
  • Автор темы
  • Заблокирован
  • #11
Там оплата никоем образом не должна быть связана с "коммерческими подписками", т.е. не нужно в них заходить, выбирать (сумму и срок) и потом тока оплачивать...

Тут все проще "почти", как на скине... На главной стр. форума находясь, кликнуть на кнопку пополнить (или как она у кого называется) и попадаешь на страничку вода суммы на пополнение очков, затем далее и на выбор платежных систем, т.к. дугих нету - то только на единственную paypal и все.. Оплата и возврат на главную с завершенной операцией.
 
Zlobniy Babko, нутак ты и сделай как я говорил

затем далее и на выбор платежных систем

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

Тут тебе главное скрипт который будет передовать данные после оплаты, а остольное уже мелочи.
 
  • Автор темы
  • Заблокирован
  • #13
Как-то громоздко получается, но выходит приблизительно так:

шаг первый - нажать на подиски и выбрать сумму
4673af924b23.png


шаг второй выбор - выбор плтежных систем
f71a1f7c9f66.png


третий шаг - оплата
7e947005cbf1.png


четвертый шаг - редирект после оплаты (МОГУ И ОШИБИТЬСЯ)
PHP:
	// Redirect user to forumdisplay since this is a duplicate post
	if ($prevpostfound)
	{
		if ($type == 'thread')
		{
			$vbulletin->url = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$foruminfo[forumid]";
			eval(print_standard_redirect('redirect_duplicatethread', true, true));
		}
		else
		{
			// with ajax quick reply we need to use the error system
			if ($vbulletin->GPC['ajax'])
			{
				$dataman->error('duplicate_post');
				$errors = $dataman->errors;
				return;
			}
			else
			{
				$vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "t=$prevpostthreadid&goto=newpost";
				if ($post['ajaxqrfailed'])
				{
					// ajax qr failed. While this is a dupe, most likely the user didn't
					// see the initial post, so act like it went through.
					eval(print_standard_redirect('redirect_postthanks', true, true));
				}
				else
				{
					eval(print_standard_redirect('redirect_duplicatepost', true, true));
				}
			}
		}
	}

Так вот возникает вопрос...
Тот скрипт что выше... Запихиваю в php файл.
Ставлю за место редиректа на него.
Так или не так.

Возможно ли сделать подмену сумм, т.е. платит 1 рубль, а получает 100 очков?

И еще. Как ты говорил, после оплаты будут происходить запись в БД.
А вот после что будет. Т.е. линконуло после оплаты на этот скрипт, а дальше что? пустая страничка или тоже как-нить делать редирект на главную?
 
сорри я там в скрипте немножко перепутал с C++ взял ))
твой скрипт добавления в базу будет таким
Код:
<?
require_once "../includes/config.php";

$bablo= $_GET['bablo']; 
$userid = $_GET['userid']; 


$ba[]=10; // бабки 10
$ba[]=30; 
$ba[]=100;

$cr[]=100; // соответствующие кредиты 10 бабком 
$cr[]=1000; 
$cr[]=10000;

for($i=0;$i<3;$i++)
{
if($ba[$i]==$bablo){$credits=$cr[$i];}
}

$str = @mysql_query("SELECT * FROM `user` WHERE `id` = '".$userid."'");
	
	if(mysql_num_rows($str) > 0)
		{
$db = mysql_query("UPDATE `user` SET `credits` = `credits` + '".$credits."' WHERE id = '".$userid."'");
}
else {
$sql = mysql_query("INSERT INTO `user` (credits) VALUES ('".$credits."')");
}
?>

таблица `user` с ячейками id и credits
если там у тя по другому называется то переделай но помоему у тя там не id а userid было фиг сним.

кароче после оплаты посылается запрос, он должен быть скрытым тоесть запрос отправляется сервером, в робе такая функция должна быть

запрос такова вида /oplata.php?bablo=100&userid=1
тоесть скрип добавит в базу юзеру намбе 1 -10000 кредитов.
а редирект в скрипте делать не надо, так как это уже к пользователю не относится.


ps
четвертый шаг - редирект после оплаты (МОГУ И ОШИБИТЬСЯ)
ошибся
 
  • Автор темы
  • Заблокирован
  • #15
Все мозг у меня уже разорвало...
тонны кода и файлов и ХЗ где искать "скрытый запрос отправляемый сервом"...


Это ничего денек другой и снова в путь...

Вот еще вопрос.
Как сделать, т.е. перенести или скопировать (только таблицу статистики:(

e68988f84ddd.png



3c6a9b7b7dbc.png


Если не реально придется забросить идею ...

На всяк случай 2 файла прикрепил в аттаче
 

Вложения

  • forum.zip
    12,1 KB · Просмотры: 4
Тут ничего нереального нету, вот твоя сортировка, закоментируй строчку $db->free_result($topusers);
попробуй если не будет отображатся значит это то что нам нужно, затем поищи в шаблонах форума $topusers, если найдет вырежи и вставь в шаблон оплаты "пайментс" я хз как он там называтся будет.

Но оно скорее всего не буднт отображатся, в пайментс, надо будет в модулях еще дописывать но это потом

Код:
if (!empty($showgroups) AND $vbulletin->options['credits_numrich'])
	{
		switch ($vbulletin->options['credits_display'])
		{
			case 'hand':
				$sqlsort = 'credits';
				break;
			case 'bank':
				$sqlsort = 'credits_saved';
				break;
			case 'both':
				$sqlsort = '(credits + credits_saved)';
				break;
		}

		$show['topx'] = true;
		$topusers = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "user WHERE usergroupid IN (" . implode(', ', $showgroups) . ") ORDER BY $sqlsort DESC LIMIT " . $vbulletin->options['credits_numrich']);

		while ($userinfo = $db->fetch_array($topusers))
		{
			cache_permissions($userinfo, false);
			fetch_musername($userinfo);
			$userinfo = array_merge($userinfo , convert_bits_to_array($userinfo['options'] , $vbulletin->bf_misc_useroptions), convert_bits_to_array($userinfo['adminoptions'] , $vbulletin->bf_misc_adminoptions));
			$userinfo['datejoined'] = vbdate($vbulletin->options['dateformat'], $userinfo['joindate'], true);
			$show['emaillink'] = ($userinfo['showemail'] AND $vbulletin->options['displayemails'] AND (!$vbulletin->options['secureemail'] OR ($vbulletin->options['secureemail'] AND $vbulletin->options['enableemail'])) AND $vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canemailmember']);
			$show['pmlink'] = ($vbulletin->options['enablepms'] AND $vbulletin->userinfo['permissions']['pmquota'] AND ($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'] OR ($userinfo['receivepm'] AND $userinfo['permissions']['pmquota'] AND (!$userinfo['receivepmbuddies'] OR can_moderate() OR strpos(" $userinfo[buddylist] ", ' ' . $vbulletin->userinfo['userid'] . ' ') !== false))));
			$special = ($userinfo['userid'] == $vbulletin->userinfo['userid'] OR $vbulletin->bf_ugp['creditpermissions']['credit_special'] & $creditperms['creditpermissions']);
			$displayamount = ($vbulletin->options['credits_display'] != 'bank') * $userinfo['credits'] + ($vbulletin->options['credits_display'] != 'hand') * $userinfo['credits_saved'];
			$userinfo['credits'] = ( (!($vbulletin->bf_ugp['creditpermissions']['credit_locked'] & $creditperms['creditpermissions']) AND ((!($vbulletin->bf_ugp['creditpermissions']['credit_hidden'] & $vbulletin->usergroupcache[$userinfo['usergroupid']]['creditpermissions'])) OR $special) AND ($vbulletin->options['credits_public'] == 'all' OR ($vbulletin->options['credits_public'] == 'some' AND $special))) ? vb_number_format(( ($vbulletin->options['credits_neghandle'] != 'normal' AND $displayamount < 0) ? 0 : $displayamount ), $vbulletin->options['credits_decimals']) : $vbphrase['n_a'] );

			($hook = vBulletinHook::fetch_hook('credits_panel_rich')) ? eval($hook) : false;

			eval('$topentries .= "' . fetch_template('credits_toprow') . '";');
		}

		$db->free_result($topusers);
	}
 
  • Автор темы
  • Заблокирован
  • #17
Утром тоже этот кусок кода вставлял, не пошло...

прбовал закомментировать //$db->free_result($topusers);
все равно отображается...



PHP:
$topusers = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "user WHERE usergroupid IN (" . implode(', ', $showgroups) . ") ORDER BY $sqlsort DESC LIMIT " . $vbulletin->options['credits_numrich']);

$topusers - нету в шаблоне, есть только в этом же куске кода, чуть выше

Если внизу заменить:

PHP:
$db->free_result($topusers);
	}

if ($templatename != '')
{

	// build the cp nav
	require_once(DIR . '/includes/functions_user.php');
	construct_usercp_nav('paid_subscriptions');

$navbits = array('usercp.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['user_control_panel']);
$navbits[''] = $credit_title;

($hook = vBulletinHook::fetch_hook('credits_end')) ? eval($hook) : false;

construct_usercp_nav($credit_navbar);
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('$HTML = "' . fetch_template($credit_template) . '";');
eval('print_output("' . fetch_template('USERCP_SHELL') . '");');

}

/*======================================================================*\
|| ####################################################################
|| # Downloaded  Fri May 11th 2007
|| # CVS: $RCSfile$ - $Revision: 14926 $
|| ####################################################################
\*======================================================================*/
?>

на это:

PHP:
$db->free_result($topusers);
	}

$pagenav = construct_page_nav($page, $vbulletin->options['credits_logpp'], $alllogs['total'], 'credits.php?' . $vbulletin->session->vars['sessionurl'] . 'do=banking&u=' . $userinfo['userid']);
	$credit_title = $vbphrase['credits_bankingloans'];
	$credit_navbar = $credit_template = 'credits_bank';


if ($templatename != '')
{

	// build the cp nav
	require_once(DIR . '/includes/functions_user.php');
	construct_usercp_nav('paid_subscriptions');

$navbits = array('usercp.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['user_control_panel']);
$navbits[''] = $credit_title;

($hook = vBulletinHook::fetch_hook('credits_end')) ? eval($hook) : false;

construct_usercp_nav($credit_navbar);
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('$HTML = "' . fetch_template($credit_template) . '";');
eval('print_output("' . fetch_template('USERCP_SHELL') . '");');

}

/*======================================================================*\
|| ####################################################################
|| # Downloaded  Fri May 11th 2007
|| # CVS: $RCSfile$ - $Revision: 14926 $
|| ####################################################################
\*======================================================================*/
?>

То начинает что-то выресововаться, но все сводится к тому, что будет отображаться точно такое же что и credits.php?do=manage#purchase

:(:(:(
 
тогда можно подругому в папке includes создаешь скрипт 1.php
код скрипта ниже, укажи в нем базу а то через инклуд чета не хочет подрубаццо конфиг.
Код:
<?
function build()
{
	mysql_connect("localhost", "root", "")
		or die ("<FONT COLOR=\"#FF0000\"><B>ОШИБКА:</B></FONT> Невозможно соединиться с базой данных.");
	mysql_select_db("forumseo")
		or die ("<FONT COLOR=\"#FF0000\"><B>ОШИБКА:</B></FONT> Базы данных не существует.");
	mysql_query("SET NAMES cp1251");



$sql2 = mysql_query("SELECT * FROM `user` ORDER BY `points` LIMIT 0,100"); //points - может и не так ячейка называется, если это кредиты то кредит будет называтся

 while ($row = mysql_fetch_array($sql2)) 
{
$rankarray .= '
'.$row['username'].'
'.$row['email'].'
';

$sq4 = mysql_query("SELECT * FROM `usergroup` WHERE `usergroupid` = '".$row['usergroupid']."'");
$row4 = mysql_fetch_array($sq4);

$rankarray .= ''.$row4['title'].'
'.$row['id'].' //сам задаш какие надо чтоб выводило данные
'.$row['id'].'
'.$row['id'].'<br>
';
}
return $rankarray;
}

?>

потом создаешь модуль
ставишь глобал стар

Код:
require_once(DIR . '/includes/1.php');

$kod = build();

не забудь поставить включить

и в нужное место шаблона ставишь $kod и тебе выведется то что надо
тока надобудет оформить в скрипте шаблон а то оно 1 строчкой выведет
 
эту форму сделал, херню что куда втавлять приложил.

f8b4ab77d6ce.jpg


оплату гляну завтра
 

Вложения

  • отображение.rar
    199,8 KB · Просмотры: 4
  • Автор темы
  • Заблокирован
  • #20
Получилось... Все здорово...

Единственное пришлось исправить строчку $row['ipoints'] на $row['credits']
И внести стили... Все гууд)))

Пытался ввести отображение даты регистрации - не получилось...
Отображается "крякобряз"... пытался прикрутить функцию перевода в нормальный формат даты, тоже не получилось. Плюнул на это дело. У меня уже ничего не получается... То скобку забуду, то кавычку... (((
Это уже не важно!!!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху