abo-cbq.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <?PHP
  2. //abo-cbq-w.php features: arpupdate, speedupdate, speedcalculate, etc
  3. $error5="error5 Przykro nam, serwis jest dostepny wylacznie dla
  4. autoryzowanych uzytkownikow";
  5. if(file_exists(".config.php")) include(".config.php");
  6. //$komputery="/home/www/netsatmedia_portal/abonenci/www/komputery";
  7. $czy_error_5=exec("cat $komputery |grep $REMOTE_ADDR");
  8. //echo "$REMOTE_ADDR $czy_error_5 <br>" ;
  9. if($czy_error_5) {
  10. $ADM_USER="$SQL_USER";
  11. //$SQL_DATABASE="superusers";
  12. //$INTERFACE_ADDR="localhost";
  13. $ADM_USER_PASS="$SQL_USER_PASS";
  14. $SQL_TABLE_USERS="USERS2";
  15. $SQL_TABLE_USERS_HIST="USERS2_HIST";
  16. $SQL_TABLE_ADMIN_USERS="ADMIN_USERS";
  17. //if ($REMOTE_ADDR == "62.233.148.234") $AREA_LIMIT="and S_IP like '192.168.1.%'";
  18. if($test) echo "OK"; else if($hw and $dana1) {
  19. $conn=mysql_pconnect($INTERFACE_ADDR,$ADM_USER,$ADM_USER_PASS);
  20. if (!$conn) die("ERROR HTTP_ERROR503; podczas tworzenia polaczenia do bazy $SQL_DATABASE !\n");
  21. mysql_select_db($SQL_DATABASE) or die("ERROR HTTP_ERROR503; podczas wyboru bazy!");
  22. $zapSQLHIST="SELECT ID,S_HWSTAT from $SQL_TABLE_USERS where S_IP='$dana1' $AREA_LIMIT LIMIT 0,1;";
  23. $result = mysql_query($zapSQLHIST,$conn) or die("Blad zapytania2!");
  24. while ($h=mysql_fetch_object($result))
  25. {
  26. $ID_USERS2="$h->ID";
  27. $S_HWSTAT="$h->S_HWSTAT";
  28. }
  29. if(strstr($S_HWSTAT,DETECT)) {
  30. $zapSQLHIST="INSERT into $SQL_TABLE_USERS_HIST (ID,ID_USERS2,A_RECORD_UPDATE_DATE,A_RECORD_UPDATE_AUTHOR,S_HW,S_HWSTAT) values ('','$ID_USERS2',CURRENT_DATE,'$REMOTE_HOST','$hw','FIXED');";
  31. $result = mysql_query($zapSQLHIST,$conn) or die("Blad zapytania2!");
  32. echo " OK HISTORY SUBMITED";
  33. $zapSQL="UPDATE $SQL_TABLE_USERS set S_HW='$hw', S_HWSTAT='FIXED' where S_IP='$dana1' and S_HWSTAT='DETECT';";
  34. $result = mysql_query($zapSQL,$conn) or die("Blad zapytania!");
  35. if($result=1) echo "OK"; else echo "FAILED, ERROR $hw $dana1";
  36. } else echo "ERROR - NOT SUBMITED $hw $dana1 - maybe already done?";
  37. }
  38. else if($SPD and $dana1) {
  39. //weryfikacja danych
  40. if($U_LD and $U_TB and $U_TS) { //echo "ZMIENNE-OK" ;
  41. $conn=mysql_pconnect($INTERFACE_ADDR,$ADM_USER,$ADM_USER_PASS);
  42. if (!$conn) die("ERROR HTTP_ERROR503; podczas tworzenia polaczenia do bazy $SQL_DATABASE !\n");
  43. mysql_select_db($SQL_DATABASE) or die("ERROR HTTP_ERROR503; podczas wyboru bazy!");
  44. $zapSQL="SELECT ID,S_IP,N_AVG_TRAFFIC,P_SERVICE_QUOTA,P_SERVICE_QUOTA_PROFILE from $SQL_TABLE_USERS where S_IP='$dana1' $AREA_LIMIT LIMIT 0,1;";
  45. $result = mysql_query($zapSQL,$conn) or die("Blad zapytania2!");
  46. while ($h=mysql_fetch_object($result))
  47. {
  48. $ID_USERS2="$h->ID";
  49. $WYPIS="$h->N_AVG_TRAFFIC";
  50. $P_SERVICE_QUOTA="$h->P_SERVICE_QUOTA"; //FOR AUTOSPEED CHANGE CALCULATE
  51. $P_SERVICE_QUOTA_PROFILE="$h->P_SERVICE_QUOTA_PROFILE"; //FOR AUTOSPEED CHANGE CALCULATE
  52. function VARDEF() {
  53. global $SPEED ;
  54. $VAR = " Array ( ";
  55. for (;(key($SPEED)); next($SPEED))
  56. {
  57. $VAR = $VAR . "\"" . key($SPEED) . "\" => Array ( ";
  58. for (;(key($SPEED[key($SPEED)])); next($SPEED[key($SPEED)]))
  59. {
  60. $VAR = $VAR . " \"" . key($SPEED[key($SPEED)]) . "\"=>\"" . $SPEED[key($SPEED)][key($SPEED[key($SPEED)])] . "\"," ;
  61. }
  62. $VAR = $VAR . " ), ";
  63. }
  64. $VAR = $VAR . " ) " ;
  65. //echo $VAR ;
  66. return $VAR;
  67. }
  68. if (! "$TARIFY" ) $TARIFY=T1 ;
  69. if(! "$WYPIS" ) { echo "Pierwszy Wpis" ;
  70. //$SPEED["AS"]["0"]="$U_LS" ; // $AS="$U_LS" ; //TOT_AVG_SPD
  71. //$SPEED["TB"]["T0"]="$U_TB" ; // $TB="$U_TB" ; //TOT_BYTES
  72. //$SPEED["TT"]["T0"]="$U_LD" ; // $TT="$U_LD" ; //TOT_TIME
  73. //$SPEED["AS"]["$TARIFY"]="$U_LS" ; // $AS[$TARIFY]="$U_LS" ; //AVG_SPD
  74. $SPEED["TB"]["$TARIFY"]="0" ; // $TB[$TARIFY]="$U_TB" ; //TOT_BYTES
  75. $SPEED["LB"]["$TARIFY"]="$U_TB" ; // ; //LAST_BYTES
  76. $SPEED["TT"]["$TARIFY"]="0" ; // $TT[$TARIFY]="$U_LD" ; //TOT_TIME
  77. //$SPEED["CD"]["$TARIFY"]="$U_LD" ; // $LD[$TARIFY]="$U_LD" ; //CURR_DELTA //$SPEED["LS"]["$TARIFY"]="$U_LS" ; // $LS[$TARIFY]="$U_LS" ; //LAST_SPD
  78. $SPEED["LD"]["$TARIFY"]="$U_LD" ; // $LD[$TARIFY]="$U_LD" ; //LAST_DELTA
  79. $SPEED["TS"]["$TARIFY"]="$U_TS" ; // $TS[$TARIFY]="$U_TS" ; //TIMESTAMP
  80. ;
  81. print "$C_WYPIS";
  82. ////
  83. //VAR array definiton begins
  84. //EOF $VAR definition
  85. //echo "<HR>";
  86. //print_r($SPEED);
  87. //echo "<HR>";
  88. $C_WYPIS=VARDEF();
  89. $zapSQL="UPDATE $SQL_TABLE_USERS set N_AVG_TRAFFIC='$C_WYPIS' where S_IP='$dana1' $AREA_LIMIT ;" ;
  90. //echo $zapSQL ;
  91. $result_1 = mysql_query($zapSQL,$conn) or die("Blad zapytania!");
  92. if($result_1=1) echo "OK"; else echo "FAILED, ERROR $C_WYPIS $dana1";
  93. $result_1="";
  94. } // EOF Pierwszy Wpis
  95. else { //echo "Sprawdzamy obecne wpisy<br>";
  96. eval("\$SPEED = $WYPIS ;");
  97. //echo "<HR>";
  98. //print_r($SPEED);
  99. //echo "<HR>";
  100. //echo "Porownujemy czy aktualizujemy - czy nie<br>";
  101. //echo $SPEED["TS"]["$TARIFY"] . " = " . $U_TS . " TB= " . $SPEED["TB"]["$TARIFY"] . ". " ;
  102. if($SPEED["TS"]["$TARIFY"] == $U_TS) {
  103. $SPEED["LB"]["$TARIFY"] = $U_TB ;
  104. $SPEED["LD"]["$TARIFY"] = $U_LD ;
  105. }
  106. else
  107. { $SPEED["TB"]["$TARIFY"] = $SPEED["TB"]["$TARIFY"] + $SPEED["LB"]["$TARIFY"] ;
  108. $SPEED["TT"]["$TARIFY"] = $SPEED["TT"]["$TARIFY"] + $SPEED["LD"]["$TARIFY"] ;
  109. $SPEED["LB"]["$TARIFY"] = $U_TB ;
  110. //echo "diff";
  111. ;}
  112. $SPEED["LD"]["$TARIFY"] = $U_LD ;
  113. //echo $SPEED["TB"]["$TARIFY"] ;
  114. //$SPEED["TB"]["$TARIFY"]="$U_TB" ; //TOT_BYTES
  115. //$SPEED["LB"]["$TARIFY"]="$U_TB" ; //LAST_BYTES
  116. //$SPEED["TT"]["$TARIFY"]="$U_LD" ; //TOT_TIME
  117. //$SPEED["LD"]["$TARIFY"]="$U_LD" ; //LAST_DELTA
  118. $SPEED["TS"]["$TARIFY"]="$U_TS" ; //TIMESTAMP
  119. //$SPEED["TB"]["0"]="$U_TB" ; //TOT_BYTES
  120. //$SPEED["TT"]["0"]="$U_LD" ; //TOT_TIME
  121. //print_r($SPEED);
  122. $C_WYPIS=VARDEF();
  123. $zapSQL="UPDATE $SQL_TABLE_USERS set N_AVG_TRAFFIC='$C_WYPIS' where S_IP='$dana1' $AREA_LIMIT ;" ;
  124. //echo $zapSQL ;
  125. $result_1 = mysql_query($zapSQL,$conn) or die("Blad zapytania!");
  126. if($result_1=1) echo "OK"; else echo "FAILED, ERROR $C_WYPIS $dana1";
  127. $result_1="";
  128. //SPEED AUTOCHANGE OPTION
  129. if($TARIFY) {
  130. if ($P_SERVICE_QUOTA_PROFILE) eval("\$LIMITS = $P_SERVICE_QUOTA_PROFILE ;"); else {
  131. //VAR DECLARATION
  132. $LIMITS["LBS_TBS_MAX_ANDOR"]["T1"]="OR"; //OPERATOR AND lub OR (zmniejszanie speeda IF)
  133. $LIMITS["LBS_TBS_MIN_ANDOR"]["T1"]="AND"; //OPERATOR AND lub OR (zwiekszanie speeda IF)
  134. $LIMITS["LBS_MIN_OK"]["T1"]="3000"; //in Bps LAST BYTES jezeli mniej to zwiekszamy
  135. $LIMITS["LBS_MAX_OK"]["T1"]="6000"; //in Bps LAST BYTES jezeli wiecej to zmniejszamy
  136. $LIMITS["TBS_MIN_OK"]["T1"]="2000"; //in Bps TOTAL BYTES jezeli mniej to zwiekszamy
  137. $LIMITS["TBS_MAX_OK"]["T1"]="4000"; //in Bps TOTAL BYTES jezeli wiecej to zwiekszamy
  138. $LIMITS["INC_STEP"]["T1"]="10"; //in kilobits O tyle jest zwiekszany speed
  139. $LIMITS["DEC_STEP"]["T1"]="10"; //in kilobits O tyle jest zmniejszany speed
  140. $LIMITS["MAX_SPD"]["T1"]="160"; //in Kilobits per second - MAX speed dla abonenta
  141. $LIMITS["MIN_SPD"]["T1"]="70"; //in Kilobits per second - MIN speed dla abonenta
  142. $LIMITS["LBS_DELTA_MIN"]["T1"]="3600"; //in secons - MIN delta for speed calculate
  143. } //EOF if ($P_SERVICE_QUOTA_PROFILE) else
  144. //EOF VAR DELARATION
  145. //echo " * SPEED[TB][TARIFY] :";
  146. //echo $SPEED["TB"]["$TARIFY"] ;
  147. //echo " * SPEED[TT][TARIFY] :";
  148. //echo $SPEED["TT"]["$TARIFY"] ;
  149. //echo " * SPEED[LB][TARIFY] :";
  150. //echo $SPEED["LB"]["$TARIFY"] ;
  151. //echo " * SPEED[LD][TARIFY] :";
  152. //echo $SPEED["LD"]["$TARIFY"] ;
  153. //print_r($LIMITS);
  154. if(strlen($LIMITS["LBS_TBS_MAX_ANDOR"]["$TARIFY"])>0 and
  155. strlen($LIMITS["LBS_TBS_MIN_ANDOR"]["$TARIFY"])>0 and
  156. strlen($LIMITS["LBS_MIN_OK"]["$TARIFY"])>0 and
  157. strlen($LIMITS["LBS_MAX_OK"]["$TARIFY"])>0 and
  158. strlen($LIMITS["TBS_MIN_OK"]["$TARIFY"])>0 and
  159. strlen($LIMITS["TBS_MAX_OK"]["$TARIFY"])>0 and
  160. strlen($LIMITS["INC_STEP"]["$TARIFY"])>0 and
  161. strlen($LIMITS["DEC_STEP"]["$TARIFY"])>0 and
  162. strlen($LIMITS["MAX_SPD"]["$TARIFY"])>0 and
  163. strlen($LIMITS["MIN_SPD"]["$TARIFY"])>0 and
  164. strlen($LIMITS["LBS_DELTA_MIN"]["$TARIFY"])>0) {
  165. if ($SPEED["LD"]["$TARIFY"] > $LIMITS["LBS_DELTA_MIN"]["$TARIFY"] ) {
  166. //POD katem zwiekszenia limitow
  167. if ($SPEED["TB"]["$TARIFY"]/$SPEED["TT"]["$TARIFY"] < $LIMITS["TBS_MIN_OK"]["$TARIFY"]) $VAR_INC_TOT="OK";
  168. if ($SPEED["LB"]["$TARIFY"]/$SPEED["LD"]["$TARIFY"] < $LIMITS["LBS_MIN_OK"]["$TARIFY"]) $VAR_INC_LAST="OK";
  169. if ($SPEED["TB"]["$TARIFY"]/$SPEED["TT"]["$TARIFY"] > $LIMITS["TBS_MAX_OK"]["$TARIFY"]) $VAR_DEC_TOT="OK";
  170. if ($SPEED["LB"]["$TARIFY"]/$SPEED["LD"]["$TARIFY"] > $LIMITS["LBS_MAX_OK"]["$TARIFY"]) $VAR_DEC_LAST="OK";
  171. //echo " * VAR INCDECs $VAR_INC_TOT , $VAR_INC_LAST , $VAR_DEC_TOT , $VAR_DEC_LAST EOF";
  172. if (($VAR_INC_TOT=="OK" or $VAR_INC_LAST=="OK") and $LIMITS["LBS_TBS_MIN_ANDOR"]["$TARIFY"]=="OR") $VAR_INC_PERM="OK";
  173. if (($VAR_INC_TOT=="OK" and $VAR_INC_LAST=="OK") and $LIMITS["LBS_TBS_MIN_ANDOR"]["$TARIFY"]=="AND") $VAR_INC_PERM="OK";
  174. if (($VAR_DEC_TOT=="OK" or $VAR_DEC_LAST=="OK") and $LIMITS["LBS_TBS_MAX_ANDOR"]["$TARIFY"]=="OR") $VAR_DEC_PERM="OK";
  175. if (($VAR_DEC_TOT=="OK" and $VAR_DEC_LAST=="OK") and $LIMITS["LBS_TBS_MAX_ANDOR"]["$TARIFY"]=="AND") $VAR_DEC_PERM="OK";
  176. } //EOF if ($SPEED["LD"]["$TARIFY"] > $LIMITS["LBS_DELTA_MIN"]["$TARIFY"] )
  177. if ($VAR_DEC_PERM=="OK" or $VAR_INC_PERM=="OK") {
  178. //echo " * CHANGING VALUES of P_SERVICE_QUOTA: $P_SERVICE_QUOTA * ";
  179. //Czy dodajemy czy odejmujemy oraz ile
  180. if ($VAR_INC_PERM=="OK") $C_P_SERVICE_QUOTA=$P_SERVICE_QUOTA + $LIMITS["INC_STEP"]["$TARIFY"] ;
  181. if ($VAR_DEC_PERM=="OK") $C_P_SERVICE_QUOTA=$P_SERVICE_QUOTA - $LIMITS["DEC_STEP"]["$TARIFY"] ;
  182. if ($VAR_INC_PERM=="OK" and ($C_P_SERVICE_QUOTA > $LIMITS["MAX_SPD"]["$TARIFY"] )) $C_P_SERVICE_QUOTA=$LIMITS["MAX_SPD"]["$TARIFY"] ;
  183. if ($VAR_DEC_PERM=="OK" and ($C_P_SERVICE_QUOTA < $LIMITS["MIN_SPD"]["$TARIFY"] )) $C_P_SERVICE_QUOTA=$LIMITS["MIN_SPD"]["$TARIFY"] ;
  184. //mysql_select_db($SQL_DATABASE) or die("ERROR podczas wyboru bazy!");
  185. $zapSQL3="UPDATE $SQL_TABLE_USERS set P_SERVICE_QUOTA='$C_P_SERVICE_QUOTA' where S_IP='$dana1' $AREA_LIMIT ;";
  186. echo "Zapytanie do bazy odnosnie zmiany: $zapSQL3 *";
  187. $result3 = mysql_query($zapSQL3,$conn) or die("Blad zapytania3!");
  188. } //EOF if ($VAR_DEC_PERM=="OK" or $VAR_INC_PERM="OK")
  189. } else echo "*PROBLEM-at-USERSSETTINGS*"; //EOF LONG... Variables Check
  190. } //EOF SPEED AUTOCHANGE OPTION
  191. }
  192. }
  193. //EOF ZMIENNEOK
  194. } else {
  195. echo "TUTAJJJJ" ;
  196. //##
  197. } //EOF zmienne NIEOK
  198. //##
  199. } else {
  200. $conn=mysql_pconnect($INTERFACE_ADDR,$ADM_USER,$ADM_USER_PASS);
  201. if (!$conn) die("ERROR HTTP_ERROR503; podczas tworzenia polaczenia do bazy $SQL_DATABASE !\n");
  202. mysql_select_db($SQL_DATABASE) or die("ERROR HTTP_ERROR503; podczas wyboru bazy!");
  203. $zapSQL="SELECT * FROM $SQL_TABLE_USERS where S_IP='$dana1' $AREA_LIMIT LIMIT 0,1 ;";
  204. //echo "$zapSQL";
  205. $result = mysql_query($zapSQL,$conn) or die("ERROR HTTP_ERROR503; Blad zapytania!");
  206. // $user=mysql_fetch_object($result);
  207. // if ((mysql_num_rows($result)>0) && ($user->pass==$PHP_AUTH_PW))
  208. while ($h=mysql_fetch_object($result))
  209. {
  210. echo "$h->S_IP;";
  211. echo "$h->P_NAME;";
  212. echo "$h->S_HOST;";
  213. //echo "$h->S_HW;";
  214. //echo "$h->S_HW;";
  215. //S_HW
  216. if(strstr($h->S_HWSTAT,BLOCK)) echo "BLOCK $h->A_STATUS_INFO $h->S_HW;"; else
  217. if(strstr($h->S_HWSTAT,FREE)) echo "FREE $h->S_HW $h->A_STATUS_INFO;"; else
  218. if(strstr($h->S_HWSTAT,DETECT)) echo "FREE DETECT $h->S_HW $h->A_STATUS_INFO;"; else {
  219. //if(strstr($h->S_HWSTAT,DETECT)) echo "FREE DETECT $h->S_HW $h->A_STATUS_INFO;"; else {
  220. if(strstr($h->S_HW,BLOCK)) {
  221. echo "$h->S_HW;";
  222. } else {
  223. if(strstr($h->S_HW,FREE)) {
  224. echo "FREE;";
  225. } else echo "$h->S_HW;";
  226. }
  227. }
  228. //S_HWSTAT_DETECT
  229. //S_HW KONIEC
  230. echo "$h->S_ADDRESS_STREET;";
  231. echo "$h->P_SERVICE_QUOTA;";
  232. //echo "$h->S_HWSTAT;";
  233. //echo "nowa";
  234. }
  235. }
  236. } else {
  237. echo "$error5 HTTP_ERROR503;" ;
  238. }
  239. //echo "KONIEC";
  240. ?>