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 372
    Miejscowość:
    Nowy Sącz
    Local Time:
    07:32
    Oceny:
    +1 422 / 30 / -6
    Followers:
    23
    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:
    06:32
    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 372
    Miejscowość:
    Nowy Sącz
    Local Time:
    07:32
    Oceny:
    +1 422 / 30 / -6
    Followers:
    23
    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:
    06:32
    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 372
    Miejscowość:
    Nowy Sącz
    Local Time:
    07:32
    Oceny:
    +1 422 / 30 / -6
    Followers:
    23
    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:
    06:32
    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:
    07:32
    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 372
    Miejscowość:
    Nowy Sącz
    Local Time:
    07:32
    Oceny:
    +1 422 / 30 / -6
    Followers:
    23
    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:
    06:32
    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:
    07:32
    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:
    06:32
    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 372
    Miejscowość:
    Nowy Sącz
    Local Time:
    07:32
    Oceny:
    +1 422 / 30 / -6
    Followers:
    23
    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:
    06:32
    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:
    07:32
    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:
    06:32
    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:
    07:32
    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:
    06:32
    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:
    07:32
    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:
    06:32
    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:
    07:32
    Oceny:
    +70 / 1 / -0
    Followers:
    0
    QNAP:
    null
    Ethernet:
    1 GbE
    null 1 GbE

Poleć tę stronę

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Odrzuć powiadomienie.