Jump to content

Загрузка вложений

Featured Replies

  • Author
comment_171968

Desti так в том то и дело, что приложение из магазина) Раньше просто можно было, кто клиент, установить себе и скачать уже. Может они в последней версии это пофиксили, чтобы не распространяли и СП не проводили?

comment_171972
10 минут назад, the.bunin сказал:

чтобы не распространяли и СП не проводили

Именно так. Поэтому предлагаю в app/core/modules/admin/applications/applications.php заменить

        if( $application->marketplace_id )
        {
            \IPS\Output::i()->error( 'application_cannot_build_marketplace', '2C133/Y', 403, '' );
        }

на 

        if( $application->marketplace_id)
        {
        //    \IPS\Output::i()->error( 'application_cannot_build_marketplace', '2C133/Y', 403, '' );
        }

и спокойно скачивать программки (ну и делиться ими, конечно :) ). 

Проверить не могу, сижу на 4.4.

 

  • Author
comment_171976

Desti реально перепилили....сейчас даже нет таких строчек, вот содержимое

public function buildAll()
	{
		if ( !\IPS\IN_DEV )
		{
			\IPS\Output::i()->error( 'not_in_dev', '2C133/M', 403, '' );
		}
		
		$form = $this->_buildForm( 'core' );
		$form->add( new \IPS\Helpers\Form\YesNo( 'developer_build_submit', (bool) \IPS\IPS_PASSWORD ) );
		
		if ( $values = $form->values() )
		{
			foreach ( \IPS\Application::applications() as $application )
			{
			    /* Skip building Marketplace applications */
			    if( $application->marketplace_id )
                {
                    continue;
                }

				if ( $values['developer_build_type'] === 'new' )
				{
					$application->assignNewVersion( $values['versions_long'], $values['versions_human'] );
				}
				
				try
				{
					$application->build();
				}
				catch ( \Exception $e )
				{
					\IPS\Output::i()->error( $e->getMessage(), '' );
				}
			}
			
			if ( $values['developer_build_submit'] )
			{
				\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=applications&controller=applications&do=submit' )->csrf() );
			}
			else
			{				
				\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=applications&controller=applications' ), 'application_now_built' );
			}
		}
		
		\IPS\Output::i()->output = $form;
	}

 

Хотя не, этого мало, проще выложу весь файл целиком

applications.php

  • Author
comment_171979
13 минут назад, Desti сказал:

Это в функции 

public function download()

Топчик, всё получилось и заработало :) 

comment_171980

Осталось придумать, как качать файлики без этой дурацкой системы инсталляции. 

  • Author
comment_171981
1 минуту назад, Desti сказал:

Осталось придумать, как качать файлики без этой дурацкой системы инсталляции. 

Осталось придумать, как пофиксить мою проблему с вложениями 😂

comment_171982

С этим надо долго ковыряться... У вас явно гадит какой-то плагин или приложение (или их останки). 

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

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

Вот теперь я не понял... А как вы пытались его вытащить? Я попробовал поставить бесплатное приложение из магаза, но на нем не появляется "скачать". 

  • Author
comment_171990

Desti из админки можно скачать только приложения

admin/?app=core&module=applications&controller=applications&do=download&appKey=НазваниеAPP

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

comment_171992

Написал вчера плагинчик, который сразу сохраняет загружаемый файл в папочку, но для его работы надо код править, ипсовцы защитились и сделали код ненаследуемым, хак не повесишь. После долгих раздумий оказалось, что самое простое - удалять привязку к маркетплейсу из базы. Приложение начинает вести себя как обычное, можно скачивать, перестраивать и т.п. Еще оказалось, что автор devtools (CJ) прогнулся и добавил ограничение на построение папки dev для маркетных приложений. Пришлось почикать и это..

  • 1 year later...
comment_191048
В 30.08.2021 в 03:40, Mano сказал:

Desti из админки можно скачать только приложения

admin/?app=core&module=applications&controller=applications&do=download&appKey=НазваниеAPP

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

 

В 29.08.2021 в 15:24, Desti сказал:

Именно так. Поэтому предлагаю в app/core/modules/admin/applications/applications.php заменить

        if( $application->marketplace_id )
        {
            \IPS\Output::i()->error( 'application_cannot_build_marketplace', '2C133/Y', 403, '' );
        }

на 

        if( $application->marketplace_id)
        {
        //    \IPS\Output::i()->error( 'application_cannot_build_marketplace', '2C133/Y', 403, '' );
        }

и спокойно скачивать программки (ну и делиться ими, конечно :) ). 

Проверить не могу, сижу на 4.4.

 

Что-то на 4.7.6 оба способа кажутся нерабочими! :( Первый, где по ссылке скачивать, не пашет, так как просит Downloads need developer mode. Но ладно, в файле applications.php я закрыл с помощью // строки про dev, но даёт скачать только в режиме Download Without Building, при этом в этом режиме после скачивания появляются изменения в файлах приложения почему-то. В режимах Rebuild 1.0.1 и Build New Version не даёт качать, так как 
Error: Failed opening required '/home/nginx/domains/*****/public/forum/applications/*****/dev/lang.php' (include_path='.:/usr/share/pear:/usr/share/php:/usr/share/pear:/usr/share/php') (0)
#0 /home/nginx/domains/*****/public/forum/system/Application/Application.php(3195): IPS\_Application->buildLanguages()
#1 /home/nginx/domains/*****/public/forum/applications/core/modules/admin/applications/applications.php(718): IPS\_Application->build()
#2 /home/nginx/domains/*****/public/forum/system/Dispatcher/Controller.php(107): IPS\core\modules\admin\applications\_applications->download()
#3 /home/nginx/domains/*****/public/forum/system/Node/Controller.php(69): IPS\Dispatcher\_Controller->execute()
#4 /home/nginx/domains/*****/public/forum/applications/core/modules/admin/applications/applications.php(48): IPS\Node\_Controller->execute()
#5 /home/nginx/domains/*****/public/forum/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\admin\applications\_applications->execute()
#6 /home/nginx/domains/*****/public/forum/admin/index.php(13): IPS\_Dispatcher->run()
#7 {main}

comment_191053
10 часов назад, alexis сказал:

В режимах Rebuild 1.0.1 и Build New Version

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

comment_191074

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.