<?php
$access_key = 'AKIAJURBTLEKLXZI6SGA';
$secret_key = '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';
$bucket = 'tcl-media';


if($_SERVER["REMOTE_ADDR"] == "127.0.0.1"){
        //zip media folder function
        zipmediaFolder('media','local_media.zip');
        //make a call to s3
        require realpath('S3.php');
        $s3 = new S3($access_key, $secret_key,'S3','s3-ap-southeast-1.amazonaws.com');
        $filepath = realpath('local_media.zip');
        $check = $s3->putObjectFile($filepath, $bucket, date('m-d-Y-His').'_local_media.zip',S3::ACL_PRIVATE);
        if($check){
            echo 'done on local';
            //delete folder now
            unlink(realpath('local_media.zip'));
        }else{
            echo 'fail on local';
        }
        //make a call to s3

}elseif(preg_match("/staging/i", $_SERVER['SERVER_NAME'])){ 

        //zip media folder function
     zipmediaFolder('/var/www/html/dev/pub/media','/var/www/html/media_backup/production_media.zip');
        //make a call to s3
       require '/var/www/html/dev/S3.php';
        $s3 = new S3($access_key, $secret_key,'S3','s3-ap-southeast-1.amazonaws.com');        $filepath = realpath('staging_media.zip');
        $check = $s3->putObjectFile($filepath, $bucket, date('m-d-Y-His').'_staging_media.zip',S3::ACL_PRIVATE);
       if($check){
            echo 'done on staging';
            unlink('/var/www/html/media_backup/production_media.zip');
        }else{
            echo 'fail on staging';
        }
}
elseif(preg_match("/tclpakistan/i", $_SERVER['SERVER_NAME'])){ 
    
        //zip media folder function
        zipmediaFolder('/var/www/html/dev/media','/var/www/html/media_backup/production_media.zip');
        //make a call to s3
        require '/var/www/html/dev/S3.php';
        $s3 = new S3($access_key, $secret_key,'S3','s3-ap-southeast-1.amazonaws.com');
        $filepath = '/var/www/html/media_backup/production_media.zip';
          $check = $s3->putObjectFile($filepath, $bucket, date('m-d-Y-His').'_production_media.zip',S3::ACL_PRIVATE);
        if($check){
            echo 'done on production';
            unlink('/var/www/html/media_backup/production_media.zip');
        }else{
            echo 'fail on production';
        }

}
/****************fucntion for compressing media folder***********************/
function zipmediaFolder($folderName,$outputfolderName){

      $rootPath = realpath($folderName);
      $zip = new ZipArchive();
      $zip->open($outputfolderName, ZipArchive::CREATE | ZipArchive::OVERWRITE);

      $files = new RecursiveIteratorIterator(
          new RecursiveDirectoryIterator($rootPath),
          RecursiveIteratorIterator::LEAVES_ONLY
      );
      foreach ($files as $name => $file){
          if (!$file->isDir()){
              $filePath = $file->getRealPath();
              $relativePath = substr($filePath, strlen($rootPath) + 1);
              $zip->addFile($filePath, $relativePath);
          }
      }
     $zip->close();
}

