pdo = new \PDO("mysql:host=".DB_HOST.";dbname=".DB_DATA.";charset=utf8", "".DB_USER."", "".DB_PASS.""); $this->pdo->exec("SET NAMES utf8"); $this->pdo->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_OBJ); $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch(\PDOException $e) { echo '
Veritabanı Bağlantı Hatası!

'.$e->getMessage().'

'; die(); } return $this->pdo; } public function guvenlik($post) { if (is_scalar($post)) { return addslashes(htmlspecialchars(strip_tags($post))); } else { return $post; } } public function get_user($a,$b) { $query = $this->pdo->prepare("SELECT * FROM admins WHERE username = :username AND pass = :pass"); $query->execute([ 'username' => "$a", 'pass' => "$b" ]); $veriler = $query->fetch(); return $veriler; } public function site_setting() { $query = $this->pdo->prepare("SELECT * FROM settings WHERE id = :id"); $query->execute([ 'id' => "1" ]); $veriler = $query->fetch(); return $veriler; } public function player_api($username, $password, $veri) { $url = $this->site_setting(); define("PANEL_ADRES", $url->site_xtream); return PANEL_ADRES."player_api.php?username=".$username."&password=".$password."".$veri.""; } public function get_curl($url){ $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $url, )); $resp = curl_exec($curl); curl_close($curl); return $resp; } public function player_api2($username, $password, $veri, $id) { $url = $this->site_setting(); $now = time(); $user_hash = sha1($username."-".$password."-"); switch($veri) { case 'get_live_streams': $file_name = "live_streams.json"; break; case 'get_live_categories': $file_name = "live_categories.json"; break; case 'get_live_streams&category_id=': $file_name = "live_streams_category_$id.json"; break; case 'get_simple_data_table&stream_id=': $file_name = "get_simple_data_table_$id.json"; break; case 'get_vod_streams': $file_name = "get_vod_streams.json"; break; case 'get_vod_streams&category_id=': $file_name = "get_vod_streams_$id.json"; break; case 'get_vod_categories': $file_name = "get_vod_categories.json"; break; case 'get_vod_info&vod_id=': $file_name = "get_vod_info_$id.json"; break; case 'get_series': $file_name = "get_series.json"; break; case 'get_series_info&series_id=': $file_name = "get_series_info_$id.json"; break; case 'get_series_categories': $file_name = "get_series_categories.json"; break; case 'get_series&category_id=': $file_name = "get_series_$id.json"; break; } $dosya_yolu = "".realpath(realpath(dirname(__FILE__) . '/..'))."/cache/".$user_hash."_".$file_name.""; if (file_exists($dosya_yolu)) { $write = 1; } else { $create_file = touch($dosya_yolu); $write = 0; } $guncelleme_suresi = 60*60; $time = filemtime($dosya_yolu); if ($time <= ($now-$guncelleme_suresi) OR $write == 0) { $adres = $this->get_curl($url->site_xtream."player_api.php?username=".$username."&password=".$password."&action=".$veri."".$id.""); $save_file = fopen($dosya_yolu, "w"); fwrite($save_file, json_encode($adres, true)); fclose($save_file); $datas = file_get_contents($dosya_yolu); } else { $datas = file_get_contents($dosya_yolu); } return json_decode($datas, true); } public function player_epg($username, $password) { $url = $this->site_setting(); $now = time(); $user_hash = sha1($username."-".$password."-"); $dosya_yolu = "".realpath(realpath(dirname(__FILE__) . '/..'))."/cache/".$user_hash."_epg.xml"; if (file_exists($dosya_yolu)) { $write = 1; } else { $create_file = touch($dosya_yolu); $write = 0; } $guncelleme_suresi = 60*60; $time = filemtime($dosya_yolu); if ($time <= ($now-$guncelleme_suresi) OR $write == 0) { $adres = $this->get_curl($url->site_xtream."xmltv.php?username=".$username."&password=".$password.""); file_put_contents($dosya_yolu, $adres); $datas = @simplexml_load_file($dosya_yolu); } else { $datas = @simplexml_load_file($dosya_yolu); } return $datas; } public function api($mac) { $url = $this->site_setting(); define("PANEL_ADRES", $url->site_xtream); return PANEL_ADRES."api.php?action=stb&sub=info&portaluser=".$mac.""; } function userInfo($prm){ return isset($_SESSION['user_info']) ? $_SESSION['user_info'][$prm] : null; } public function get_http_response_code($url) { $headers = get_headers($url); return substr($headers[0], 9, 3); } public function get_epg_data($url, $channel) { $xml = simplexml_load_file($url); $now = time(); $it = new IteratorIterator($xml->programme); foreach ($it as $programm) { $start = strtotime($programm['start']); $end = strtotime($programm['end']); if (($channel != $programm["channel"]) AND ($end <= $now AND $start >= $now)) exit(); } return $programm->title; } public function descriptions($yazi, $limit) { $yazi = strip_tags($yazi, '


'); $explode = explode(' ',$yazi); $string = ''; $ucnokta = '...'; if(count($explode) <= $limit){ $ucnokta = ''; } for($i=0;$i<$limit;$i++){ $string .= $explode[$i]." "; } if ($ucnokta) { $string = substr($string, 0, strlen($string)); } return $string.$ucnokta; } public function route($find) { return "?page=" . $find; } public function _curl($url, $data){ $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $url, CURLOPT_USERAGENT => 'Web Panel', CURLOPT_POST => 1, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_HTTPAUTH => CURLAUTH_BASIC, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_TIMEOUT => 3, CURLOPT_HTTPHEADER => array('Accept: application/json'), CURLOPT_POSTFIELDS => http_build_query($data), CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4 )); $resp = curl_exec($curl); curl_close($curl); return $resp; } public function get_category($page) { $prm = ''; switch ($page) { case "live": $prm= 'get_live_categories'; break; case "movies": $prm = 'get_vod_categories'; break; case "series": $prm = 'get_series_categories'; break; case "movie_streams": $prm = 'get_vod_streams'; break; case "series_streams": $prm = 'get_series'; break; case "live_stream": $prm = 'get_live_streams'; break; } return '&action='.$prm; } public function formatSizeUnits($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . ' GB'; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ' MB'; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . ' KB'; } elseif ($bytes > 1) { $bytes = $bytes . ' bytes'; } elseif ($bytes == 1) { $bytes = $bytes . ' byte'; } else { $bytes = '0 bytes'; } return $bytes; } } $byakman = new ByAkman(); $siteInfo = $byakman->site_setting(); require_once(dirname(__FILE__).'/../lang/'.$siteInfo->site_lang.'.php'); if (($_SESSION["admin"]["username"] != "") AND ($_SESSION["admin"]["password"] != "")) { $userInfo = $byakman->get_user($_SESSION["admin"]["username"], $_SESSION["admin"]["password"]); } ?>