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 "Не е инсталиран композер!";