class PpDestroyImagesController < ApplicationController

  def create
    logger.info "*** params = #{params.inspect}"
    #remJob = CommunicationInJob.new
    #remJob.job_source = "externe"
    #remJob.job_source_job_id = params[:pp_destroy_images][:message_id]
    #remJob.params = params[:pp_destroy_images]
    #remJob.typop = "pp_destroy_images"

    #remJob.done = 0
    #remJob.save
    logi = params[:pp_destroy_images][:login]
    mdp = params[:pp_destroy_images][:pwd]
    prov = ProvToApi.find_by_login_and_mot_passe(logi, mdp)
    @retval = "** Erreur : identification inconnue"
    unless prov.nil?
      imgs = []
      if params[:pp_destroy_images][:photo].kind_of?(Array)
       params[:pp_destroy_images][:photo].collect{|im| imgs << im[:original]}
      else
       imgs << params[:pp_destroy_images][:photo][:original]
      end
      deleting_images(imgs, prov.string_key)
      @retVal = " OK nb images=#{imgs.count}"
    end


    #done_pixa = 100
    #remJob.done = done_pixa
    #remJob.result = @retVal
    #remJob.save
    #@id_to_take = params[:pp_destroy_images][:message_id]
    respond_to do |format|
      format.xml { render :layout => false }
    end
  end

  def deleting_images(imgs, titlename)

      local_tmp_path = '/home/pix/support/tmp/'
      capistrano_path = '/home/pix/capistrano/pixways/'
      logs_path = "/var/log/pixways/delete_images/#{Time.now.strftime("%Y%m%d")}/"
      field_name = "original_filename"
      
      file_name = Time.now.strftime("%Y-%m-%d-%Hh%Mm%S")+"_#{titlename}"
      main_log_file_name="#{logs_path}#{file_name}_main.log"
      main_error_log_file_name="#{logs_path}#{file_name}_main.error-log"
      pictures_list = "#{local_tmp_path}#{file_name}.txt"
      ini_file = "#{local_tmp_path}#{file_name}.ini"

      File.open(pictures_list,'wb') do |f|
        imgs.each do |i|
          f.write(i+"\n")
        end
      end

      #create logs folder if doesn't exist and call ultra_cap_delete
      delete_command = "mkdir -p #{logs_path};#{capistrano_path}ultra_cap_delete.sh 'pixpalace:pictures_deletion -s stringkey=#{titlename} -s field=#{field_name} -s pictures_list=#{pictures_list}' 1>>#{main_log_file_name} 2>>#{main_error_log_file_name}"

      File.open(ini_file,'wb') do |f|
          f.write(delete_command)
      end

      #execute the command as a background task
      pid = Process.spawn("at -f #{ini_file} now")
      Process.detach(pid)

  end
end

