Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.04 KB | None | 0 0
  1. <?php
  2.  
  3. ##############################
  4. #
  5. #   AUTHOR: `Demon.
  6. #   FUNCTION NAME: description_checker
  7. #   DATE CREATED: 23/09/2018
  8. #
  9. ##############################
  10.  
  11. class description_checker
  12. {
  13.     function __construct($ts,$cfg,$sbot,$lang,$clients,$db)
  14.     {
  15.         $sbot::check_ids($ts,$cfg['channel_id'],'channel','description_checker');
  16.         $channels = [];
  17.         $desc = '';
  18.         foreach($ts->channelList()['data'] as $channel)
  19.         {
  20.             if($channel['cid']!=$cfg['channel_id'] && !in_array($channel['cid'], $cfg['ignored_channels']))
  21.             {
  22.                 $channels[] = $channel['cid'];
  23.             }
  24.         }
  25.    
  26.         foreach($channels as $cid)
  27.         {
  28.             $channel = $ts->channelInfo($cid)['data'];
  29.             $desc = $channel['channel_description'];
  30.             $links = [];
  31.             # Źródło: https://css-tricks.com/snippets/php/find-urls-in-text-make-links/
  32.             preg_match_all("/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/", strtolower($desc), $links);
  33.             $links = $links[0];
  34.             foreach($links as $link)
  35.             {
  36.                 $found = true;
  37.                 foreach($cfg['allowed_links'] as $allowed_link)
  38.                 {
  39.                     if(strpos(strtolower($link), strtolower($allowed_link))!==FALSE)
  40.                     {
  41.                         $found = false;
  42.                         break;
  43.                     }
  44.                 }
  45.                 if($found==true)
  46.                 {
  47.                     $desc = str_replace($link, 'ZAKAZANY LINK ~ SBOT SECURITY', strtolower($desc));
  48.                     $db->query("INSERT INTO `description_checker_logs` (`content`,`date`) VALUES ('Wykryto zakazany link na kanale: [url=channelid://".$cid."]".$channel['channel_name']." (Id kanału: ".$cid.")[/url] - [color=green][b]".$link."[/b][/color].','".time()."')");
  49.                     $ts->channelEdit($cid, array('channel_description' => $desc));
  50.                 }
  51.             }
  52.         }
  53.        
  54.         $logs = '[center][size=20][b]Usunięte linki[/b][/size][/center][size=10]\n';
  55.         foreach(array_reverse($db->query("SELECT * FROM `description_checker_logs`")->fetchAll(PDO::FETCH_ASSOC)) as $row)
  56.         {
  57.             $logs .= '• [b]'.date('d/m/Y G:i',$row['date']).'[/b] | '.$row['content'].'\n';
  58.         }
  59.         $logs .= $lang['system']['footer'];
  60.         $ts->channelEdit($cfg['channel_id'], ['channel_description' => $logs]);
  61.     }
  62.    
  63. }
  64.  
  65.  
  66.  
  67. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement