Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. <?php
  2. /********************************
  3.  
  4. Author: Tymoteusz `Razor Meister` Bartnik
  5.  
  6. Contact: battnik90@gmail.com
  7.  
  8. Function: generate_banner()
  9.  
  10. ********************************/
  11.  
  12. function generate_banner($cfg)
  13. {
  14. $cfg = $cfg['generate_banner'];
  15.  
  16. $image = ImageCreateFromPng($cfg['image_file']);
  17. imagealphablending($image, true);
  18.  
  19. if($cfg['admins_online']['enabled'])
  20. admins_online($image, $cfg['admins_online']);
  21.  
  22. if($cfg['clients_online']['enabled'])
  23. clients_online($image, $cfg['clients_online']);
  24.  
  25. if($cfg['record_online']['enabled'])
  26. record_online($image, $cfg['record_online']);
  27.  
  28. if($cfg['clock']['enabled'])
  29. clock($image, $cfg['clock']);\
  30.  
  31. if($cfg['fc_admin']['enabled'])
  32. clock($image, $cfg['fc_admin']);
  33.  
  34.  
  35. imagepng($image, $cfg['target_image_file']);
  36. imagedestroy($image);
  37. }
  38.  
  39. function admins_online(&$img, $cf)
  40. {
  41. global $query, $clients;
  42.  
  43. $groups_list = $query->getElement('data', $query->serverGroupList());
  44. $count = 0;
  45.  
  46. foreach($cf['admins_server_groups'] as $admin_group)
  47. {
  48. $clients_from_group = $query->getElement('data', $query->serverGroupClientList($admin_group));
  49.  
  50. if($clients_from_group != NULL)
  51. foreach($clients_from_group as $client_from_group)
  52. if(isset($client_from_group['cldbid']) && $client_from_group['cldbid'] != 1)
  53. foreach($clients as $client)
  54. if(isset($client['client_database_id']) && $client['client_database_id'] != 1 && $client['client_database_id'] == $client_from_group['cldbid'])
  55. $count++;
  56. }
  57.  
  58. ImageTTFText($img, $cf['co-ordinates'][0], $cf['co-ordinates'][1], $cf['co-ordinates'][2], $cf['co-ordinates'][3],
  59. ImageColorAllocate($img, $cf['color'][0], $cf['color'][1], $cf['color'][2]), "include/cache/fonts/".$cf['font'].".ttf", $count);
  60.  
  61. }
  62.  
  63. function clients_online(&$img, $cf)
  64. {
  65. global $query;
  66.  
  67. $server_info = $query->getElement('data', $query->serverInfo());
  68.  
  69. $online = $server_info['virtualserver_clientsonline'] - $server_info['virtualserver_queryclientsonline'];
  70.  
  71. ImageTTFText($img, $cf['co-ordinates'][0], $cf['co-ordinates'][1], $cf['co-ordinates'][2], $cf['co-ordinates'][3],
  72. ImageColorAllocate($img, $cf['color'][0], $cf['color'][1], $cf['color'][2]), "include/cache/fonts/".$cf['font'].".ttf", $online);
  73. }
  74.  
  75. function record_online(&$img, $cf)
  76. {
  77. $fp = fopen("include/cache/record_online.txt", "r");
  78. $record = fread($fp, filesize("include/cache/record_online.txt"));
  79. $tab = explode(";", $record);
  80. $record_online = $tab[0];
  81.  
  82. ImageTTFText($img, $cf['co-ordinates'][0], $cf['co-ordinates'][1], $cf['co-ordinates'][2], $cf['co-ordinates'][3],
  83. ImageColorAllocate($img, $cf['color'][0], $cf['color'][1], $cf['color'][2]), "include/cache/fonts/".$cf['font'].".ttf", $record_online);
  84. }
  85.  
  86. function clock(&$img, $cf)
  87. {
  88. $clock = date('H:i');
  89.  
  90. ImageTTFText($img, $cf['co-ordinates'][0], $cf['co-ordinates'][1], $cf['co-ordinates'][2], $cf['co-ordinates'][3],
  91. ImageColorAllocate($img, $cf['color'][0], $cf['color'][1], $cf['color'][2]), "include/cache/fonts/".$cf['font'].".ttf", $clock);
  92. }
  93. function fc_admin(&$img, $cf)
  94. {
  95. global $query, $clients;
  96.  
  97. $groups_list = $query->getElement('data', $query->serverGroupList());
  98. $count = 0;
  99.  
  100. foreach($cf['admins_server_groups'] as $admin_group)
  101. {
  102. $clients_from_group = $query->getElement('data', $query->serverGroupClientList($admin_group));
  103.  
  104. if($clients_from_group != NULL)
  105. foreach($clients_from_group as $client_from_group)
  106. if(isset($client_from_group['cldbid']) && $client_from_group['cldbid'] != 1)
  107. foreach($clients as $client)
  108. if(isset($client['client_database_id']) && $client['client_database_id'] != 1 && $client['client_database_id'] == $client_from_group['cldbid'])
  109. $count++;
  110. }
  111.  
  112. ImageTTFText($img, $cf['co-ordinates'][0], $cf['co-ordinates'][1], $cf['co-ordinates'][2], $cf['co-ordinates'][3],
  113. ImageColorAllocate($img, $cf['color'][0], $cf['color'][1], $cf['color'][2]), "include/cache/fonts/".$cf['font'].".ttf", $count);
  114. }
  115. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement