How-To Serwer SMSC - Powiadomienia o alertach (Bramki SMS/Gadu-Gadu)

Dyskusja w 'Podstawowe ustawienia systemowe' rozpoczęta przez użytkownika Silas Mariusz, 1 Sierpień 2013.

Ładowanie...
  1. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    22:27
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Plus GSM
    Bramka sms.plus.pl
    (http://www1.plus.pl/bsm/)
    1. Na serwerze Web obsługującym PHP (i curl) umieść poniższy kod sms.plus-bsm.php
      PHP:
      Select All
      1. <?php
      2. /*
      3. * 2013.08.01 Silas Mariusz Grzybacz
      4. *
      5. * QNAP CLUB www.qnapclub.pl
      6. *
      7. * Based on perl's sms.miastoplusa.pl
      8. * http://code.google.com/p/skrypty-sms/
      9. */
      10.  
      11.     function stripslashes_array(&$arr) {
      12.         foreach ($arr as $k => &$v) {
      13.             $nk = stripslashes($k);
      14.             if ($nk != $k) {
      15.                 $arr[$nk] = &$v;
      16.                 unset($arr[$k]);
      17.             }
      18.             if (is_array($v)) {
      19.                 stripslashes_array($v);
      20.             } else {
      21.                 $arr[$nk] = stripslashes($v);
      22.             }
      23.         }
      24.     }
      25.     stripslashes_array($_POST);
      26.     stripslashes_array($_GET);
      27.     stripslashes_array($_REQUEST);
      28.     stripslashes_array($_COOKIE);
      29. }
      30.  
      31. $conf = array (
      32.     "login" => "username",
      33.     "password" => "password",
      34.     "sender" => "QNAPCLUB",
      35.     "number" => "",
      36.     "message" => "",
      37.     "useragent" => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",
      38.     "cookiepath" => dirname(__FILE__) . "/cookies.txt",
      39.     "timeout" => 10,
      40.     "separate" => chr(124)
      41. );
      42.  
      43. function sendSms()
      44. {
      45.     global $conf;
      46.  
      47.     $post = array (
      48.         "login=". $conf["login"],
      49.         "action=login",
      50.         "password=". $conf["password"],
      51.         "success-url=http://www1.plus.pl/bsm/auth"
      52.     );
      53.  
      54.     $c = curl_init();
      55.     curl_setopt($c, CURLOPT_URL, "https://www1.plus.pl/sso/logowanie/auth");
      56.     curl_setopt($c, CURLOPT_POST, true);
      57.     curl_setopt($c, CURLOPT_POSTFIELDS, implode("&", $post));
      58.     curl_setopt($c, CURLOPT_COOKIEFILE, $conf["cookiepath"]);
      59.     curl_setopt($c, CURLOPT_COOKIEJAR, $conf["cookiepath"]);
      60.     curl_setopt($c, CURLOPT_USERAGENT, $conf["useragent"]);
      61.     curl_setopt($c, CURLOPT_TIMEOUT, $conf["timeout"]);
      62.     curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
      63.     curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
      64.     curl_exec($c);
      65.     curl_close($c);
      66.  
      67.     $header = array (
      68.         'Accept-Language: pl,en-us;q=0.7,en;q=0.3',
      69.         'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
      70.         'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1',
      71.         'Host: www1.plus.pl',
      72.         'Accept-Encoding: gzip,deflate',
      73.         'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7',
      74.         'Keep-Alive: 300',
      75.         'Connection: keep-alive',
      76.         'Pragma: no-cache',
      77.         'Cache-Control: no-cache',
      78.         'Content-Type: text/x-gwt-rpc; charset=utf-8',
      79.         'X-GWT-Permutation: 22E4064F5698D299DC724EC04F1478DC',
      80.         'X-GWT-Module-Base: http://www1.plus.pl/bsm/',
      81.         'Referer: http://www1.plus.pl/bsm/'
      82.     );
      83.  
      84.     $s = $conf["separate"];
      85.  
      86.     $sms =
      87.         "7".$s."0".$s."10".$s."http://www1.plus.pl/bsm/".$s."E23E25B5B18D1CA333516D75EAF0966A".$s.
      88.         "pl.plus.map.bsm.gwt.client.service.SendSmsService".$s."send".$s.
      89.         "pl.plus.map.bsm.core.gwt.dto.MessageTO/1868309509".$s."48c4f749a5f2b2253c0932b85699e9ec".$s.
      90.         $conf["message"].$s."".$s.$conf["number"].$s.$conf["sender"].
      91.         $s."1".$s."2".$s."3".$s."4".$s."1".$s."5".$s."5".$s."0".$s."0".$s."0".$s."0".$s."6".$s."0".$s."0".
      92.         $s."7".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."1".$s."1".$s."0".$s."0".$s."0".$s."0".$s."0".
      93.         $s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."0".$s."8".$s."9".
      94.         $s."0".$s."0".$s."0".$s."10".$s."0".$s."0".$s."8".$s."0".$s."0".$s."0".$s."0".$s
      95.     ;
      96.  
      97.     $c = curl_init();
      98.     curl_setopt($c, CURLOPT_URL, "http://www1.plus.pl/bsm/service/SendSmsService");
      99.     curl_setopt($c, CURLOPT_POST, true);
      100.     curl_setopt($c, CURLOPT_POSTFIELDS, $sms);
      101.     curl_setopt($c, CURLOPT_HTTPHEADER, $header);
      102.     curl_setopt($c, CURLOPT_REFERER, "http://www1.plus.pl/bsm/");
      103.     curl_setopt($c, CURLOPT_COOKIEFILE, $conf["cookiepath"]);
      104.     curl_setopt($c, CURLOPT_COOKIEJAR, $conf["cookiepath"]);
      105.     curl_setopt($c, CURLOPT_USERAGENT, $conf["useragent"]);
      106.     curl_setopt($c, CURLOPT_TIMEOUT, $conf["timeout"]);
      107.     curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
      108.     curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
      109.     $return = curl_exec($c);
      110.     curl_close($c);
      111.  
      112.     if (preg_match("/java\.util\.Date/", $return))
      113.     {
      114.         return true;
      115.     }
      116.     else
      117.     {
      118.         return false;
      119.     }
      120.  
      121. }
      122.  
      123. if ($_GET['login'] != "") {
      124.     $conf["login"] = $_GET['login'];
      125. }
      126.  
      127. if ($_GET['password'] != "") {
      128.     $conf["password"] = $_GET['password'];
      129. }
      130.  
      131. if ($_GET['number'] != "") {
      132.     $conf["number"] = $_GET['number'];
      133. }
      134.  
      135. if ($_GET['sender'] != "") {
      136.     $conf["sender"] = $_GET['sender'];
      137. }
      138.  
      139. if ($_GET['message'] != "") {
      140.     $conf["message"] = $_GET['message'];
      141. }
      142.  
      143. echo "<pre>
      144. -------------------------------------------------------------------------------
      145. login   : ". $conf["login"] ."
      146. password: <secret>
      147. sender  : ". $conf["sender"] ."
      148. number  : ". $conf["number"] ."
      149. message :
      150. ". $conf["message"] ."
      151. -------------------------------------------------------------------------------\n";
      152.  
      153. if (sendSMS())
      154. {
      155.     echo "Status (0): Message sent! \n";
      156. }
      157. else
      158. {
      159.     echo "Status (127): Unknown or un'def error. \n";
      160. }
      161.  
      162. echo "-------------------------------------------------------------------------------
      163. </pre>";
      164.  
      165. ?>
      (Download: http://pool.qnapclub.pl/projects/tools/smsc-poland-26001/sms.plus-bsm.zip)
    2. W ustawieniach serwera SMSC dodaj usługodawcę "Plus BSM"
    3. Jako szablon tekstowy URL wpisz poniższy link podmieniając adres i ścieżkę na własną lub korzystaj z podanej:
      Kod (Text):
      1. http://pool.qnapclub.pl/projects/tools/smsc-poland-26001/sms.plus-bsm.php?login=@@UserName@@&password=@@Password@@&number=@@PhoneNumber@@&message=@@Text@@&sender=NAS
    4. Po zapisaniu ustawień, wybierz z listy dodanego usługodawcę i podaj login oraz hasło do bramki SMS.
      (Rejestracja jest darmowa i nie wymaga posiadania telefonu w sieci: Logowanie)
    5. W powiadomieniach o alertach zaznacz powiadomienia SMS, a w ustawieniach powiadomień wprowadź docelowy numer telefonu.

    Orange
    Bramka Mbox
    1. Na serwerze Web obsługującym PHP (i curl) umieść poniższy kod sms.orange-mbox-2014-2.php
      PHP:
      Select All
      1.  <?php
      2. /*
      3. Skrypt zawiera dwie funkcje CURL obsługująca mBox'a orange.pl.
      4. Skrypt wykorzystuje Xpath'a.
      5. PHP 5*...
      6.  
      7. Skrypt pozwala na wysyłanie długich smsów, dzieli wpisany tekst na 640 znaków akceptowanych przez bramkę i
      8. wysyła jako 'n' ilość smsów.
      9.  
      10. Zachęcam do dowolnego wykorzystania, modyfikacji i ulepszania (też chciałbym kopię ;)).
      11. piotr eldora pl
      12. 20130604
      13. */
      14.  
      15.  
      16. /*
      17. Ustawienie zmiennych użytkownika, wystarczy wpisać dane i skrypt będzie po prostu działał
      18. */
      19.  
      20.  
      21.     function stripslashes_array(&$arr) {
      22.         foreach ($arr as $k => &$v) {
      23.             $nk = stripslashes($k);
      24.             if ($nk != $k) {
      25.                 $arr[$nk] = &$v;
      26.                 unset($arr[$k]);
      27.             }
      28.             if (is_array($v)) {
      29.                 stripslashes_array($v);
      30.             } else {
      31.                 $arr[$nk] = stripslashes($v);
      32.             }
      33.         }
      34.     }
      35.     stripslashes_array($_POST);
      36.     stripslashes_array($_GET);
      37.     stripslashes_array($_REQUEST);
      38.     stripslashes_array($_COOKIE);
      39. }
      40.  
      41. $login = 'username'; // nazwa użytkownika orange.pl
      42. $password = 'password'; // hasło do orange.pl
      43. $number = ''; // numer odbiorcy (+48xxxxxxxxx)
      44. $content = ''; // treść wiadomości
      45.  
      46. if ($_GET['login'] != "") {
      47.     $login = $_GET['login'];
      48. }
      49.  
      50. if ($_GET['password'] != "") {
      51.     $password = $_GET['password'];
      52. }
      53.  
      54. if ($_GET['number'] != "") {
      55.     $number = '+'.$_GET['number'];
      56. }
      57.  
      58. if ($_GET['message'] != "") {
      59.     $content = $_GET['message'];
      60. }
      61.  
      62. echo "<pre>
      63. -------------------------------------------------------------------------------
      64. login   : ". $login ."
      65. password: <secret>
      66. number  : ". $number ."
      67. message :
      68. ". $content ."
      69. -------------------------------------------------------------------------------\n";
      70.  
      71.  
      72.  
      73.  
      74. // określenie użytkownia oraz hasła do portalu orange.pl
      75. $user = $login;
      76. $pass = $password;
      77.  
      78. // określenie danych wiadomości sms
      79. //$number = $_GET['to'];
      80. $msg = $content;
      81.  
      82. // ------------------------------ //
      83.  
      84.  
      85.  
      86.  
      87.  
      88. /*
      89. Ustawienia podstawowych zmiennych skryptu
      90. */
      91.  
      92. // ustawienie klienta
      93. $userAgent = $_SERVER['HTTP_USER_AGENT'];
      94. //$userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3';
      95. // ustawienia pliku cookie, należy się upewnić, że można zapisywać
      96. $cookie = '/tmp/'.md5(microtime());
      97. // Czy usunąć wiadomość po wysłaniu?
      98. $usun = 1;
      99.  
      100. // określenie wykorzystywanych URL
      101. $startURL = 'https://www.orange.pl/zaloguj.phtml';
      102. $loginURL = 'https://www.orange.pl/zaloguj.phtml?_DARGS=/ocp/gear/infoportal/portlets/login/login-box.jsp';
      103. $smsURL = 'https://www.orange.pl/portal/map/map/message_box?mbox_view=newsms';
      104. $sendURL = 'https://www.orange.pl/portal/map/map/corpo_message_box?_DARGS=/gear/mapmessagebox/smsform.jsp';
      105. $sentURL = 'https://www.orange.pl/portal/map/map/corpo_message_box?mbox_view=sentmessageslist&mbox_folder=Sent';
      106. $trashURL = 'https://www.orange.pl/portal/map/map/corpo_message_box?mbox_view=messageslist&mbox_folder=Trash';
      107. $logoutURL = 'https://www.orange.pl/portal/map/map/corpo_message_box?_DARGS=/portal/layoutTemplates/html/header_welcome.jsp.1';
      108.  
      109. /*
      110. *
      111. *  Koniec zmiennych kontrolnych
      112. *
      113. */
      114. // fukcja pobierania stron
      115. function curl_get ($url) {
      116.     global $userAgent,$cookie;
      117.     $ch = curl_init();
      118. //    curl_setopt($ch, CURLOPT_VERBOSE, true);
      119.     curl_setopt($ch, CURLOPT_URL, $url);
      120.     curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
      121.     curl_setopt($ch, CURLOPT_COOKIEJAR,$cookie);
      122.     curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
      123.     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
      124.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      125.     curl_setopt($ch, CURLOPT_VERBOSE, 0);
      126.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
      127.     $out = curl_exec($ch);
      128.     curl_close($ch);
      129.     return $out;
      130. }
      131.  
      132. // funkcja wysyłania danych do formularzy
      133. function curl_post ($url,$data,$referer) {
      134.     global $userAgent,$cookie;
      135.     $ch = curl_init();
      136. //    curl_setopt($ch, CURLOPT_VERBOSE, true);
      137.     curl_setopt($ch, CURLOPT_TIMEOUT, 20);
      138.     curl_setopt($ch, CURLOPT_URL, $url);
      139.     curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
      140.     curl_setopt($ch, CURLOPT_REFERER, $referer);
      141.     curl_setopt($ch, CURLOPT_POST, 1);
      142.     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
      143.     curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
      144.     curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
      145.     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
      146.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      147.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
      148.  
      149.     $out = curl_exec($ch);
      150.     curl_close($ch);
      151.     return $out;
      152. }
      153.  
      154.  
      155. /* funkcja szukająca błędów na stronie, niestety nie może być uniwersalna,
      156.    ponieważ w przypadku logowania curl wysyła POST do przekierowywanego GET.
      157.    Można to obejść i jest to na liście todo...
      158. */
      159. function error_check ($page) {
      160.     $doc = new DOMDocument();
      161.     @$doc ->loadHTML($page);
      162.     $xpath = new DOMXPath($doc);
      163.     $error = $xpath->evaluate('//div[@class="box-error"]/p');
      164.     if ($error -> length > 0) {
      165.     for ($n=0;$n < $error->length;$n++) {
      166.         $error_text = $error ->item($n) -> nodeValue;
      167.         echo  $error_text . "<br>\n";
      168.     }
      169.     $fp = fopen('page.html', 'w');
      170.     fwrite($fp,$page);
      171.     fclose($fp);
      172.     exit;
      173.     }
      174.     return false;
      175. }
      176. // funkcja wysyłająca sms'y
      177. function send_sms ($msg,$number) {
      178.     global $sendURL,$smsPost,$smsURL;
      179.     // Wyszukiwanie tokena
      180.     $doc = new DOMDocument();
      181.     @$doc->loadHTML(curl_get($smsURL));
      182.     $xpath = new DOMXPath($doc);
      183.     $token = $xpath->evaluate('//input[@name="/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.token"]')->item(0)->getAttribute('value');
      184.     $sesToken = $xpath->evaluate('//input[@name="_dynSessConf"]')->item(0)->getAttribute('value');
      185.  
      186.     // Formularz wysyłania wiadomości sms
      187.     $smsData = array(
      188.     '_dyncharset' => 'UTF-8',
      189.     '_dynSessConf' => $sesToken,
      190.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.type' => 'sms',
      191.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.type' => ' ',
      192.     'enabled' => 'true',
      193.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.errorURL' => '/portal/map/map/message_box?mbox_view=newsms',
      194.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.errorURL' => ' ',
      195.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.successURL' => '/portal/map/map/message_box?mbox_view=messageslist',
      196.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.successURL' => ' ',
      197.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.to' => $number,
      198.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.to' => ' ',
      199.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.body' => ' ',
      200.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.body' => $msg,
      201.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.token' => $token,
      202.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.token' => ' ',
      203.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create.x' => '0',
      204.     '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create.y' => '0',
      205.     '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create' => ' ',
      206.     '_DARGS' => '/gear/mapmessagebox/smsform.jsp'
      207.        );
      208.     $smsPost = '';
      209.     foreach ($smsData as $a => $b) {
      210.     $smsPost .= urlencode($a). '=' .urlencode($b). '&';
      211.     }
      212.     $smsPost = substr($smsPost,0,-1);
      213.     // Wysyłanie wiadomości
      214.     $send = curl_post($sendURL,$smsPost,$smsURL);
      215.     error_check($send);
      216.     return $send;
      217. }
      218. // Strona początkowa logowania
      219. $startPage = curl_get($startURL);
      220. $doc = new DOMDocument();
      221. @$doc->loadHTML($startPage);
      222.  
      223. $xpath = new DOMXPath($doc);
      224. $sesToken = $xpath->evaluate('//input[@name="_dynSessConf"]')->item(0)->getAttribute('value');
      225. // Formularz logowania do portalu orange.pl
      226.  
      227. $loginData = array(
      228.     '_dyncharset' => 'UTF-8',
      229.     '_dynSessConf' => $sesToken,
      230.     '/tp/core/profile/login/ProfileLoginFormHandler.loginErrorURL' => 'https://www.orange.pl/zaloguj.phtml',
      231.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.loginErrorURL' => ' ',
      232.     '/tp/core/profile/login/ProfileLoginFormHandler.loginSuccessURL' => '',
      233.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.loginSuccessURL' => ' ',
      234.     '/tp/core/profile/login/ProfileLoginFormHandler.firstEnter' => 'true',
      235.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.firstEnter' => ' ',
      236.     '/tp/core/profile/login/ProfileLoginFormHandler.value.login' => $user,
      237.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.value.login' => ' ',
      238.     '/tp/core/profile/login/ProfileLoginFormHandler.value.password' => $pass,
      239.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.value.password' => ' ',
      240.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.rememberMe' => ' ',
      241.     '/tp/core/profile/login/ProfileLoginFormHandler.login.x' => '0',
      242.     '/tp/core/profile/login/ProfileLoginFormHandler.login.y' => '0',
      243.     '_D:/tp/core/profile/login/ProfileLoginFormHandler.login' => ' ',
      244.     '_DARGS' => '/ocp/gear/infoportal/portlets/login/login-box.jsp'
      245.        );
      246. // Poprawienie stringów
      247. $loginPost = '';
      248. foreach ($loginData as $a => $b) {
      249.     $loginPost .= urlencode($a). '=' .urlencode($b). '&';
      250. }
      251. $loginPost = substr($loginPost,0,-1);
      252. // Logowanie
      253. $login = curl_post($loginURL,$loginPost,$startURL);
      254.  
      255. if (preg_match('/Podałeś błędny login lub hasło. Sprawdź je i wpisz jeszcze raz/', $login)) {
      256.     echo "Błędne dane użytkownika.<br>\n";
      257.     exit;
      258. }
      259. if (preg_match('/wyloguj/', $login)) {
      260.     echo "Zalogowano pomyślnie.<br>\n";
      261.     flush();
      262. }
      263. else {
      264.     echo "Serwer przesłał nieoczekiwany status procesu logowania, sprawdź adres url strony logowania.<br>\n";
      265.     $fp = fopen('/tmp/orange_login.html', 'w');
      266.     fwrite($fp,$login);
      267.     fclose($fp);
      268.     exit;
      269. }
      270.  
      271. //error_check($login);
      272.  
      273. /*
      274. *
      275. * Wysyłanie wiadomości
      276. *
      277. */
      278.  
      279. // dzieli wiadomości dłuższe niż 638 znaków na kilka sms'ów
      280. if (strlen($msg) >640) {         // sprawdza długość sms'a
      281.     $msg = str_split($msg,640);     // dzieli sms'a na kilka wiadomości
      282.     $n_sms = count($msg);        // zlicza ilość wiadomości do wysłania
      283.     for ($n=0;$n<$n_sms;$n++) {
      284.     $sent = send_sms($msg[$n],$number);
      285.     echo "Wysłano część ".($n+1)." z $n_sms.<br>\n";
      286.     flush();
      287. //    sleep(3);
      288.     }
      289. }
      290. else {
      291.     $n_sms = 1;
      292.     $sent = send_sms($msg,$number);
      293. }
      294. if (!error_check($sent)) {
      295.     echo "<br>Wiadomość wysłano poprawnie.<br>\n";
      296.     $doc = new DOMDocument();
      297.     @$doc -> loadHTML($sent);
      298.     $xpath = new DOMXPath($doc);
      299.     $nsms1 = $xpath->evaluate('//div[@id="syndication"]//p[@class="item"]/span[@class="value"]')->item(0)->nodeValue;
      300.     $nsms2 = $xpath->evaluate('//div[@id="syndication"]//p[@class="item"]/span[@class="value"]')->item(1)->nodeValue;
      301.     echo "Pozosotało $nsms1 bezpłatnych smsów oraz $nsms2 dodatkowych.<br>\n";
      302. }
      303.  
      304. // Usuwanie wiadomości
      305.  
      306. if ($usun = 1) {
      307.     echo "Usuwanie wiadomości.<br>\n";
      308.     $sent = curl_get($sentURL);
      309.     $doc = new DOMDocument();
      310.     //@$doc->loadHTMLFile("sent.html");
      311.     @$doc -> loadHTML($sent);
      312.     $xpath = new DOMXPath($doc);
      313.     $n_msg = $xpath->evaluate('count(//input[@name="/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.messages"])');
      314.     echo "Ilość wiadomości wysłanych: $n_msg, do usunięcia $n_sms.<br>\n";
      315.     $sesToken = $xpath->evaluate('//input[@name="_dynSessConf"]')->item(0)->getAttribute('value');
      316.     $postData = array(
      317.     '_DARGS' => '/gear/mapmessagebox/sentmessageslist.jsp',
      318.     '_dyncharset' => 'UTF-8',
      319.     '_dynSessConf' => $sesToken,
      320.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.folder' => '',
      321.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.folder' => ' ',
      322.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.successURL' => '',
      323.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.successURL' => ' ',
      324.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.errorURL' => '',
      325.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.errorURL' => ' ',
      326.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.delete.x' => '30',
      327.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.delete.y' => '12',
      328.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.delete' => ' ',
      329.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.folder' => 'Sent',
      330.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.folder' => ' ',
      331.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.successURL' => '/portal/map/map/message_box?mbox_folder=Sent',
      332.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.successURL' => ' ',
      333.     '/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.errorURL' => '/portal/map/map/message_box?mbox_folder=Sent',
      334.     '_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.errorURL' => ' '
      335.     );
      336.     $delPost = '';
      337.     foreach ($postData as $a => $b) {
      338.     $delPost .= urlencode($a). '=' .urlencode($b). '&';
      339.     }
      340.     $delPost = substr($delPost,0,-1);
      341.     // Usuwanie wszystkich aktualnie wysłanych wiadomości
      342.     for ($i=0;$i<$n_sms;$i++) {
      343.     $msgid = $xpath->evaluate('//input[@name="/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.messages"]')->item($i)->getAttribute('value');
      344.     $delPost .= '&'. urlencode('/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.messages'). '=' .urlencode($msgid);
      345.     $delPost .= '&'. urlencode('_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.messages'). '=' .urlencode(' ');
      346.     }
      347.     $delPost .= '&'. urlencode('_DARGS'). '=' .urlencode('/gear/mapmessagebox/sentmessageslist.jsp');
      348.     $delPost .= '&'. urlencode('_D:/amg/ptk/map/messagebox/formhandlers/MessagesFormHandler.messages'). '=' .urlencode(' ');
      349.  
      350.     // Przenoszenie wiadomości do kosza
      351.     curl_post($sentURL,$delPost,$sentURL);
      352.    
      353.     // Otwieranie kosza
      354.     curl_get($trashURL);
      355.     // Dostosowanie zapytania post
      356.     $s = array('sentmessageslist','Sent');
      357.     $r = array('messageslist','Trash');
      358.     $delPost = str_replace($s,$r,$delPost);
      359.    
      360.     // Usuwanie wiadomości
      361.     curl_post($trashURL,$delPost,$trashURL);
      362.     // można kiedyś dodać weryfikacje...
      363.     echo "Usunięto.<br>\n";
      364.  
      365. }
      366.  
      367.  
      368. // Formularz wylogowania z portalu orange.pl
      369.  
      370. $sesToken = $xpath->evaluate('//input[@name="_dynSessConf"]')->item(0)->getAttribute('value');
      371. $logoutData = array(
      372.     '_dyncharset' => 'UTF-8',
      373.     '_dynSessConf' => $sesToken,
      374.     '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.logoutSuccessURL' => '/start.phtml',
      375.     '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.logoutSuccessURL' => ' ',
      376.     '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.logoutErrorURL' => '/portal/map/map/message_box?mbox_view=newsms',
      377.     '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.logoutErrorURL' => ' ',
      378.     '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.logout' => 'wyloguj sie',
      379.     '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.logout' => ' ',
      380.     '_DARGS' => '/portal/layoutTemplates/html/header_welcome.jsp.1'
      381.        );
      382. // Poprawienie stringów
      383. $logoutPost = '';
      384. foreach ($logoutData as $a => $b) {
      385.     $logoutPost .= urlencode($a). '=' .urlencode($b). '&';
      386. }
      387. $logoutPost = substr($logoutPost,0,-1);
      388. $logout = curl_post($logoutURL,$logoutPost,$smsURL);
      389.  
      390. unlink($cookie);
      391.  
      392. ?>
      Download: http://pool.qnapclub.pl/projects/tools/smsc-poland-26003/sms.orange-mbox-2014-2.zip
    2. W ustawieniach serwera SMSC dodaj usługodawcę "Orange Mbox"
    3. Jako szablon tekstowy URL wpisz poniższy link podmieniając adres i ścieżkę na własną lub korzystaj z podanej:
      Kod (Text):
      1. http://pool.qnapclub.pl/projects/tools/smsc-poland-26003/sms.orange-mbox-2014-2.php?login=@@UserName@@&password=@@Password@@&number=@@PhoneNumber@@&message=@@Text@@
    4. Po zapisaniu ustawień, wybierz z listy dodanego usługodawcę i podaj login oraz hasło do bramki SMS Orange Mbox. (Rejestracja jest darmowa, ale usługa tylko dla klientów: Request rejected - www.orange.pl)
    5. W powiadomieniach o alertach zaznacz powiadomienia SMS, a w ustawieniach powiadomień wprowadź numer telefonu.

    T-Mobile
    Bramka Sponsorowana API - darmowa do 10 sms./dzień
    1. W ustawieniach serwera SMSC dodaj usługodawcę "Era-sponsored"
    2. Jako szablon tekstowy URL wpisz poniższy link podmieniając adres i ścieżkę na własną lub korzystaj z podanej:
      Kod (Text):
      1. http://www.era.pl/msg/api/do/tinker/sponsored?login=@@UserName@@&password=@@Password@@&number=@@PhoneNumber@@&failure=http://www.era.pl&success=http://rozrywka.era.pl&mms=false&&message=@@Text@@
    3. Po zapisaniu ustawień, wybierz z listy dodanego usługodawcę i podaj login oraz hasło do bramki sponsorowanej.
    4. W powiadomieniach o alertach zaznacz powiadomienia SMS, a w ustawieniach powiadomień wprowadź numer telefonu.
    Bramka Multimedialna API - płatna
    1. W ustawieniach serwera SMSC dodaj usługodawcę "Era-omnix"
    2. Jako szablon tekstowy URL wpisz poniższy link podmieniając adres i ścieżkę na własną lub korzystaj z podanej:
      Kod (Text):
      1. http://www.era.pl/msg/api/do/tinker/omnix?login=@@UserName@@&password=@@Password@@&number=@@PhoneNumber@@&failure=http://www.era.pl&success=http://rozrywka.era.pl&mms=false&&message=@@Text@@
    3. Po zapisaniu ustawień, wybierz z listy dodanego usługodawcę i podaj login oraz hasło do bramki sponsorowanej.
    4. W powiadomieniach o alertach zaznacz powiadomienia SMS, a w ustawieniach powiadomień wprowadź numer telefonu.

    Play
    Bramka Play24
    1. Na serwerze Web obsługującym PHP (i curl) umieść poniższy kod sms.p4-play24.php
      PHP:
      Select All
      1. <?php
      2. /**
      3.  * @author      Michell Hoduń
      4.  * @copyright   (c) 2010 Michell Hoduń <mhodun@gmail.com>
      5.  * @description Klasa odpowiedzialna za wysyłanie SMS-ów z play.pl.
      6.  */
      7.  
      8. class PlayMobile {
      9.  
      10.  /**
      11.   * Wspomagacz dla CURL'a - ułatwienie dostępu
      12.   *
      13.   * @param string $url
      14.   * @param array $post
      15.   * @param string $ref
      16.   * @param integer $follow
      17.   * @param integer $header
      18.  */
      19.  public static function curl ($url, $post = NULL, $ref = NULL, $follow = 1, $header = 1, $post_type = NULL)
      20.  {
      21.     $ch = curl_init ($url);
      22.    
      23.     curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7');
      24.     curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
      25.    
      26.     // Zapisywanie ciastek do pliku
      27.     curl_setopt($ch,CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');
      28.     curl_setopt($ch,CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
      29.    
      30.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
      31.    
      32.     if ( ! empty($post))
      33.     {
      34.       $postVars='';
      35.  
      36.       foreach ($post as $option => $value)
      37.         $postVars .= $option.'='.urlencode($value).'&';
      38.  
      39.         curl_setopt($ch, CURLOPT_POST, 1);
      40.         curl_setopt($ch, CURLOPT_POSTFIELDS, $postVars);
      41.     }
      42.      
      43.     if($ref)
      44.       curl_setopt($ch, CURLOPT_REFERER, $ref);
      45.    
      46.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      47.     curl_setopt($ch, CURLOPT_HEADER, 1);
      48.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $follow);
      49.    
      50.     $r = curl_exec($ch);
      51.     curl_close($ch);
      52.    
      53.     return $r;
      54.   }
      55.  
      56.  /**
      57.   * Funkcja odpowiedzialna za zalogowanie się konto + zalogowanie do bramki.
      58.   *
      59.   * @param string $login
      60.   * @param string $password
      61.   */
      62.   public function DoLogin ($login, $password)
      63.   {
      64.     $BeforePost = array('SAMLRequest' => $this->GetGateway(), 'target'=> 'https://bramka.play.pl');
      65.    
      66.     $content = $this->curl('https://logowanie.play.pl/p4-idp2/SSOrequest.do', $BeforePost, 'https://bramka.play.pl/composer/public/mmsCompose.do');
      67.    
      68.     preg_match('/name="random" value="(.+?)"/', $content, $rand);
      69.     $post = array('step' => 1, 'next' => 'Next', 'random' =>$rand[1], 'login' =>$login, 'password' =>$password);
      70.    
      71.     // Właściwe zalogowanie się
      72.     $LoginDO = $this->curl('https://logowanie.play.pl/p4-idp2/Login.do',$post,'',0);
      73.  
      74.  
      75.     $samlLog_Post = array('SAMLResponse' => $this->SAMLResponse($LoginDO), 'target'=>'https://bramka.play.pl');
      76.     $this->curl('https://bramka.play.pl/composer/samlLog?action=sso', $samlLog_Post, 'https://logowanie.play.pl/p4-idp2/SSOrequest.do');
      77.    
      78.     return $this->curl('https://bramka.play.pl/composer/j_security_check', $samlLog_Post, 'https://bramka.play.pl/composer/samlLog?action=sso');
      79.   }
      80.  
      81.  /**
      82.   * Pobierz "SAMLRequest" - wymagane do zalogowania.
      83.   *
      84.   * @return $SAMLRequest
      85.   */
      86.   public function GetGateway()
      87.   {
      88.     $SAML = $this->curl('https://bramka.play.pl/composer/public/mmsCompose.do', NULL, '', 0, 0);
      89.    
      90.     // Wyszukaj SAMLRequest
      91.     preg_match('/value="(.*)"/msU',$SAML,$w);
      92.    
      93.     $SAMLRequest = $w[1];
      94.    
      95.     // Zwróć
      96.     return $SAMLRequest;
      97.   }
      98.  
      99.  /**
      100.   * Wyciągnięcie SAMLResponse z stringa (treści strony).
      101.   *
      102.   * @param string $content
      103.   */
      104.   public function SAMLResponse ($content)
      105.   {
      106.     preg_match('/value="(.*)"/msU', $content, $w);
      107.     return trim($w[1]);
      108.   }
      109.  
      110.   public function SendSMS ($odbiorca, $tresc)
      111.   {
      112.     $content = $this->curl('https://bramka.play.pl/composer/public/editableSmsCompose.do');
      113.    
      114.     // Wyciągnij kod 'zabezpieczający'
      115.     preg_match('/name="randForm" value="(.+?)"/', $content, $rand);
      116.    
      117.     $SMS = array('recipients' => $odbiorca, 'content_in' => $tresc, 'czas' => 0, 'sendform' => 'on', 'randForm' => $rand[1], 'old_signature' => '', 'old_content' => $tresc,'content_out' => $tresc);
      118.  
      119.     $content2 = $this->curl('https://bramka.play.pl/composer/public/editableSmsCompose.do', $SMS);
      120.    
      121.     $SMS['SMS_SEND_CONFIRMED'] = 'Wyślij';
      122.     $content3 = $this->curl('https://bramka.play.pl/composer/public/editableSmsCompose.do', $SMS);
      123.    
      124.     if (preg_match('/Wiadomo(.*) zosta(.*)a wys(.*)ana/',$content3))
      125.     {
      126.       // Wiadomość została wysłana poprawnie
      127.       return TRUE;
      128.     }
      129.     else
      130.     {
      131.       // Wiadomość nie została wysłana - wystąpił błąd podczas jej wysyłania.
      132.       return FALSE;
      133.     }
      134.   }
      135. }
      136.  
      137. // defs
      138. $login = 'username';
      139. $password = 'password';
      140. $number = '';
      141. $content = '';
      142.  
      143. if ($_GET['login'] != "") {
      144.     $login = $_GET['login'];
      145. }
      146.  
      147. if ($_GET['password'] != "") {
      148.     $password = $_GET['password'];
      149. }
      150.  
      151. if ($_GET['number'] != "") {
      152.     //$number = '+'.$_GET['number'];
      153.     $number = $_GET['number'];
      154. }
      155.  
      156. if ($_GET['message'] != "") {
      157.     $content = $_GET['message'];
      158. }
      159.  
      160. echo "<pre>
      161. -------------------------------------------------------------------------------
      162. login   : ". $login ."
      163. password: <secret>
      164. number  : ". $number ."
      165. message :
      166. ". $content ."
      167. -------------------------------------------------------------------------------\n";
      168.  
      169. // Zaladowanie obiektu
      170. $play = new PlayMobile();
      171. // Zalogowanie sie na konto Play
      172. $play->DoLogin($login, $password);
      173.  
      174. if($play->SendSMS($number, $content))
      175. {
      176.     echo "Status (0): Message sent! \n";
      177. }
      178. else
      179. {
      180.     echo "Status (127): Unknown or un'def error. \n";
      181. }
      182.  
      183. echo "-------------------------------------------------------------------------------
      184. </pre>";
      185.  
      186. ?>
      Download: http://pool.qnapclub.pl/projects/tools/smsc-poland-26006/sms.p4-play24.zip
    2. W ustawieniach serwera SMSC dodaj usługodawcę "p4-play24"
    3. Jako szablon tekstowy URL wpisz poniższy link podmieniając adres i ścieżkę na własną lub korzystaj z podanej:
      Kod (Text):
      1. http://pool.qnapclub.pl/projects/tools/smsc-poland-26006/sms.p4-play24.php?login=@@UserName@@&password=@@Password@@&number=@@PhoneNumber@@&message=@@Text@@
    4. Po zapisaniu ustawień, wybierz z listy dodanego usługodawcę i podaj login oraz hasło do bramki SMS Play24.
    5. W powiadomieniach o alertach zaznacz powiadomienia SMS, a w ustawieniach powiadomień wprowadź numer telefonu.

    Gadu-Gadu
    Gateway

    1. W swoim komunikatorze Gadu-Gadu, dodaj nowy kontakt numer 48280073 (qLog-IM).
    2. Będąc dostępnym, napisz do bota wiadomość o treści ZAPISZ.
    3. Zaloguj się do panelu zarządzania serwerem QNAP i w ustawieniach powiadomień, przejdź do konfiguracji serwera SMSC. Następnie dodaj nowego usługodawcę "Gadu-Gadu".
    4. Jako szablon tekstowy URL wpisz poniższy link:
      Kod (Text):
      1. http://pool.qnapclub.pl/projects/tools/bot-im-gadugadu/bot.php?message=@@Text@@&number=@@PhoneNumber@@
    5. Po zapisaniu ustawień, wybierz z listy dodanego usługodawcę. Pola nazwa użytkownika oraz hasło pozostaw puste.
    6. W powiadomieniach o alertach zaznacz powiadomienia SMS, a w ustawieniach powiadomień zamiast numeru telefonu podaj swój numer Gadu-Gadu.
    7. Od tej pory powiadomienia o alertach będziesz otrzymywał na Gadu-Gadu.
     
    Last edited: 27 Wrzesień 2013
  2. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    Właśnie skonfigurowałem bramkę Orange, wiadomości są przekazywane do Mbox'a widnieją jako wysłane ale ... Nie dochodzą.

    Problemem jest prefix kraju (48) w przypadku polski. Zrobiłem test i z prefixem wiadomości nie dochodzą a bez niego wszystko działa idealnie.

    W interfejsie QNAP'a trzeba wybrać prefix kraju, rozwiązanie pośrednie to znalezienie prefixu zaczynającego się na nr z początku naszego nr telefonu, sprawdziłem i dochodzą bez problemu. :)

    Czy jest jakaś opcja aby ominąć prefix i pozostawić sam nr ?

    Ja tam początek swojego nr znalazłem ale może komuś się nie uda i lipa z tak piknej konfiguracji bramki ;)
     
    Last edited: 5 Sierpień 2013
  3. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    22:27
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Reasumując przed numerem należy dodać 48 tak?
     
  4. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    Nie, to 48 - prefix jest powodem nie działania skrzynki.

    Przykładowo, Twój nr telefonu to 555 555 555.
    Wybierasz kraj PL (+48). Nr, który wpada do mboxa wygląda tak 48555555555 i nie dochodzi

    Jak znajdziesz kraj z prefixem +555 to podajesz nr 555555 i do mboxa jest raportowany nr 555555555, czyli taki jak powinien być i ten dochodzi.
     
  5. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    22:27
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    A spróbuj wywołać skrypt w sposób:
    Kod (Text):
    1. http://pool.qnapclub.pl/projects/tools/smsc-poland-26001/sms.plus-bsm.php?login=LOGIN&password=PASS&number=NUMER&message=test&sender=NAS
    ale w zamian za LOGIN, PASS oraz NUMER podaj parametry wymagane. I powiedz czy musiałeś podać prefix w NUMER czy nie...
     
    Last edited: 24 Październik 2013
  6. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    Zmiennej @@PhoneNumber@@ nie można podmienić. Jak podmienisz to nie akceptuje zmian. Zmienne loginu i hasła można ustalić na sztywno.
     
  7. rithien
    Offline

    rithien SysBob Noobie

    Dołączył:
    26 Grudzień 2010
    Wiadomości:
    158
    Miejscowość:
    Chrząszczyżewoszyce powiat Łękołody
    Local Time:
    22:27
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE
    A w tym sktypcie do wysylki nie mozna obrobic numer ?
     
  8. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    22:27
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Mam na myśli, abyś wywołał z przeglądarki i sprawdził jaki format numeru musisz podać.

    Da się da :) Tylko trzeba mieć konto w Orange ... A ja nie mam ;)
     
  9. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    To raczej nie powinno działać :)
     
  10. rithien
    Offline

    rithien SysBob Noobie

    Dołączył:
    26 Grudzień 2010
    Wiadomości:
    158
    Miejscowość:
    Chrząszczyżewoszyce powiat Łękołody
    Local Time:
    22:27
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE
    To wktorym momencie jest dodawany prefix ?
     
  11. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    To ja się chyba zgubiłem, co mam z przeglądarki wywołać ? Na stronie orange ?
    --- Połączono posty, 6 Sierpień 2013, Data oryginalnego postu: 6 Sierpień 2013 ---
    Prefix dodaje serwer przekazując wiadomość.
     
  12. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    22:27
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
     
  13. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    -------------------------------------------------------------------------------
    login :
    password:
    number :
    message :

    -------------------------------------------------------------------------------
    Wiadomość została wysłana prawidłowo. W tym miesiącu pozostało do wykorzystania: 28 wiadomości SMS.
    -------------------------------------------------------------------------------

    No tak musi gadać, przeca prefix dodaje nas a nie strona.
     
  14. rithien
    Offline

    rithien SysBob Noobie

    Dołączył:
    26 Grudzień 2010
    Wiadomości:
    158
    Miejscowość:
    Chrząszczyżewoszyce powiat Łękołody
    Local Time:
    22:27
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE
    Serwer masz na mysli qnap ?
    Jezeli tak to w skrypcie ktory udostepnil Mariusz zamiast tego:
    Kod (PHP):
    1. if ($_GET['number'] != "") {
    2.  
    3.     $conf["number"] = $_GET['number'];
    wstaw to:
    Kod (PHP):
    1. if ($_GET['number'] != "") {
    2.  
    3.     $conf["number"] = substr($_GET['number'], -9);
    Lub wpisz numer na stale do arraya i wywal pobieranie z $_GET
     
    • Lubię to! Lubię to! x 1
  15. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    Czyli ta zmiana w skrypcie pobierze tylko 9 cyfr bez prefixu ?
     
  16. rithien
    Offline

    rithien SysBob Noobie

    Dołączył:
    26 Grudzień 2010
    Wiadomości:
    158
    Miejscowość:
    Chrząszczyżewoszyce powiat Łękołody
    Local Time:
    22:27
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE
    Juz wiem o co chodzi
    zamiast tego:
    Kod (Text):
    1. if ($_GET['number'] != "") {
    2.  
    3.  
    4.     $conf["number"] = $_GET['number'];
    daj tak:
    Kod (Text):
    1. if ($_GET['number'] != "") {
    2.  
    3.  
    4.     $conf["number"] ='+'.$_GET['number'];
     
  17. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    Kłopot taki, że zapisy Twoje odnoszą się do Plus'a a ja rozmawiam cały czas o Orange.
     
  18. rithien
    Offline

    rithien SysBob Noobie

    Dołączył:
    26 Grudzień 2010
    Wiadomości:
    158
    Miejscowość:
    Chrząszczyżewoszyce powiat Łękołody
    Local Time:
    22:27
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE
    Ja tez rozmawiam o orange
    Po prostu znajdz te wpisy w skrypcie dotyczacym orange i zmien je na takie jak podalem

    Hint: linia 66,67
     
  19. qckm
    Offline

    qckm Entry Technician Q Associate

    Dołączył:
    27 Marzec 2010
    Wiadomości:
    88
    Local Time:
    21:27
    Oceny:
    +5 / 0 / -0
    Followers:
    0
    QNAP:
    TS-809 Pro
    Ethernet:
    1 GbE
    TS-809 Pro 1 GbE
    Kod (Text):
    1. if ($_GET['number'] != "") {
    2.     $number = $_GET['number'];
    Nie biegły z tych języków ale to nie wygląda tak samo to napisałeś.
     
  20. rithien
    Offline

    rithien SysBob Noobie

    Dołączył:
    26 Grudzień 2010
    Wiadomości:
    158
    Miejscowość:
    Chrząszczyżewoszyce powiat Łękołody
    Local Time:
    22:27
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE
    wiem co napisalem i wiem ze nie doczytales :)
    https://forum.qnap.net.pl/threads/serwer-smsc-powiadomienia-o-alertach-bramki-sms.3684/#post-10231
     

Poleć tę stronę

Użytkownicy znaleźli te stronę szukając słów:

  1. https://logowanie.play.pl/p4-idp2/SSOrequest.do?action=sso

    ,
  2. bramka sms qnap

    ,
  3. co to powiadomienia smsc