HeadStand Posted August 10, 2017 Share Posted August 10, 2017 I had this code in 4.1 that worked perfectly: $form->add( new \IPS\Helpers\Form\Ftp( 'directory_ftp', $this->ftp, true, array( 'validate' => false ), function( $val ){ if( empty( $val ) ) { $val = \IPS\Request::i()->directory_ftp; } $conn_id = ftp_connect( $val['server'], $val['port'] ); $login_result = ftp_login( $conn_id, $val['un'], $val['pw'] ); if( !$conn_id || !$login_result ) { throw new \InvalidArgumentException( 'FTP Connection Failed' ); } ftp_pasv( $conn_id, true ); if( !ftp_chdir( $conn_id, $val['path'] ) ) { throw new \InvalidArgumentException( 'Could not change directory' ); } ftp_close( $conn_id ); } ) ); This is completely broken in 4.2. I needed to use a custom validation function because the standard FTP connection didn't work correctly for this particular server. All good. However, now I see that the value passed in to the custom validation function has pw set to '*******'. I am playing around with \IPS\Text\Encrypt and I cannot get the password out if you held a gun to my head. Anyone have any suggestions? Link to comment Share on other sites More sharing options...
newbie LAC Posted August 11, 2017 Share Posted August 11, 2017 $ftpData = $this->ftp; $form->add( new \IPS\Helpers\Form\Ftp( 'directory_ftp', $this->ftp, true, array( 'validate' => false ), function( $val ) use($ftpData) { if( empty( $val ) ) { $val = \IPS\Request::i()->directory_ftp; } if ($val['pw'] === '********') { $val['pw'] = $ftpData['pw']; } $conn_id = ftp_connect( $val['server'], $val['port'] ); $login_result = ftp_login( $conn_id, $val['un'], $val['pw'] ); if( !$conn_id || !$login_result ) { throw new \InvalidArgumentException( 'FTP Connection Failed' ); } ftp_pasv( $conn_id, true ); if( !ftp_chdir( $conn_id, $val['path'] ) ) { throw new \InvalidArgumentException( 'Could not change directory' ); } ftp_close( $conn_id ); } ) ); Link to comment Share on other sites More sharing options...
HeadStand Posted August 14, 2017 Author Share Posted August 14, 2017 Perfect! Thank you! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.