forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.4 KiB
111 lines
3.4 KiB
#!/usr/bin/php -q |
|
<?php |
|
error_reporting(E_ERROR); |
|
ini_set('display_errors', 0); |
|
|
|
/* |
|
* Inclui funçoes genéricas. |
|
*/ |
|
include("util/constantes.php"); |
|
include("util/util.php"); |
|
include("util/cnvrtFunctions.php"); |
|
|
|
try { |
|
/* |
|
* Carrega os parametros. |
|
*/ |
|
list($src, $dst, $type, $prcName, $pathLog) = CnvrtDecodeData($argv[1], false); |
|
|
|
/* |
|
* Registra o inicio do script; |
|
*/ |
|
CnvrtLog(sprintf("Script: %s Origem: %s Destino: %s Tipo: %s IPC: %s",'cnvrtFile.php', $src, $dst, $type, $prcName)); |
|
|
|
|
|
/* |
|
* Cria arquivo com o pid do processo corrente. |
|
*/ |
|
_CnvrtRegPid($prcName); |
|
|
|
/* |
|
* Seleciona a funcao para conversao a partir do parametro type. |
|
*/ |
|
switch ($type) { |
|
case CNVRT_FILE_CP: |
|
_CnvrtFileCp($prcName, $src, $dst); |
|
break; |
|
case CNVRT_FILE_MV: |
|
_CnvrtFileMv($prcName, $src, $dst); |
|
break; |
|
case CNVRT_FILE_RM: |
|
_CnvrtFileRm($prcName, $src); |
|
break; |
|
case CNVRT_FILE_EXISTS: |
|
_CnvrtFileExists($prcName, $src); |
|
break; |
|
case CNVRT_FILE_TAR_GZ: |
|
_CnvrtFileTarGz($prcName, $src); |
|
break; |
|
case CNVRT_FILE_TAR_BZ2: |
|
_CnvrtFileTarBz2($prcName, $src); |
|
break; |
|
case CNVRT_FILE_SIZE: |
|
_CnvrtFileSize($prcName, $src); |
|
break; |
|
case CNVRT_EXEC: |
|
_CnvrtExec($prcName, $src); |
|
break; |
|
default: |
|
break; |
|
} |
|
} catch (Exception $ex) { |
|
CnvrtLog($ex->getMessage()); |
|
_CnvrtWirteData(_CnvrtPrepareData(0, $ex->getMessage()), $prcName, $dst); |
|
} |
|
|
|
function _CnvrtFileCp($prcName, $src, $dst) { |
|
$st = copy($src, $dst); |
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo copiado com sucesso!')), $prcName, $dst); |
|
} |
|
|
|
function _CnvrtFileMv($prcName, $src, $dst) { |
|
$st = rename($src, $dst); |
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo movido com sucesso!')), $prcName, $dst); |
|
} |
|
|
|
function _CnvrtFileRm($prcName, $src) { |
|
$st = unlink($src); |
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo excluido com sucesso!')), $prcName, ''); |
|
} |
|
|
|
function _CnvrtFileExists($prcName, $src) { |
|
$st = file_exists($src); |
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? 'Arquivo não encontrado!' : 'Arquivo encontrado!')), $prcName, $dst); |
|
} |
|
|
|
|
|
function _CnvrtFileTarGz($prcName, $src, $dst) { |
|
$st = Tar($src, $dst); |
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo compactado com sucesso!')), $prcName, $dst); |
|
} |
|
|
|
function _CnvrtFileTarBz2($prcName, $src, $dst) { |
|
$st = Tar($src, $dst, 'bz2'); |
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo compactado com sucesso!')), $prcName, $dst); |
|
} |
|
|
|
function _CnvrtFileSize($prcName, $src) { |
|
$st = filesize($src); |
|
_CnvrtWirteData(_CnvrtPrepareData($st, (!$st ? GetLasterror() : 'Operação realizada com sucesso!')), $prcName, $dst); |
|
} |
|
|
|
function _CnvrtExec($prcName, $src){ |
|
$idx = null; |
|
$out = null; |
|
$ret = exec($src, $out, $idx); |
|
/* |
|
* Antecao $idx retorna "0" false quando o comando é executado. |
|
*/ |
|
_CnvrtWirteData(_CnvrtPrepareData(!$idx, ($idx ? GetLasterror() : 'Operação realizada com sucesso!'), implode(' ', $out), $ret), $prcName, $dst); |
|
} |
|
|
|
|