Jump to content
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

TypeError: Argument 1 passed to

При попытке отредактировать группу в списке групп в админцетре, кликаю карандаш, получаю ошибку для любой из групп. В чем проблема и как починить? 4.2.7. PHP 7.

 

TypeError: Argument 1 passed to IPS\downloads\extensions\core\ContentRouter\_Downloads::__construct() must be an instance of IPS\Member, instance of IPS\Member\Group given, called in /серверный путь/system/Application/Application.php on line 819 (0)
#0 /серверный путь/system/Application/Application.php(819): IPS\downloads\extensions\core\ContentRouter\_Downloads->__construct(Object(IPS\Member\Group))
#1 /серверный путь/system/Application/Application.php(300): IPS\_Application->extensions('core', 'ContentRouter', true, Object(IPS\Member\Group))
#2 /серверный путь/applications/core/extensions/core/GroupForm/Content.php(35): IPS\_Application::allExtensions('core', 'ContentRouter', Object(IPS\Member\Group))
#3 /серверный путь/applications/core/modules/admin/members/groups.php(188): IPS\core\extensions\core\GroupForm\_Content->process(Object(IPS\Helpers\Form), Object(IPS\Member\Group))
#4 /серверный путь/system/Dispatcher/Controller.php(85): IPS\core\modules\admin\members\_groups->form()
#5 /серверный путь/applications/core/modules/admin/members/groups.php(34): IPS\Dispatcher\_Controller->execute()
#6 /серверный путь/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\admin\members\_groups->execute()
#7 /серверный путь/admin/index.php(13): IPS\_Dispatcher->run()
#8 {main}

 

При попытке создания новой группы:

 

TypeError: Argument 1 passed to IPS\downloads\extensions\core\ContentRouter\_Downloads::__construct() must be an instance of IPS\Member, instance of IPS\Member\Group given, called in /серверный путь/system/Application/Application.php on line 819 (0)
#0 /серверный путь/system/Application/Application.php(819): IPS\downloads\extensions\core\ContentRouter\_Downloads->__construct(Object(IPS\Member\Group))
#1 /серверный путь/system/Application/Application.php(300): IPS\_Application->extensions('core', 'ContentRouter', true, Object(IPS\Member\Group))
#2 /серверный путь/applications/core/extensions/core/GroupForm/Content.php(35): IPS\_Application::allExtensions('core', 'ContentRouter', Object(IPS\Member\Group))
#3 /серверный путь/applications/core/modules/admin/members/groups.php(188): IPS\core\extensions\core\GroupForm\_Content->process(Object(IPS\Helpers\Form), Object(IPS\Member\Group))
#4 /серверный путь/system/Dispatcher/Controller.php(85): IPS\core\modules\admin\members\_groups->form()
#5 /серверный путь/applications/core/modules/admin/members/groups.php(34): IPS\Dispatcher\_Controller->execute()
#6 /серверный путь/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\admin\members\_groups->execute()
#7 /серверный путь/admin/index.php(13): IPS\_Dispatcher->run()
#8 {main}

Edited by Zero108

Featured Replies

  • Author
Точно можно сказать только после дебага на вашем сервере. Но вообще, в 4.2.6 есть ошибка в /system/Member/Member.php, проявляющаяся с версией интерпретатора php 7.0. и выше.
Первый вариант не решает проблему (ошибка остается).

Второй вариант приводит к An error occurred (500 Error) (php 7.0.27)

Edited by Zero108

Вообще, попробуйте отключить Downloads и редактировать или создавать группу. Что-то там с расширением ContentRouter не ладно. дебажить это мне не на чем сейчас просто.

  • Author

Да, так работает. :D Спасибо. А ведь кто-то за этот продукт еще и платит... :blink:

Покажите содержимое файла

\applications\downloads\extensions\core\ContentRouter\Downloads.php

 

Может быть есть еще \applications\downloads\extensions\core\ContentRouter\downloads.php

  • Author

Downloads - главная страница сайта.

 

Downloads.php - стандартный от 4.2.7.

 

<?php
/**
* @brief		Content Router extension: Downloads
* @author		<a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @copyright	(c) Invision Power Services, Inc.
* @license		https://www.invisioncommunity.com/legal/standards/
* @package		Invision Community
* @subpackage	Downloads
* @since		26 Jun 2017
*/

namespace IPS\downloads\extensions\core\ContentRouter;

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}

/**
* @brief	Content Router extension: Downloads
*/
class _Downloads
{
/**
 * @brief	Content Item Classes
 */
public $classes = array();

/**
 * Constructor
 *
 * @param	\IPS\Member|IPS\Member\Group|NULL	$memberOrGroup		If checking access, the member/group to check for, or NULL to not check access
 * @return	void
 */
public function __construct( $memberOrGroup = NULL )
{

}
}

Edited by Zero108

  • Author

downloads.php - был такой файл. Я его удалил только что, так как в оригинальном дистрибутиве 4.2.7 такого файла нет, а тот, который был на сервере от декабря 2016 года. Теперь всё работает без необходимости выключения приложения Downloads. Еще оптимизировали работу мускула в my.cnf, но это может к теме не относится. Вообщем, проблема решена.

Edited by Zero108

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.