Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

Правильно ли сделан код?

Recommended Posts

		$form->add( new \IPS\Helpers\Form\Password( 'password', '', TRUE, array(  'minLength' => 3, 'maxLength' => 15 ) ) );
	$form->add( new \IPS\Helpers\Form\Password( 'password_confirm', '', TRUE, array( 'confirm' => 'password', 'minLength' => 3, 'maxLength' => 15 ) ) );

Что это за пароль? Для чего он нужен?

 

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

 

Я же писал, ищите шаблон, где выводится кнопка и добавьте новый параметр.

 

Missing argument 2 for IPS\Theme\theme_sharedstats_front_bnet_accountView(), called in /var/www/dev/data/www/dev.wc3.games/system/Theme/Dev/Template.php on line 171 and defined

Share this post


Link to post
Share on other sites

Нужно еще в php-файле добавить, где этот шаблон вызывается.

 

Например, есть шаблон myTemplate

<ips:template parameters="$param" />

 

Добавляете новый параметр

<ips:template parameters="$param, $new" />

 

Ищите, где шаблон вызывается

$param = true;
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('group', 'app')->myTemplate($param);

 

Добавляете параметр

$param = true;
$new = 'test';
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('group', 'app')->myTemplate($param, $new);

Share this post


Link to post
Share on other sites

С подключением разобрался, а запрос мне где выполнять, там в самом начале файла где шаблон подключается или в самой функции? Только в самой функции вроде не работает. Если там выполнить запрос, а потом переменную вставить в функцию, будет работать?

Share this post


Link to post
Share on other sites

а запрос мне где выполнять,

В php.

Share this post


Link to post
Share on other sites

