Version 4.7.6

This commit is contained in:
Neo committed 2025-12-19 16:05:19 -08:00
1 parent 8ba7d43898
commit 7b7404e741
1085 files changed
+30590 -7837

No files matched your search

+17 -9
View File
@@ -231,7 +231,8 @@ class _Controller extends \IPS\Dispatcher\Controller
$this->_descriptionHtml,
$node->canAdd(),
( $node instanceof $nodeClass ),
$this->_getRowHtml( $node )
$this->_getRowHtml( $node ),
isset( $node->_lockedLang ) ? $node->_lockedLang : null
);
}
@@ -565,11 +566,18 @@ class _Controller extends \IPS\Dispatcher\Controller
/* Get the value */
$key = \IPS\Request::i()->key;
$sessionKey = 'MC' . $key;
$dummyForm = new \IPS\Helpers\Form;
$node->form( $dummyForm );
if( isset( $_SESSION[ $key ] ) )
if( isset( \IPS\Request::i()->value ) )
{
$value = $_SESSION[ $key ];
$_SESSION[ $sessionKey ] = \IPS\Request::i()->value;
}
if( isset( $_SESSION[ $sessionKey ] ) )
{
$value = $_SESSION[ $sessionKey ];
}
else
{
@@ -586,7 +594,7 @@ class _Controller extends \IPS\Dispatcher\Controller
}
}
$_SESSION[ $key ] = $value;
$_SESSION[ $sessionKey ] = $value;
}
/* Build Form */
@@ -609,7 +617,7 @@ class _Controller extends \IPS\Dispatcher\Controller
$multiRedirectUrl = $multiRedirectUrl->setQueryString( 'subnode', 1 );
}
\IPS\Output::i()->output = new \IPS\Helpers\MultipleRedirect( $multiRedirectUrl,
function( $doneSoFar ) use ( $nodeClass )
function( $doneSoFar ) use ( $nodeClass, $sessionKey )
{
$count = \IPS\Db::i()->select( 'COUNT(*)', $nodeClass::$databaseTable, \IPS\Request::i()->nodes == 0 ? NULL : \IPS\Db::i()->in( $nodeClass::$databasePrefix . $nodeClass::$databaseColumnId, explode( ',',\IPS\Request::i()->nodes) ) )->first();
if ( !$count )
@@ -625,9 +633,9 @@ class _Controller extends \IPS\Dispatcher\Controller
$did++;
$_node = $nodeClass::constructFromData( $row );
if ( $_node->canCopyValue( \IPS\Request::i()->key, $_SESSION[ \IPS\Request::i()->key ] ) )
if ( $_node->canCopyValue( \IPS\Request::i()->key, $_SESSION[ $sessionKey ] ) )
{
$values = $_node->formatFormValues( array( \IPS\Request::i()->key => $_SESSION[ \IPS\Request::i()->key ] ) );
$values = $_node->formatFormValues( array( \IPS\Request::i()->key => $_SESSION[ $sessionKey ] ) );
foreach( $values as $k => $v )
{
@@ -661,13 +669,13 @@ class _Controller extends \IPS\Dispatcher\Controller
$doneSoFar += 50;
return array( $doneSoFar, \IPS\Member::loggedIn()->language()->addToStack('copying'), 100 / $count * $doneSoFar );
},
function() use( $url )
function() use( $url, $sessionKey )
{
/* Clear guest page caches */
\IPS\Data\Cache::i()->clearAll();
/* Clear the value in the session */
unset( $_SESSION[ \IPS\Request::i()->key ] );
unset( $_SESSION[ $sessionKey ] );
/* And redirect */
$finishUrl = $url->setQueryString( array( 'do' => 'form', 'id' => \IPS\Request::i()->from ) );