From ade25f112351c605ccc11adb1353aafd68893835 Mon Sep 17 00:00:00 2001 From: Dimitar Minekov Date: Wed, 22 Dec 2021 15:13:00 +0200 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BE=20=D0=B4=D0=B5=D1=84?= =?UTF-8?q?=D0=B8=D0=BD=D0=B8=D1=80=D0=B0=D0=BD=D0=B5=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- phpsignal/Client.class.php | 18 ++++++++++---- phpsignal/Setup.class.php | 50 ++++++++++++++++++++++---------------- 2 files changed, 42 insertions(+), 26 deletions(-) diff --git a/phpsignal/Client.class.php b/phpsignal/Client.class.php index 5528f111324..ffc1242307a 100644 --- a/phpsignal/Client.class.php +++ b/phpsignal/Client.class.php @@ -31,7 +31,7 @@ public static function send(array $number, $message) if (core_Composer::isInUse()) { try { // Инстанция на класа - $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/signal-cli'; + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); $client = new Signal($binPath, phpsignal_Setup::get('SIGNAL_NUMBER'), Signal::FORMAT_JSON); } catch (Exception $e) { reportException($e); @@ -61,7 +61,7 @@ public function act_ValidateCode() if (core_Composer::isInUse()) { $signalNumber = phpsignal_Setup::get('SIGNAL_NUMBER'); // Инстанция на класа - $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/signal-cli'; + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); $client = new Signal($binPath, $signalNumber, Signal::FORMAT_JSON); } $msg = "Неуспешна валидация"; @@ -90,7 +90,7 @@ public function act_UnRegister() if (core_Composer::isInUse()) { try { // Инстанция на класа - $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/signal-cli'; + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); $client = new Signal($binPath, phpsignal_Setup::get('SIGNAL_NUMBER'), Signal::FORMAT_JSON); } catch (Exception $e) { reportException($e); @@ -131,7 +131,7 @@ public function act_Register() if (core_Composer::isInUse()) { $signalNumber = phpsignal_Setup::get('SIGNAL_NUMBER'); // Инстанция на класа - $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/signal-cli'; + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); $client = new Signal($binPath, $signalNumber, Signal::FORMAT_JSON); } @@ -151,5 +151,13 @@ public function act_Register() return $tpl; } - + + /** + * Регистрира signal клиента + */ + public function act_Test() + { + requireRole('admin'); + bp(phpsignal_Client::send(['+359887181813'], "Hi hi hi ...")); + } } diff --git a/phpsignal/Setup.class.php b/phpsignal/Setup.class.php index 22e61b15a7d..be0dc1cdfb9 100644 --- a/phpsignal/Setup.class.php +++ b/phpsignal/Setup.class.php @@ -5,8 +5,8 @@ /** * Местоположение на signal-cli */ -defIfNot('PHPSIGNAL_SIGNAL_PATH', EF_ROOT_PATH); -defIfNot('PHPSIGNAL_SIGNAL_VERSION', '0.9.2'); +defIfNot('PHPSIGNAL_SIGNAL_BIN_PATH', '/usr/local/bin/signal-cli'); +//defIfNot('PHPSIGNAL_SIGNAL_VERSION', '0.9.2'); defIfNot('PHPSIGNAL_SIGNAL_NUMBER', '+359'); defIfNot('PHPSIGNAL_SIGNAL_TEST_NUMBER','+359'); @@ -63,8 +63,8 @@ class phpsignal_Setup extends core_ProtoSetup * Описание на конфигурационните константи */ public $configDescription = array( - 'PHPSIGNAL_SIGNAL_PATH' => array('varchar', 'mandatory, caption=Настройки signal-cli->Път'), - 'PHPSIGNAL_SIGNAL_VERSION' => array('varchar', 'mandatory, caption=Настройки signal-cli->Версия'), + 'PHPSIGNAL_SIGNAL_BIN_PATH' => array('varchar', 'mandatory, caption=Настройки signal-cli->Път изпълним файл'), +// 'PHPSIGNAL_SIGNAL_VERSION' => array('varchar', 'mandatory, caption=Настройки signal-cli->Версия'), 'PHPSIGNAL_SIGNAL_NUMBER' => array('varchar(20)', 'mandatory, caption=Настройки клиент->Номер'), 'PHPSIGNAL_SIGNAL_TEST_NUMBER' => array('varchar(20)', 'caption=Номер за тестово съобщение->стойност'), ); @@ -84,23 +84,26 @@ public function install() } // Проверка за наличие на cli signal клиент - $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/'; + // $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/'; + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); // Ако няма CLI - го сваляме - if (!is_executable($binPath . 'signal-cli')) { - $filename = "signal-cli-" . phpsignal_Setup::get('SIGNAL_VERSION') . ".tar.gz"; - $cmd = "wget -O /tmp/{$filename} https://github.com/AsamK/signal-cli/releases/download/v" . phpsignal_Setup::get('SIGNAL_VERSION') . "/{$filename} -P /tmp/ 2>&1"; - $outputDwnl = null; - exec ($cmd, $outputDwnl); - $output = null; - $cmd = "tar xf /tmp/{$filename} -C " . phpsignal_Setup::get('SIGNAL_PATH') . " 2>&1"; - exec ($cmd, $output); - if (is_executable($binPath . 'signal-cli')) { - $html .= "
  • Успешно инсталиран signal-cli
  • "; - } else { - $html .= "
  • Проблем с инсталирането на signal-cli
  • "; - $html .= "
  • Резултат сваляне:
    " . print_r($outputDwnl, true) . "
  • "; - $html .= "
  • Резултат разархивиране:
    " . print_r($output, true) . "
  • "; - } + if (!is_executable($binPath)) { + $html .= "
  • {$binPath} не може да се изпълни!
  • "; + +// $filename = "signal-cli-" . phpsignal_Setup::get('SIGNAL_VERSION') . ".tar.gz"; +// $cmd = "wget -O /tmp/{$filename} https://github.com/AsamK/signal-cli/releases/download/v" . phpsignal_Setup::get('SIGNAL_VERSION') . "/{$filename} -P /tmp/ 2>&1"; +// $outputDwnl = null; +// exec ($cmd, $outputDwnl); +// $output = null; +// $cmd = "tar xf /tmp/{$filename} -C " . phpsignal_Setup::get('SIGNAL_PATH') . " 2>&1"; +// exec ($cmd, $output); +// if (is_executable($binPath . 'signal-cli')) { +// $html .= "
  • Успешно инсталиран signal-cli
  • "; +// } else { +// $html .= "
  • Проблем с инсталирането на signal-cli
  • "; +// $html .= "
  • Резултат сваляне:
    " . print_r($outputDwnl, true) . "
  • "; +// $html .= "
  • Резултат разархивиране:
    " . print_r($output, true) . "
  • "; +// } } else { $html .= "
  • Инсталиран от преди това signal-cli
  • "; } @@ -119,8 +122,13 @@ public function checkConfig($fullCheck = false) return; } + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); + // Ако няма CLI - го сваляме + if (!is_executable($binPath)) { + $html .= "
  • {$binPath} не е изпълним!
  • "; + } if (core_Composer::isInUse()) { - $binPath = phpsignal_Setup::get('SIGNAL_PATH') . '/signal-cli-' . phpsignal_Setup::get('SIGNAL_VERSION') . '/bin/signal-cli'; + $binPath = phpsignal_Setup::get('SIGNAL_BIN_PATH'); $client = new Signal($binPath, phpsignal_Setup::get('SIGNAL_NUMBER'), Signal::FORMAT_JSON); } else { return "Не е инсталиран композер!";