Вот я объявил новые переменные в manage (копия из функции addpvpgn) так же не правильно? Можно в одном месте использовать, потом вставлять по всему файлу, только я не знаю как. Ну и даже так не работает почему-то ((((

 

	protected function manage()
{
	$db = \IPS\sharedstats\DB::get();
	$accountPvPGN = $db::i('stats')->select('COUNT(*)', 'stats_forum_connections', [['member_id=?', \IPS\Member::loggedIn()->member_id], ['server=?', 'Server.WC3.Games']])->first() != 0;
	\IPS\Output::i()->title = \IPS\Member::loggedIn() ->language() ->addToStack('menu__sharedstats_connected_accounts');
	\IPS\Output::i()->breadcrumb[] = array( NULL, \IPS\Output::i()->title
	);
	\IPS\Output::i()->output = \IPS\Theme::i()
		->getTemplate('bnet', 'sharedstats')
		->accountView(\IPS\Member::loggedIn(),$accountPvPGN);
}

Share this post


Link to post
Share on other sites

Покажите код шаблона accountView

Share this post


Link to post
Share on other sites
<ips:template parameters="$member, $accountPvPGN" />

<div class="ipsPad ipsType_pageTitle">{lang="sharedstats_bnetacc_title"}</div>

<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsSpacer_both">
 <li>
 <a href='{url="app=sharedstats&module=stats&controller=BNetAccount&do=add" seoTemplate="sharedstats_bnetaccount_add" csrf="1"}'
    class="ipsButton ipsButton_positive ipsPos_right"
    data-ipsdialog="" data-ipsdialog-modal="true" data-ipsdialog-title="{lang='sharedstats_bnetacc_add'}">
     <i class="fa fa-plus"></i>  {lang="sharedstats_bnetacc_add"}
 </a>
 </li>
 {{if \IPS\Settings::i()->pvpgn_enabled OR !$accountPvPGN }}
   <li class="ipsToolList_primaryAction">
   <a href='{url="app=sharedstats&module=stats&controller=BNetAccount&do=addpvpgn" seoTemplate="sharedstats_bnetaccount_addpvpgn" csrf="1"}'
      class="ipsButton ipsButton_positive ipsPos_right"
      data-ipsdialog="" data-ipsdialog-modal="true" data-ipsdialog-title="{lang='sharedstats_pvpgn_account_add'}">
       <i class="fa fa-plus"></i>  {lang="sharedstats_pvpgn_account_add"}
   </a>
   </li>
 {{endif}}
</ul>

<div class="ipsClearfix"></div>

{{if $member->connected_accounts['connected'] === 0}}
   <p class="ipsType_light ipsType_center">{lang="sharedstats_bnetacc_no_connection"}</p>
{{else}}
 <div class="ipsPad ipsSpacer_top">
   <ol class='ipsDataList' itemscope itemtype="http://schema.org/ItemList">
     <meta itemprop="itemListOrder" content="Descending">
     {{foreach $member->connected_accounts['accounts'] as $k => $acc}}
       <li class="ipsDataItem {{if $acc['status'] === 'pending'}}ipsDataItem_warning{{endif}}" itemprop="itemListElement">
         <dl class="ipsDataItem_stats ipsDataItem_size1 ipsPos_left">
           {{if $acc['active']}}
             <strong data-ipstooltip="" title="{lang='active'}" class='ipsOnlineStatus ipsOnlineStatus_online'><i class='fa fa-circle'></i></strong>
           {{else}}
             <strong data-ipstooltip="" title="{lang='inactive'}" class='ipsOnlineStatus ipsOnlineStatus_offline'><i class='fa fa-circle'></i></strong>
           {{endif}}
         </dl>

         <dl class='ipsDataItem_stats ipsDataItem_size9 ipsPos_left'>
           <dt class='ipsType_left ipsDataItem_stats_number'>{$acc['name']}</dt>
           <dd class='ipsType_left ipsDataItem_stats_type'>{$acc['server']}</dd>
         </dl>

         <dl class='ipsDataItem_stats ipsPos_left'>
           <dt class='ipsType_left ipsDataItem_stats_number ipsType_minorHeading'>
             {{if $acc['status'] === 'pending'}}Pending{{else}}Confirmed{{endif}}
           </dt>
           <dd class='ipsType_left ipsDataItem_stats_type'>Status</dd>
         </dl>
         <dl class='ipsDataItem_stats ipsPos_right'>
           {{if $acc['status'] === 'pending'}}
             <a href='{url="app=sharedstats&module=stats&controller=BNetAccount&do=verify&id={$acc['id']}" seoTemplate="sharedstats_bnetaccount_verify"}'
                class="ipsButton ipsButton_tiny ipsButton_light" data-ipstooltip="" title="{lang='verify'}"
                data-ipsdialog="" data-ipsdialog-modal="" data-ipsdialog-title="{lang='sharedstats_bnetacc_verify'}">
               <i class="fa fa-check"></i>
             </a>
             <a href='{url="app=sharedstats&module=stats&controller=BNetAccount&do=cancel&id={$acc['id']}"}'
                data-confirm
                class="ipsButton ipsButton_tiny ipsButton_light" data-ipstooltip="" title="{lang='cancel_acc_connection'}">
               <i class="fa fa-times"></i>
             </a>
           {{endif}}
         </dl>
         <div class="ipsClearfix"></div>
       </li>
     {{endforeach}}
   </ol>
 </div>
{{endif}}

Share this post


Link to post
Share on other sites

  {{if \IPS\Settings::i()->pvpgn_enabled OR !$accountPvPGN }}

должно быть AND

  {{if \IPS\Settings::i()->pvpgn_enabled AND !$accountPvPGN }}

Share this post


Link to post
Share on other sites

ой, точно. А то, что, один и тот же код в двух местах вызван, это норм?

Edited by TemKa_SD

Share this post


Link to post
Share on other sites

ой, точно. А то, что, один и тот же код в двух местах вызван, это норм?

Создайте метод

Share this post


Link to post
Share on other sites

У Вас там где-то был класс, расширяющий \IPS\Member

Добавьте туда метод

public function someName()
{
// Код
}

 

После используйте \IPS\Member::loggedIn()->someName()

Share this post


Link to post
Share on other sites

Что не так?

post-60255-0-48162000-1534513591_thumb.png

post-60255-0-47036200-1534513595_thumb.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...