Nie usuwa zdjęć po zmianie nazwy

zdrowastopaMarek

Avatar: zdrowastopaMarek

2013-09-04 23:33

Po zmianie zgodnie z instrukcją http://opensolution.org/download/Quick.Cart/bugfixes/bugFixes.html
"When a file name was changed, the original file was not removed"

wyskakują błędy przy wgrywaniu zdjęć:
Warning: Missing argument 3 for FilesAdmin::deleteFilesFromDirs(), called in /core/files-admin.php on line 394 and defined in /core/files-admin.php on line 184

Warning: Missing argument 4 for FilesAdmin::deleteFilesFromDirs(), called in /core/files-admin.php on line 394 and defined in /core/files-admin.php on line 184

Warning: Cannot modify header information - headers already sent by (output started at /core/files-admin.php:184) in /templates/admin/products-form.php on line 16

files-admin.php u mnie:
addFilesFromServer

<?
public function addFilesFromServer$aForm$iLink$iLinkType$sLinkName ){
    if( isset( 
$aForm['aDirFiles'] ) ){
      
$i 0;
      
$oFFS FlatFilesSerialize::getInstance( );

      
$this->mData null;

      foreach( 
$aForm['aDirFiles'] as $iKey => $sFile ){
        if( 
is_fileDIR_FILES.$sFile ) ){
          if( 
$GLOBALS['config']['change_files_names'] === true && isset( $_POST['sName'] ) ){
            
$this->mData[$i]['sFileName'] = $oFFS->checkIsFilechange2Url$_POST['sName'] ).'.'.$oFFS->throwExtOfFile$sFile ), DIR_FILES );
            
$this->mData[$i]['sFileNamePrimary'] = $sFile;
          }
          else{
            
//$this->mData[$i]['sFileName'] = $oFFS->checkIsFile( $sFile, DIR_FILES );
            
$this->mData[$i]['sFileName'] = $sFile;
          }
          if( !
is_fileDIR_FILES.$this->mData[$i]['sFileName'] ) )
            
copyDIR_FILES.$sFileDIR_FILES.$this->mData[$i]['sFileName'] );
          if( isset( 
$aForm['aDirFilesSizes1'][$iKey] ) )
            
$this->mData[$i]['iSize1'] = $aForm['aDirFilesSizes1'][$iKey];
          if( isset( 
$aForm['aDirFilesSizes2'][$iKey] ) )
            
$this->mData[$i]['iSize2'] = $aForm['aDirFilesSizes2'][$iKey];
          
$this->mData[$i]['iType'] = ( isset( $aForm['aDirFilesTypes'][$iKey] ) && is_numeric$aForm['aDirFilesTypes'][$iKey] ) ) ? $aForm['aDirFilesTypes'][$iKey] : 1;
          
$this->mData[$i]['iPosition'] = is_numeric$aForm['aDirFilesPositions'][$iKey] ) ? $aForm['aDirFilesPositions'][$iKey] : 0;
          
$this->mData[$i]['sDescription'] = changeTxt$aForm['aDirFilesDescriptions'][$iKey], '' );
          
$this->mData[$i][$sLinkName] = $iLink;
          
$i++;
        }
      }

      if( isset( 
$this->mData ) )
        
$this->addFiles$iLinkType );
    }
  } 
// end function addFilesFromServer
?>


addFiles

<?
  
private function addFiles$iLinkType ){
    if( isset( 
$this->mData ) && is_array$this->mData ) ){
      
$oFFS FlatFilesSerialize::getInstance( );
      
$sFile $this->throwDbNames$iLinkType );
      
$iLastId $oFFS->throwLastId$sFile'iFile' );
      
$iCount count$this->mData );
      
$i 0;

      foreach( 
$this->mData as $iKey => $aData ){
        
$aData['iPhoto'] = ( $oFFS->checkCorrectFile$aData['sFileName'], 'gif|jpg|png|jpeg' ) == true ) ? 0;

        if( 
$aData['iPhoto'] == ){
          
$this->generateThumbs$aData['sFileName'], $aData['iSize1'], $aData['iSize2'], $aData['iType'] );
          if( !isset( 
$oImage ) )
            
$oImage ImageJobs::getInstance( );
          
$oImage->createCustomThumbDIR_FILES.$aData['sFileName'], DIR_FILES$oImage->throwImgSizeDIR_FILES.$aData['sFileName'], 'longer' ), $aData['sFileName'], true, Array( 'bWatermark' => true ) );
          if( !
is_numeric$aData['iSize1'] ) )
            
$aData['iSize1'] = 0;
          if( !
is_numeric$aData['iSize2'] ) )
            
$aData['iSize2'] = 0;
        }
        else{
          
$aData['iType'] = '';
          
$aData['iSize1'] = '';
          
$aData['iSize2'] = '';
        }
        
        
$aData['iFile'] = ++$iLastId;

        if( isset( 
$aData['sFileNamePrimary'] ) ){
          
$this->deleteFilesFromDirs$aData['sFileNamePrimary'], $aData['iPhoto'] );
        }

        
$this->aFilesImages[$aData['iFile']] = $aData;
        
$i++;
      } 
// end foreach

      
$oFFS->saveData$sFile$this->createArray$iLinkType ) );

      
$this->mData null;
    }
  } 
// end function addFiles 
?>

» Quick.Cart v6.x

treewood (OpenSolution)

Avatar: treewood

2013-09-05 12:03

Faktycznie bylo to bledne. Prosze zmienic w takim razie w funkcji addFiles():
$this->deleteFilesFromDirs( $aData['sFileNamePrimary'], $aData['iPhoto'] );
na:
$this->deleteFilesFromDirs( $aData['sFileName'], $aData['iPhoto'], $iLinkType, $aData['iFile'] );

Wprowadzilismy ta poprawke takze w poprawkach bledow :)

zdrowastopaMarek

Avatar: zdrowastopaMarek

2013-09-06 09:44

Dziękuje. Nie wyskakuje już błąd, ale dalej nie usuwa zdjęć z serwera. Wgrywa zdjęcie z oryginalna nazwą, tworzy kopie pliku z nową nazwą, nie usuwa pliku z oryginalną nazwą.

treewood (OpenSolution)

Avatar: treewood

2013-09-09 09:06

Generalnie ten blad to "glupota". Ciezko stwierdzic dlaczego u Ciebie to nie dziala poprawnie. Generalnie poprawka dziala (sprawdzilem specjalnie przed chwila) wiec wykorzystujesz to zdjecie gdzies indziej, albo cos robisz zle choc sam nawet nie wiem co.

Jak wspomnialem to jest "glupota".

zdrowastopaMarek

Avatar: zdrowastopaMarek

2013-09-09 13:34

wcześniej nie zwróciłem uwagi, ale teraz nie tworzy kopii pliku z nowa nazwą i nie usuwa pliku z oryginalną.

zdrowastopaMarek

Avatar: zdrowastopaMarek

2013-09-09 13:49

jeszcze raz sprawdziłem, mam dokładnie zgodnie z instrukcja. wiec nie wiem gdzie ta "glupota"

zdrowastopaMarek

Avatar: zdrowastopaMarek

2013-09-09 13:53

przywróciłem do starej wersji, bo po poprawce nie mogę dodawać zdjęć.

Do góry
o nas | kontakt