<?php

$a = session_id();
if ($a == '')
  session_start();

chdir(dirname(__FILE__));

include_once("common/constants.inc");
include_once("common/db_utils.php");
include_once("common/segf.php");
include_once("Spreadsheet/Excel/Writer.php");
include_once("PHPExcel/PHPExcel.php"); 
include_once("PHPExcel/PHPExcel/IOFactory.php");


class ImportRagasztasiLista {

  // rendben van-e az ftp kapcsolat
  var $isFtpConnected = true;
  var $conn_id = null;
  
  function __construct() {
    if (FTP_USE_SSL)
      $this->conn_id = ftp_ssl_connect(FTP_SERVER) or die("Couldn't connect to " . FTP_SERVER);
    else
      $this->conn_id = ftp_connect(FTP_SERVER, FTP_PORT) or die("Couldn't connect to " . FTP_SERVER);
    if (!$this->isFtpConnected = ftp_login($this->conn_id, FTP_USERNAME, FTP_PASSWORD))
      $this->isFtpConnected = false;
    else
      ftp_pasv($this->conn_id, true);
  }
  
  function downloadRagasztasiLista() {
    if (@ftp_chdir($this->conn_id, '/raglista/')) {
      $files = ftp_nlist($this->conn_id, '.');
      for ($i = 0; $i < count($files); $i++) {
        if (trim($files[$i]) != "" && trim($files[$i]) != ".." && trim($files[$i]) != "#recycle") {
          if (ftp_get($this->conn_id, RAGLISTA_FELDOLGOZANDO_DIRECTORY . $files[$i], $files[$i], FTP_BINARY, 0)) {
            errorlog('downloadedfile: ' . $files[$i]);
            // delete file from ftp server
            if (ftp_delete($this->conn_id, $files[$i]))
              errorlog('deleted file: ' . $files[$i]);
          } else {
            errorlog('hibasan letoltott file: ' . $files[$i]);
          }
        }
      }
    }
  }

  function importRagasztasiLista() {
    if (file_exists(RAGLISTA_FELDOLGOZANDO_DIRECTORY)) {
      $files = scandir(RAGLISTA_FELDOLGOZANDO_DIRECTORY);
      for ($i = 0; $i < count($files); $i++) {
        if (strpos($files[$i], "xls") !== false) {
          if (file_exists(RAGLISTA_FELDOLGOZANDO_DIRECTORY . $files[$i])) {
            rename(RAGLISTA_FELDOLGOZANDO_DIRECTORY . $files[$i], RAGLISTA_FELDOLGOZASALATT_DIRECTORY . $files[$i]);
          }
        }
      }
    }
    
    if (file_exists(RAGLISTA_FELDOLGOZASALATT_DIRECTORY)) {
      $files = scandir(RAGLISTA_FELDOLGOZASALATT_DIRECTORY);
      for ($i = 0; $i < count($files); $i++) {
        if (strpos($files[$i], "xls") !== false) {
          if (file_exists(RAGLISTA_FELDOLGOZASALATT_DIRECTORY . $files[$i])) {
            $cegId = 0;
            if (substr($files[$i], 1, 1) != "_" && substr($files[$i], 2, 1) != "_") {
              $date = substr($files[$i], 0, 4) . "." . substr($files[$i], 4, 2) . "." . substr($files[$i], 6, 2) . ".";
            } else {
              if (substr($files[$i], 1, 1) == "_") {
                $date = substr($files[$i], 2, 4) . "." . substr($files[$i], 6, 2) . "." . substr($files[$i], 8, 2) . ".";
                $cegId = substr($files[$i], 0, 1);
                errorlog("date1: " . $date);
              } else  {
                $date = substr($files[$i], 3, 4) . "." . substr($files[$i], 7, 2) . "." . substr($files[$i], 9, 2) . ".";
                $cegId = substr($files[$i], 0, 2);
                errorlog("date2: " . $date);
              }
            }
            $ret = importRagLista(RAGLISTA_FELDOLGOZASALATT_DIRECTORY . $files[$i], $date, $cegId);

            rename(RAGLISTA_FELDOLGOZASALATT_DIRECTORY . $files[$i], RAGLISTA_FELDOLGOZOTT_DIRECTORY . $files[$i]);
            if ($ret != "1") {
              mail(IMPORTUSERRECIPIENTMAIL, IMPORTMAILSUBJECT, iconv("UTF-8", "ISO-8859-2", $ret), MAILHEADER);
              if (EXCHANGE_DATA && SERVER_SIDE && $cegId > 0) {
                $clientData = GetClientData($cegId);
                if ($clientData["local_ceg"] == 0 && strpos($clientData["email"], ",") !== false) {
                  $importEmails = explode(",", $clientData["email"]);
                  foreach ($importEmails as $importEmail) {
                    mail($importEmail, IMPORTMAILSUBJECT, iconv("UTF-8", "ISO-8859-2", $ret), MAILHEADER);
                  }
                } else
                  mail($clientData["email"], IMPORTMAILSUBJECT, iconv("UTF-8", "ISO-8859-2", $ret), MAILHEADER);
              }
            }
            // ragasztasi lista feltoltese a kozponti (BigTeam) Netfoto-ba, elmentjuk az adatbazisban a job-ot
            if (EXCHANGE_DATA && !SERVER_SIDE) {
              if (!InsertJobToServer(RAGLISTA_FELDOLGOZOTT_DIRECTORY . $files[$i])) {
                errorlog("Server job letrehozasa sikertelen: " . $files[$i]);
                sendEmail('Server job letrehozasa sikertelen: ' . $files[$i]);
              }
            }
          }
        }
      }
    }
  }

  // send mail
/*  function sendMail($body) {
    mail(RECIPIENTMAIL, MAILSUBJECT, $body, MAILHEADER);
  }*/
  
}

$importRagasztasiLista = new ImportRagasztasiLista();

if ($importRagasztasiLista->isFtpConnected) {
  // download raglista
  $importRagasztasiLista->downloadRagasztasiLista();

  if ($importRagasztasiLista->conn_id)
    ftp_close($importRagasztasiLista->conn_id);

  // import raglista
  $importRagasztasiLista->importRagasztasiLista();
  
} else {
  errorlog("Couldn't login to " . FTP_SERVER);
  sendEmail('Ftp kapcsolodas sikertelen: ' . FTP_SERVER);
}

?>
