Jump to content

by_ix

Актив
  • Регистрация

  • В сети

Posts posted by by_ix

  1. Только что, SlawkA сказал:

    загружать можно обнову другим человеком

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

  2. 25 минут назад, SlawkA сказал:

    а лучше сразу загружай новую

    а зачем темы плодить с одним и тем же файлом и разным версиями?

  3. либо редачить плагин/приложение, либо возьми этот кусок кода, и вставь его в постконтейнер в нужное место. но, возможны ошибки и придётся ещё ручками допилить. поэтому, первый вариант предпочтительней. 

  4. 7 минут назад, Fixlenskiy сказал:

    Указал прямую ссылку , ничего не происходит

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

    после чего именно ошибка происходит?

  5. ·

    Edited by by_ix

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

  6. не знаю, насколько это корректно, но всё работает.

    в файл /applications/nexus/sources/Subscription/Subscription.php
    в самый конец перед последней } вставить:

    	/**
    	 * Load a subscription by member and purchase
    	 *
    	 * @param	\IPS\Member							$member		Take a guess
    	 * @param	\IPS\nexus\Purchase		$purchase	I mean it's really writing itself
    	 * @return	\IPS\nexus\Subscription
    	 * @throws \OutOfRangeException
    	 */
    	public static function loadByMemberAndPurchase( \IPS\Member $member, \IPS\nexus\Purchase $purchase )
    	{
    		try
    		{
    			$where = array( array( 'sub_purchase_id=? and sub_member_id=?', $purchase->id, $member->member_id ) );
    
    			return static::constructFromData( \IPS\Db::i()->select( '*', 'nexus_member_subscriptions', $where )->first() );
    		}
    		catch( \Exception $ex )
    		{
    			throw new \OutOfRangeException;
    		}
    	}
    
    	/**
    	 * Check if the subscription expired
    	 *
    	 * @return bool
    	 */
    	public function isExpired() : bool
    	{
    		return $this->expire AND $this->expire < \IPS\DateTime::create()->getTimestamp();
    	}
    
    	/**
    	 * Can we cancel this subscription?
    	 *
    	 * @return bool
    	 */
    	public function canCancel() : bool
    	{
    		return !$this->expire or $this->isExpired();
    	}


    в файле /applications/nexus/modules/front/subscriptions/subscriptions.php
    на 182 строке заменить:

    if ( $current = \IPS\nexus\Subscription::loadByMember( \IPS\nexus\Customer::loggedIn(), FALSE ) AND ( $current->purchase AND ( !$current->purchase->cancelled OR $current->purchase->can_reactivate ) ) )

    на:

    if ( $current = \IPS\nexus\Subscription::loadByMember( \IPS\nexus\Customer::loggedIn(), FALSE ) AND ( $current->purchase AND !$current->cancelled AND ( !$current->purchase->cancelled OR $current->purchase->can_reactivate ) ) )

    и в самый конец перед последней } вставить:

    	/**
    	 * Cancel an expired subscription so that we can purchase another subscription
    	 */
    	public function cancel()
    	{
    		/* CSRF Check */
    		\IPS\Session::i()->csrfCheck();
    
    		try
    		{
    			$purchase = \IPS\nexus\Purchase::load( \IPS\Request::i()->id );
    		}
    		catch( \OutOfRangeException $e )
    		{
    			\IPS\Output::i()->error( 'nexus_no_subs_package', '2X379/8', 404, '' );
    		}
    		try
    		{
    			$subscription = \IPS\nexus\Subscription::loadByMemberAndPurchase( \IPS\Member::loggedIn(), $purchase, FALSE );
    		}
    		catch( \OutOfRangeException $e )
    		{
    			\IPS\Output::i()->error( 'nexus_no_subs_subs', '2X379/9', 404, '' );
    		}
    
    		if( !$subscription->canCancel() )
    		{
    			\IPS\Output::i()->error( 'no_module_permission', '1X379/A', 403, '' );
    		}
    
    		foreach ( \IPS\nexus\extensions\nexus\Item\Subscription::getPurchases( \IPS\nexus\Customer::loggedIn(), $subscription->package->id, TRUE, TRUE ) as $row )
    		{
    			$row->cancelled = TRUE;
    			$row->save();
    		}
    		$subscription->cancelled = TRUE;
    		$subscription->save();
    
    		\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=nexus&module=subscriptions&controller=subscriptions', 'front', 'nexus_subscriptions' ), 'cancelled' );
    	}

    в шаблон nexus/front/subscription/row
    на 25 строке заменить:
    {{if $subscription}}
    на:
    {{if $subscription AND !$subscription->cancelled}}

    на 57 строке заменить:
    {{endif}}
    на:

    							{{elseif $subscription->canCancel()}}
    								<li>
    									<a href="{url="app=nexus&module=subscriptions&controller=subscriptions&do=cancel&id={$subscription->purchase->id}" base="front" csrf="true" )"}&ref={expression="base64_encode( \IPS\Http\Url::internal( 'app=nexus&module=subscriptions&controller=subscriptions', 'front', 'nexus_subscriptions' ) )"}" class="ipsButton ipsButton_small ipsButton_link ipsButton_link--negative ipsButton_fullWidth" data-confirm ">
    										{lang="nexus_subs_cancel"}
    									</a>
    								</li>
    							{{endif}}


    вроде, всё.
    мб, конечно, она включается теперь где-то, что более логично, чем вырезание функции под корень, но кто знает. :bk:

  7. 17 минут назад, begunok сказал:

    я походу Обнулил БАЗУ , вчера она весила 9гб, сегодня 25мб.

    и как это можно было сразу не заметить. 👍

    19 минут назад, begunok сказал:

    Может там откатят как, но не уверен, а значит потеряны труды 5 лет 

    резервных копий не делали за 5 лет ни разу? 

  8. 1 час назад, deeverbs сказал:

    злоупотребляли энтером

    по стандарту на энтер включён абзац, если включить просто перенос строки, то вполне достаточно этого и больше ничего делать не приходится. 

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

  9. 4 часа назад, the.bunin сказал:

    постконтейнер

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

  10. 3 минуты назад, umbro32111 сказал:

    image.png.a5b98a3324f138cf22acd649ab430d2f.pngimage.png.fda9b901a22ebf0c1b7997bb7e7c9e96.png

     

    ну так не туда вставили значит, а сказали, что нашли, куда надо. 

    ссылки нет, давно качал, не помню уже где. 

    просто посмотрите, как устроен виджет "кто в онлайне" в этом месте и сделайте так же.

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