Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2018
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.78 KB | None | 0 0
  1. <?php
  2.  
  3. function freeradius_ConfigOptions(){
  4. $configarray = array(
  5. "radius_group" => array (
  6. "FriendlyName" => "Radius Group",
  7. "Type" => "text",
  8. "Size" => "25",
  9. "Description" => "FreeRADIUS group name"
  10. ),
  11. "usage_limit" => array (
  12. "FriendlyName" => "Usage Limit",
  13. "Type" => "text",
  14. "Size" => "25",
  15. "Description" => "In bytes. 0 or blank to disable"
  16. ),
  17. "rate_limit" => array (
  18. "FriendlyName" => "Rate Limit",
  19. "Type" => "text",
  20. "Size" => "25",
  21. "Description" => "Router specific. 0 or blank to disable"
  22. ),
  23. "session_limit" => array (
  24. "FriendlyName" => "Session Limit",
  25. "Type" => "text",
  26. "Size" => "5",
  27. "Description" => "Fixed number. 0 or balnk to disable"
  28. )
  29. );
  30. return $configarray;
  31. }
  32.  
  33. function freeradius_AdminServicesTabFields($params){
  34. $username = $params["username"];
  35. $serviceid = $params["serviceid"];
  36.  
  37. $collected = collect_usage($params);
  38.  
  39. $fieldsarray = array(
  40. '# of Logins' => $collected['logins'],
  41. 'Accumalated Hours Online' => secs_to_h( $collected['logintime'] ),
  42. 'Total Usage' => byte_size( $collected['total'] ),
  43. 'Uploaded' => byte_size( $collected['uploads'] ),
  44. 'Downloaded' => byte_size( $collected['downloads'] ),
  45. 'Usage Limit' => byte_size( $collected['usage_limit'] ),
  46. 'Status' => $collected['status']
  47. );
  48. return $fieldsarray;
  49. }
  50.  
  51. function freeradius_ClientArea($params){
  52. $username = $params["username"];
  53. $serviceid = $params["serviceid"];
  54.  
  55. $collected = collect_usage($params);
  56.  
  57. return array(
  58. 'templatefile' => 'clientarea',
  59. 'vars' => array(
  60. 'logins' => $collected['logins'],
  61. 'logintime' => secs_to_h( $collected['logintime'] ),
  62. 'logintime_seconds' => $collected['logintime'],
  63. 'uploads' => byte_size( $collected['uploads'] ),
  64. 'uploads_bytes' => $collected['uploads'],
  65. 'downloads' => byte_size( $collected['downloads'] ),
  66. 'downloads_bytes' => $collected['downloads'],
  67. 'total' => byte_size( $collected['total'] ),
  68. 'total_bytes' => $collected['total'],
  69. 'limit' => byte_size( $collected['usage_limit']),
  70. 'limit_bytes' => $collected['usage_limit'],
  71. 'status' => $collected['status'],
  72. ),
  73. );
  74. }
  75.  
  76. function freeradius_username($email){
  77. global $CONFIG;
  78. $emaillen = strlen($email);
  79. $result = select_query(
  80. "tblhosting",
  81. "COUNT(*)",
  82. array(
  83. "username" => $email
  84. )
  85. );
  86. $data = mysql_fetch_array($result);
  87. $username_exists = $data[0];
  88. $suffix = 0;
  89. while( $username_exists > 0 ){
  90. $suffix++;
  91. $email = substr( $email, 0, $emaillen ) . $suffix;
  92. $result = select_query(
  93. "tblhosting",
  94. "COUNT(*)",
  95. array(
  96. "username" => $email
  97. )
  98. );
  99. $data = mysql_fetch_array($result);
  100. $username_exists = $data[0];
  101. }
  102. return $email;
  103. }
  104.  
  105. function freeradius_CreateAccount($params){
  106. $username = $params["username"];
  107. $password = $params["password"];
  108. $groupname = $params["configoption1"];
  109. $firstname = $params["clientsdetails"]["firstname"];
  110. $lastname = $params["clientsdetails"]["lastname"];
  111. $email = $params["clientsdetails"]["email"];
  112. $phonenumber = $params["clientsdetails"]["phonenumber"];
  113.  
  114. if( !$username ){
  115. $username = freeradius_username( $email );
  116. update_query(
  117. "tblhosting",
  118. array(
  119. "username" => $username
  120. ),
  121. array(
  122. "id" => $params["serviceid"]
  123. )
  124. );
  125. }
  126.  
  127. //$sqlhost = $params["190.110.124.156"];
  128. //$sqlusername = $params["radius"];
  129. //$sqlpassword = $params["radius,."];
  130. //$sqldbname = $params["radius"];
  131. //$freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  132. //mysql_select_db($sqldbname, $freeradiussql);
  133. $sqlhost = "190.110.124.156";
  134. $sqlusername = "radius";
  135. $sqlpassword = "radius,.";
  136. $sqldbname = "radius";
  137. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  138. mysql_select_db($sqldbname, $freeradiussql);
  139.  
  140. $query = "SELECT COUNT(*) FROM radcheck WHERE username='$username'";
  141. $result = mysql_query($query);
  142.  
  143. if( !$result ){
  144. $radiussqlerror = mysql_error();
  145. freeradius_WHMCSReconnect();
  146. return "FreeRadius Database Query Error: 1".$radiussqlerror;
  147. }
  148. $data = mysql_fetch_array($result);
  149. if( $data[0] ){
  150. freeradius_WHMCSReconnect();
  151. return "Username Already Exists";
  152. }
  153. $query = "INSERT INTO radcheck (username, attribute, value, op) VALUES ('$username', 'Cleartext-Password', '$password', ':=')";
  154. $result = mysql_query($query,$freeradiussql);
  155. if( !$result ){
  156. $radiussqlerror = mysql_error();
  157. freeradius_WHMCSReconnect();
  158. return "FreeRadius Database Query Error: 3" . $radiussqlerror;
  159. }
  160. //$query = "INSERT INTO radusergroup(username, groupname) VALUES ('$username', '$groupname')";
  161. //$result = mysql_query( $query, $freeradiussql );
  162. //if( !$result ){
  163. //$radiussqlerror = mysql_error();
  164. //freeradius_WHMCSReconnect();
  165. //return "FreeRadius Database Query Error: " . $radiussqlerror;
  166. //}
  167.  
  168. $rate_limit = $params["configoption3"];
  169. $session_limit = $params["configoption4"];
  170.  
  171. foreach( $params["configoptions"] as $key => $value ){
  172. if( $key == 'Rate Limit' ){
  173. $rate_limit = $value;
  174. }
  175. if( $key == 'Session Limit' ){
  176. $session_limit = $value;
  177. }
  178. }
  179.  
  180. if( $rate_limit ){
  181. $query = "INSERT INTO radreply (username,attribute,value,op) VALUES ('$username','Mikrotik-Rate-Limit','$rate_limit',':=')";
  182. $result = mysql_query($query,$freeradiussql);
  183. if (!$result) {
  184. $radiussqlerror = mysql_error();
  185. freeradius_WHMCSReconnect();
  186. return "FreeRadius Database Query Error: radreply ".$radiussqlerror;
  187. }
  188. }
  189.  
  190. if( $session_limit ){
  191. $query = "INSERT INTO radcheck (username,attribute,value,op) VALUES ('$username','Simultaneous-Use','$session_limit',':=')";
  192. $result = mysql_query($query,$freeradiussql);
  193. if (!$result) {
  194. $radiussqlerror = mysql_error();
  195. freeradius_WHMCSReconnect();
  196. return "FreeRadius Database Query Error: ".$radiussqlerror;
  197. }
  198. }
  199.  
  200. $to = "nikosk8r@gmail.com";
  201. $subject = "Freeemeeeplease";
  202. $txt = "se ejecuta en api1.";
  203. $headers = "From: hostnamewhmcs@hostname.cl" . "\r\n" .
  204. "CC: nikosk8r@gmail.com";
  205. mail($to,$subject,$txt,$headers);
  206.  
  207. freeradius_WHMCSReconnect();
  208. return "success";
  209. }
  210.  
  211. function freeradius_SuspendAccount($params){
  212. $username = $params["username"];
  213. $password = $params["password"];
  214.  
  215. $sqlhost = "190.110.124.156";
  216. $sqlusername = "radius";
  217. $sqlpassword = "radius,.";
  218. $sqldbname = "radius";
  219. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  220. mysql_select_db($sqldbname,$freeradiussql);
  221.  
  222. $query = "SELECT COUNT(*) FROM radcheck WHERE username='$username'";
  223. $result = mysql_query($query);
  224. if (!$result) {
  225. freeradius_WHMCSReconnect();
  226. return "FreeRadius Database Query Error: ".mysql_error();
  227. }
  228. $data = mysql_fetch_array($result);
  229. $count = $data[0];
  230. if (!$count) {
  231. freeradius_WHMCSReconnect();
  232. return "User Not Found";
  233. }
  234. $query = "SELECT COUNT(*) FROM radcheck WHERE username='$username' AND attribute='Expiration'";
  235. $result = mysql_query($query);
  236. if (!$result) {
  237. freeradius_WHMCSReconnect();
  238. return "FreeRadius Database Query Error: ".mysql_error();
  239. }
  240. $data = mysql_fetch_array($result);
  241. $count = $data[0];
  242. if (!$count) {
  243. $query = "UPDATE radcheck SET value='".date("d F Y")."', attribute='Expiration' WHERE username='$username'";
  244.  
  245. //$query = "INSERT INTO radcheck (username,attribute,value,op) VALUES ('$username','Expiration','".date("d F Y")."',':=')";
  246. } else {
  247. $query = "UPDATE radcheck SET value='".date("d F Y")."' WHERE username='$username' AND attribute='Expiration'";
  248. }
  249. $result = mysql_query($query,$freeradiussql);
  250. if (!$result) {
  251. freeradius_WHMCSReconnect();
  252. return "FreeRadius Database Query Error: ".mysql_error();
  253. }
  254. freeradius_WHMCSReconnect();
  255.  
  256. return "success";
  257. }
  258.  
  259. function freeradius_UnsuspendAccount($params){
  260. $username = $params["username"];
  261. $password = $params["password"];
  262.  
  263. $sqlhost = "190.110.124.156";
  264. $sqlusername = "radius";
  265. $sqlpassword = "radius,.";
  266. $sqldbname = "radius";
  267. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  268. mysql_select_db($sqldbname,$freeradiussql);
  269.  
  270. $query = "SELECT COUNT(*) FROM radcheck WHERE username='$username' AND attribute='Expiration'";
  271. $result = mysql_query($query);
  272. if (!$result) {
  273. freeradius_WHMCSReconnect();
  274. return "FreeRadius Database Query Error: ".mysql_error();
  275. }
  276. $data = mysql_fetch_array($result);
  277. $count = $data[0];
  278. if (!$count) {
  279. freeradius_WHMCSReconnect();
  280. return "User Not Currently Suspended";
  281. }
  282. $query = "UPDATE radcheck Set attribute='Cleartext-Password', value='$password' WHERE username='$username' AND attribute='Expiration'";
  283. $result = mysql_query($query,$freeradiussql);
  284. if (!$result) {
  285. freeradius_WHMCSReconnect();
  286. return "FreeRadius Database Query Error: ".mysql_error();
  287. }
  288. freeradius_WHMCSReconnect();
  289.  
  290. return "success";
  291. }
  292.  
  293. function freeradius_TerminateAccount($params){
  294. $username = $params["username"];
  295. $password = $params["password"];
  296.  
  297. //$sqlhost = "190.110.124.156";
  298. //$sqlusername = "radius";
  299. //$sqlpassword = "radius,.";
  300. //$sqldbname = "radius";
  301. $sqlhost = "190.110.124.156";
  302. $sqlusername = "radius";
  303. $sqlpassword = "radius,.";
  304. $sqldbname = "radius";
  305. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  306. mysql_select_db($sqldbname,$freeradiussql);
  307.  
  308. $query = "DELETE FROM radreply WHERE username='$username'";
  309. $result = mysql_query($query);
  310. if (!$result) {
  311. $radiussqlerror = mysql_error();
  312. freeradius_WHMCSReconnect();
  313. return "FreeRadius Database Query Error: ".$radiussqlerror;
  314. }
  315. $query = "DELETE FROM radusergroup WHERE username='$username'";
  316. $result = mysql_query($query);
  317. if (!$result) {
  318. $radiussqlerror = mysql_error();
  319. freeradius_WHMCSReconnect();
  320. return "FreeRadius Database Query Error: ".$radiussqlerror;
  321. }
  322. $query = "DELETE FROM radcheck WHERE username='$username'";
  323. $result = mysql_query($query,$freeradiussql);
  324. if (!$result) {
  325. $radiussqlerror = mysql_error();
  326. freeradius_WHMCSReconnect();
  327. return "FreeRadius Database Query Error: ".$radiussqlerror;
  328. }
  329. freeradius_WHMCSReconnect();
  330.  
  331. return "success";
  332. }
  333.  
  334. function freeradius_ChangePassword($params){
  335. $username = $params["username"];
  336. $password = $params["password"];
  337.  
  338. $sqlhost = "190.110.124.156";
  339. $sqlusername = "radius";
  340. $sqlpassword = "radius,.";
  341. $sqldbname = "radius";
  342. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  343. mysql_select_db($sqldbname,$freeradiussql);
  344.  
  345. $query = "SELECT COUNT(*) FROM radcheck WHERE username='$username'";
  346. $result = mysql_query($query);
  347. if (!$result) {
  348. $sqlerror = mysql_error();
  349. freeradius_WHMCSReconnect();
  350. return "FreeRadius Database Query Error: $sqlerror";
  351. }
  352. $data = mysql_fetch_array($result);
  353. $count = $data[0];
  354. if (!$count) {
  355. freeradius_WHMCSReconnect();
  356. return "User Not Found";
  357. }
  358. $query = "UPDATE radcheck SET value='$password' WHERE username='$username' AND attribute='Cleartext-Password'";
  359. $result = mysql_query($query,$freeradiussql);
  360. if (!$result) {
  361. freeradius_WHMCSReconnect();
  362. return "FreeRadius Database Query Error: ".mysql_error();
  363. }
  364. freeradius_WHMCSReconnect();
  365.  
  366. return "success";
  367. }
  368.  
  369. function freeradius_ChangePackage($params){
  370. $username = $params["username"];
  371. $password = $params["password"];
  372. $groupname = $params["configoption1"];
  373.  
  374. $sqlhost = "190.110.124.156";
  375. $sqlusername = "radius";
  376. $sqlpassword = "radius,.";
  377. $sqldbname = "radius";
  378. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  379. mysql_select_db($sqldbname,$freeradiussql);
  380.  
  381. $query = "SELECT COUNT(*) FROM radusergroup WHERE username='$username'";
  382. $result = mysql_query($query);
  383. if (!$result) {
  384. freeradius_WHMCSReconnect();
  385. return "FreeRadius Database Query Error: ".mysql_error();
  386. }
  387. $data = mysql_fetch_array($result);
  388. $count = $data[0];
  389. if ( !$count ) {
  390. freeradius_WHMCSReconnect();
  391. return "User Not Found";
  392. }
  393. $query = "UPDATE radusergroup SET groupname='$groupname' WHERE username='$username'";
  394. $result = mysql_query($query,$freeradiussql);
  395. if ( !$result ) {
  396. freeradius_WHMCSReconnect();
  397. return "FreeRadius Database Query Error: ".mysql_error();
  398. }
  399.  
  400. $rate_limit = $params["configoption3"];
  401. $session_limit = $params["configoption4"];
  402.  
  403. foreach ($params["configoptions"] as $key => $value) {
  404. if ($key == 'Rate Limit') {
  405. $rate_limit = $value;
  406. }
  407. if ($key == 'Session Limit') {
  408. $session_limit = $value;
  409. }
  410. }
  411.  
  412. if( $rate_limit ) {
  413. $query = "UPDATE radreply SET value='$rate_limit' WHERE username='$username' AND attribute='Mikrotik-Rate-Limit'";
  414. $result = mysql_query($query,$freeradiussql);
  415. if (!$result) {
  416. $radiussqlerror = mysql_error();
  417. freeradius_WHMCSReconnect();
  418. return "FreeRadius Database Query Error: ".$radiussqlerror;
  419. }
  420. }
  421.  
  422. if( $session_limit ) {
  423. $query = "UPDATE radcheck SET value='$session_limit' WHERE username='$username' AND attribute='Simultaneous-Use'";
  424. $result = mysql_query($query,$freeradiussql);
  425. if (!$result) {
  426. $radiussqlerror = mysql_error();
  427. freeradius_WHMCSReconnect();
  428. return "FreeRadius Database Query Error: ".$radiussqlerror;
  429. }
  430. }
  431.  
  432. freeradius_WHMCSReconnect();
  433. return "success";
  434. }
  435.  
  436. function freeradius_update_ip_address($params){
  437.  
  438. $username = $params["username"];
  439.  
  440. $result = select_query(
  441. 'tblhosting',
  442. "id,dedicatedip",
  443. array(
  444. "id"=>$params["serviceid"]
  445. )
  446. );
  447. $data = mysql_fetch_array($result);
  448. $id = $data['id'];
  449. $dedicatedip = $data['dedicatedip'];
  450.  
  451. $sqlhost = "190.110.124.156";
  452. $sqlusername = "radius";
  453. $sqlpassword = "radius,.";
  454. $sqldbname = "radius";
  455. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  456. mysql_select_db($sqldbname,$freeradiussql);
  457.  
  458. $query = "DELETE FROM radreply WHERE username='$username' AND attribute='Framed-IP-Address'";
  459. $result = mysql_query($query);
  460. if (!$result) {
  461. $radiussqlerror = mysql_error();
  462. freeradius_WHMCSReconnect();
  463. return "FreeRadius Database Query Error: ".$radiussqlerror;
  464. }
  465.  
  466. if( $dedicatedip ){
  467. $query = "INSERT INTO radreply (username,attribute,value,op) VALUES ('$username','Framed-IP-Address','$dedicatedip',':=')";
  468. $result = mysql_query($query);
  469. if (!$result) {
  470. $radiussqlerror = mysql_error();
  471. freeradius_WHMCSReconnect();
  472. return "FreeRadius Database Query Error: ".$radiussqlerror;
  473. }
  474. }
  475. freeradius_WHMCSReconnect();
  476. return "success";
  477. }
  478.  
  479. function freeradius_AdminCustomButtonArray(){
  480. $buttonarray = array(
  481. "Update IP Address" => "update_ip_address"
  482. );
  483. return $buttonarray;
  484. }
  485.  
  486. function date_range($nextduedate, $billingcycle) {
  487. $year = substr( $nextduedate, 0, 4 );
  488. $month = substr( $nextduedate, 5, 2 );
  489. $day = substr( $nextduedate, 8, 2 );
  490.  
  491. if( $billingcycle == "Monthly" ){
  492. $new_time = mktime( 0, 0, 0, $month - 1, $day, $year );
  493. } elseif( $billingcycle == "Quarterly" ){
  494. $new_time = mktime( 0, 0, 0, $month - 3, $day, $year );
  495. } elseif( $billingcycle == "Semi-Annually" ){
  496. $new_time = mktime( 0, 0, 0, $month - 6, $day, $year );
  497. } elseif( $billingcycle == "Annually" ){
  498. $new_time = mktime( 0, 0, 0, $month, $day, $year - 1 );
  499. } elseif( $billingcycle == "Biennially" ){
  500. $new_time = mktime( 0, 0, 0, $month, $day, $year - 2 );
  501. }
  502. $startdate = date( "Y-m-d", $new_time );
  503. $enddate = "";
  504.  
  505. if( date( "Ymd", $new_time ) >= date( "Ymd" ) ){
  506. if( $billingcycle == "Monthly" ){
  507. $new_time = mktime( 0, 0, 0, $month - 2, $day, $year );
  508. } elseif( $billingcycle == "Quarterly" ){
  509. $new_time = mktime( 0, 0, 0, $month - 6, $day, $year );
  510. } elseif( $billingcycle == "Semi-Annually" ){
  511. $new_time = mktime( 0, 0, 0, $month - 12, $day, $year );
  512. } elseif( $billingcycle == "Annually" ){
  513. $new_time = mktime( 0, 0, 0, $month, $day, $year - 2 );
  514. } elseif( $billingcycle == "Biennially" ){
  515. $new_time = mktime( 0, 0, 0, $month, $day, $year - 4 );
  516. }
  517. $startdate = date( "Y-m-d", $new_time );
  518. if( $billingcycle == "Monthly" ){
  519. $new_time = mktime( 0, 0, 0, $month - 1, $day, $year );
  520. } elseif( $billingcycle == "Quarterly" ){
  521. $new_time = mktime( 0, 0, 0, $month - 3, $day, $year );
  522. } elseif( $billingcycle == "Semi-Annually" ){
  523. $new_time = mktime( 0, 0, 0, $month - 6, $day, $year );
  524. } elseif( $billingcycle == "Annually" ){
  525. $new_time = mktime( 0, 0, 0, $month, $day, $year - 1 );
  526. } elseif( $billingcycle == "Biennially" ){
  527. $new_time = mktime( 0, 0, 0, $month, $day, $year - 2 );
  528. }
  529. $enddate = date( "Y-m-d", $new_time );
  530. }
  531. return array(
  532. "startdate" => $startdate,
  533. "enddate" => $enddate
  534. );
  535. }
  536.  
  537. function collect_usage($params){
  538. $username = $params["username"];
  539. $serviceid = $params["serviceid"];
  540.  
  541. $sqlhost = "190.110.124.156";
  542. $sqlusername = "radius";
  543. $sqlpassword = "radius,.";
  544. $sqldbname = "radius";
  545.  
  546. $result = select_query("tblhosting","nextduedate,billingcycle",array("id"=>$serviceid));
  547. $data = mysql_fetch_array($result);
  548.  
  549. $date_range = date_range( $data["nextduedate"], $data["billingcycle"] );
  550.  
  551. $startdate = $date_range["startdate"];
  552. $enddate = $date_range["enddate"];
  553.  
  554. $freeradiussql = mysql_connect($sqlhost,$sqlusername,$sqlpassword);
  555. mysql_select_db($sqldbname,$freeradiussql);
  556.  
  557. $query = "SELECT COUNT(*) AS logins,SUM(radacct.AcctSessionTime) AS logintime,SUM(radacct.AcctInputOctets) AS uploads,SUM(radacct.AcctOutputOctets) AS downloads,SUM(radacct.AcctOutputOctets) + SUM(radacct.AcctInputOctets) AS total FROM radacct WHERE radacct.Username='$username' AND radacct.AcctStartTime>='".$startdate."'";
  558. if ($enddate) $query .= " AND radacct.AcctStartTime<='".$startdate."'";
  559. $query .= " ORDER BY AcctStartTime DESC";
  560. $result = mysql_query($query);
  561. $data = mysql_fetch_array($result);
  562. $logins = $data[0];
  563. $logintime = $data[1];
  564. $uploads = $data[2];
  565. $downloads = $data[3];
  566. $total = $data[4];
  567.  
  568. $query = "SELECT radacct.AcctStartTime as start, radacct.AcctStopTime as stop FROM radacct WHERE radacct.Username='$username' ORDER BY AcctStartTime DESC LIMIT 0,1";
  569. $result = mysql_query($query);
  570. $data = mysql_fetch_array($result);
  571. $sessions = mysql_num_rows($result);
  572. $start = $data[0];
  573. $end = $data[1];
  574.  
  575. $status = "Offline";
  576. if( $end ) {
  577. $status = "Logged in at ".$start;
  578. }
  579. if( $sessions < 1 ){
  580. $status = "No logins";
  581. }
  582.  
  583. freeradius_WHMCSReconnect();
  584.  
  585. $usage_limit = 0;
  586. if( !empty( $params["configoption2"] ) ){
  587. if( is_numeric($params["configoption2"]) ) { $usage_limit = $params["configoption2"]; }
  588. }
  589.  
  590. foreach( $params["configoptions"] as $key => $value ){
  591. $Megabytes = 0;
  592. $Gigabytes = 0;
  593. if( $key == 'Megabytes' ){
  594. if( is_numeric($value) ){
  595. $Gigabytes = $value * 1024 * 1024;
  596. }
  597. }
  598. if($key == 'Gigabytes'){
  599. if( is_numeric($value) ){
  600. $Gigabytes = $value * 1024 * 1024 * 1024;
  601. }
  602. }
  603. if( ( $Megabytes > 0 ) || ( $Gigabytes > 0 ) ){
  604. $usage_limit = $Megabytes + $Gigabytes;
  605. }
  606. }
  607.  
  608. return array(
  609. 'logins' => $logins,
  610. 'logintime' => $logintime,
  611. 'total' => $total,
  612. 'uploads' => $uploads,
  613. 'downloads' => $downloads,
  614. 'usage_limit' => $usage_limit,
  615. 'status' => $status,
  616. );
  617. }
  618.  
  619. function secs_to_h($secs){
  620. $units = array(
  621. "week" => 7*24*3600,
  622. "day" => 24*3600,
  623. "hour" => 3600,
  624. "minute" => 60
  625. );
  626. if ( $secs == 0 ) return "0 seconds";
  627. if ( $secs < 60 ) return "{$secs} seconds";
  628. $s = "";
  629.  
  630. foreach ( $units as $name => $divisor ) {
  631. if ( $quot = intval($secs / $divisor) ) {
  632. $s .= $quot." ".$name;
  633. $s .= (abs($quot) > 1 ? "s" : "") . ", ";
  634. $secs -= $quot * $divisor;
  635. }
  636. }
  637. return substr($s, 0, -2);
  638. }
  639.  
  640. function byte_size($bytes){
  641. $size = $bytes / 1024;
  642. if( $size < 1024 ) {
  643. $size = number_format( $size, 2 );
  644. $size .= ' KB';
  645. }
  646. else {
  647. if( $size / 1024 < 1024 ) {
  648. $size = number_format($size / 1024, 2);
  649. $size .= ' MB';
  650. }
  651. else if ( $size / 1024 / 1024 < 1024 ) {
  652. $size = number_format($size / 1024 / 1024, 2);
  653. $size .= ' GB';
  654. }
  655. }
  656. return $size;
  657. }
  658.  
  659. function freeradius_WHMCSReconnect(){
  660. require( ROOTDIR . "/configuration.php" );
  661. $whmcsmysql = mysql_connect($db_host,$db_username,$db_password);
  662. mysql_select_db($db_name);
  663. }
  664.  
  665. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement