KLanding/movielib/admin.php
2015-12-12 10:00:06 +00:00

681 lines
38 KiB
PHP

<?PHP
session_start();
header('Content-type: text/html; charset=utf-8');
include('config.php');
include('function.php');
if ($option == 'delete_install') {
unlink('install.php');
header('Location:admin.php');
die('Can\'t redirect to admin.php');
}
if (!file_exists('db.php')) {
if (file_exists('install.php')) {
header('Location:install.php');
die('Can\'t redirect to install.php');
}
die('Copy install.php file to script directory');
}
// connect to database
connect($mysql_ml);
// get settings from db
$setting = get_settings();
include('lang/' . $setting['language'] . '/lang.php');
// check install.php file exist
if (file_exists('install.php')) {
$output_panel_info.= $lang['a_install_exist'] . '<br />';
}
/* ######################
* CHECK ADMIN PASSWORD #
*/######################
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
header('Location:login.php?login=admin');
die('Cant\'t redirect to login.php');
}
/* #############
* # CHECK DIR #
*/#############
foreach ($dir_assoc as $dir) {
if (!file_exists($dir)) {
mkdir($dir);
}
}
/* #############
* # MAIN SITE #
*/#############
$output_panel = '';
if ($option == '') {
// get version from db
$db_vers_sql = 'SELECT version FROM config';
$db_vers_result = mysql_q($db_vers_sql);
$db_version_assoc = mysql_fetch_assoc($db_vers_result);
$db_version = $db_version_assoc['version'];
// check tables if versions not match
if ($db_version !== $version or isset($_GET['tables'])) {
$output_panel_info.= create_table($mysql_tables, $mysql_indexes, $lang, $version, 0);
// delete session var
$_SESSION = array();
$_SESSION['logged_admin'] = true;
}
// Watched
$overall_movies_sql = 'SELECT play_count, hide FROM movies';
$overall_movies_result = mysql_q($overall_movies_sql);
$overall_movies_all = mysql_num_rows($overall_movies_result);
$overall_movies_watched = 0;
$overall_movies_hidden = 0;
while ($overall_movies = mysql_fetch_array($overall_movies_result)) {
if ($overall_movies['hide'] == 1) {
$overall_movies_hidden++;
} else {
if ($overall_movies['play_count'] > 0) {
$overall_movies_watched++;
}
}
}
$overall_movies_unwatched = $overall_movies_all - $overall_movies_watched;
$overall_tvshows_sql = 'SELECT play_count, hide FROM tvshows';
$overall_tvshows_result = mysql_q($overall_tvshows_sql);
$overall_tvshows_all = mysql_num_rows($overall_tvshows_result);
$overall_tvshows_watched = 0;
$overall_tvshows_hidden = 0;
while ($overall_tvshows = mysql_fetch_array($overall_tvshows_result)) {
if ($overall_tvshows['hide'] == 1) {
$overall_tvshows_hidden++;
} else {
if ($overall_tvshows['play_count'] > 0) {
$overall_tvshows_watched++;
}
}
}
$overall_tvshows_unwatched = $overall_tvshows_all - $overall_tvshows_watched;
// Cached poster and fanarts
$cached_dir = scandir('cache/');
$poster_cached = 0;
$fanart_cached = 0;
$exthumb_cached = 0;
foreach ($cached_dir as $val) {
if (preg_match_all('/_[0-9]+\.jpg/', $val, $res) == 1) {
$poster_cached++;
}
if (preg_match_all('/_[0-9]+_f\.jpg/', $val, $res) == 1) {
$fanart_cached++;
}
if (preg_match_all('/_[0-9]+_t[0-9]\.jpg/', $val, $res) == 1) {
$exthumb_cached++;
}
}
// Cached actors
$cached_dir = scandir('cache/actors/');
$actors_cached = 0;
foreach ($cached_dir as $val) {
if (preg_match_all('/[0-9a-z]{10}\.jpg/', $val, $res) == 1) {
$actors_cached++;
}
}
// Directories
$output_dirs = '';
foreach ($dir_assoc as $dir) {
if (file_exists($dir)) {
$output_dirs.= '<tr><td>' . $dir . '</td><td>' . (file_exists($dir) ? '<span class="green">' . $lang['a_exists'] . '</span>' : '<span class="red">' . $lang['a_not_exists'] . '</span>') . '</td></tr>';
}
}
// MD5 files
$md5_file = 'files.md5';
$output_md5 = '';
$fp = fopen($md5_file, 'r');
$data = fread($fp, filesize($md5_file));
fclose($fp);
foreach (explode(';', $data) as $f) {
$file = explode(':', $f);
$output_md5.= '<tr><td>' . $file[0] . '</td><td>' . (md5_file($file[0]) == $file[1] ? '<span class="green">' . $lang['a_match'] . '</span>' : '<span class="red">' . $lang['a_mismatch'] . '</span>') . '</td></tr>';
}
$output_panel = '
<table class="table">
<tr><td class="bold orange">' . $lang['a_movies'] . '</td><td></td></tr>
<tr><td>' . $lang['a_all'] . '</td><td>' . $overall_movies_all . '</td></tr>
<tr><td>' . $lang['a_watched'] . '</td><td>' . $overall_movies_watched . '</td></tr>
<tr><td>' . $lang['a_unwatched'] . '</td><td>' . $overall_movies_unwatched . '</td></tr>
<tr><td>' . $lang['a_hidden'] . '</td><td>' . $overall_movies_hidden . '</td></tr>
<tr><td class="bold orange">' . $lang['a_tvshows'] . '</td><td></td></tr>
<tr><td>' . $lang['a_all'] . '</td><td>' . $overall_tvshows_all . '</td></tr>
<tr><td>' . $lang['a_watched'] . '</td><td>' . $overall_tvshows_watched . '</td></tr>
<tr><td>' . $lang['a_unwatched'] . '</td><td>' . $overall_tvshows_unwatched . '</td></tr>
<tr><td>' . $lang['a_hidden'] . '</td><td>' . $overall_tvshows_hidden . '</td></tr>
<tr><td class="bold orange">' . $lang['a_cache'] . '</td><td></td></tr>
<tr><td>' . $lang['a_cached_posters'] . '</td><td>' . $poster_cached . '</td></tr>
<tr><td>' . $lang['a_cached_fanarts'] . '</td><td>' . $fanart_cached . '</td></tr>
<tr><td>' . $lang['a_cached_actors'] . '</td><td>' . $actors_cached . '</td></tr>
<tr><td>' . $lang['a_cached_exthumb'] . '</td><td>' . $exthumb_cached . '</td></tr>
<tr><td class="bold orange">' . $lang['a_server_settings'] . '</td><td></td></tr>
<tr><td>GD</td><td>' . (extension_loaded('gd') && function_exists('gd_info') ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
<tr><td>CURL</td><td>' . (function_exists('curl_version') ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
<tr><td>MOD REWRITE</td><td>' . (array_key_exists('HTTP_MOD_REWRITE', $_SERVER) ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
<tr><td>ALLOW URL FOPEN</td><td>' . (ini_get('allow_url_fopen') == 1 ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
<tr><td>MAX EXECUTION TIME</td><td>' . ini_get('max_execution_time') . '</td></tr>
<tr><td>UPLOAD MAX FILESIZE</td><td>' . ini_get('upload_max_filesize') . '</td></tr>
<tr><td>POST MAX SIZE</td><td>' . ini_get('post_max_size') . '</td></tr>
<tr><td class="bold orange">' . $lang['a_server_directories'] . '</td><td></td></tr>
' . $output_dirs . '
<tr><td class="bold orange">' . $lang['a_files_md5'] . '</td><td></td></tr>
' . $output_md5 . '
</table>';
}
/* #########################
* # MOVIE AND TVSHOW LIST #
*/#########################
if ($option == 'movieslist' or $option == 'tvshowslist') {
if ($option == 'movieslist') {
$t = 'movies';
$list_sql = 'SELECT id, title, trailer, play_count, hide FROM movies ORDER BY title';
} else {
$t = 'tvshows';
$list_sql = 'SELECT id, title, play_count, hide FROM tvshows ORDER BY title';
}
$list_result = mysql_q($list_sql);
$output_panel = '
<table id="' . substr($t, 0, -1) . '" class="table">
<tr class="bold">
<td></td>
<td>ID</td>
<td>' . $lang['a_title'] . '</td>
<td><img src="admin/img/i_poster.png" title="' . $lang['a_poster'] . '" alt=""></td>
<td><img src="admin/img/i_fanart.png" title="' . $lang['a_fanart'] . '" alt=""></td>
<td><img src="admin/img/i_trailer.png" title="' . $lang['a_trailer'] . '" alt=""></td>
<td><img src="admin/img/i_hidden.png" title="' . $lang['a_visible'] . ' / ' . $lang['a_hidden'] . '" alt=""></td>
<td><img src="admin/img/i_delete.png" title="' . $lang['a_delete'] . '" alt=""></td>
</tr>';
$i = 0;
while ($list = mysql_fetch_array($list_result)) {
if (file_exists('cache/' . $t . '_' . $list['id'] . '.jpg')) {
$poster_exist = '<img class="p_exist animate" src="admin/img/exist.png" alt="" title="' . $lang['a_delete_poster'] . '">';
} else {
$poster_exist = '';
}
if (file_exists('cache/' . $t . '_' . $list['id'] . '_f.jpg')) {
$fanart_exist = '<img class="f_exist animate" src="admin/img/exist.png" alt="" title="' . $lang['a_delete_fanart'] . '">';
} else {
$fanart_exist = '';
}
if ($t == 'movies' && stristr($list['trailer'], 'http://')) {
$trailer_link = '<a href="' . $list['trailer'] . '" target="_blank"><img class="animate" src="admin/img/link.png" title="Link" alt=""></a>';
} else {
$trailer_link = '';
}
if ($list['hide'] == 1) {
$hide = '<img class="hidden animate" src="admin/img/hidden.png" title="' . $lang['a_visible'] . ' / ' . $lang['a_hidden'] . '" alt="">';
} else {
$hide = '<img class="visible animate" src="admin/img/visible.png" title="' . $lang['a_visible'] . ' / ' . $lang['a_hidden'] . '" alt="">';
}
$i++;
$output_panel.= '
<tr id="' . $list['id'] . '">
<td>' . $i . '</td><td>' . $list['id'] . '</td>
<td>' . $list['title'] . '</td>
<td class="poster">' . $poster_exist . '</td>
<td class="fanart">' . $fanart_exist . '</td>
<td>' . $trailer_link . '</td>
<td>' . $hide . '</td>
<td><img class="delete_row animate" src="admin/img/delete.png" title="' . $lang['a_delete'] . '" alt=""></td>
</tr>';
}
$output_panel.= '</table><a id="delete_all" class="box" href="admin.php?option=delete_all_' . $t . '">' . $lang['a_delete_all'] . '</a>';
}
// DELETE ALL
if ($option == 'delete_all_movies' or $option == 'delete_all_tvshows') {
if ($option == 'delete_all_movies') {
$truncate = array('movies', 'movies_country', 'movies_actor', 'movies_director', 'movies_genre', 'movies_stream', 'movies_studio');
$reg_exp = '#^(movies)#';
} else {
$truncate = array('tvshows', 'tvshows_actor', 'tvshows_genre', 'episodes', 'episodes_stream');
$reg_exp = '#^(tvshows|episodes)#';
}
foreach ($truncate as $t) {
$sql = 'TRUNCATE `' . $t . '`';
mysql_q($sql);
}
$files = scandir('cache/');
$files_to_remove = array();
foreach($files as $file) {
$match = preg_match_all($reg_exp, $file);
if ($match > 0) {
$files_to_remove[] = $file;
}
}
remove_images($files_to_remove);
}
/* ############
* # SETTINGS #
*/############
if ($option == 'settings') {
$output_lang = '';
$output_theme = '';
$output_select_media_header = '';
$output_view = '';
$output_panel_top = '';
$output_panel_view = '';
$output_watched_status = '';
$output_show_playcount = '';
$output_live_search = '';
$output_live_search_max_res = '';
$output_panel_overall = '';
$output_panel_genre = '';
$output_panel_year = '';
$output_panel_country = '';
$output_panel_set = '';
$output_panel_studio = '';
$output_show_fanart = '';
$output_fadeout_fanart = '';
$output_show_trailer = '';
$output_show_facebook = '';
$output_protect_site = '';
$output_mod_rewrite = '';
$output_per_page = '';
$output_default_sort = '';
$output_default_watch = '';
$output_panel_top_limit = '';
$output_xbmc_thumbs = '';
$output_xbmc_posters = '';
$output_xbmc_fanarts = '';
$output_xbmc_exthumbs = '';
$output_xbmc_exthumbs_q = '';
$output_xbmc_auto_conf_remote = '';
$output_xbmc_master = '';
// set language input
$option_language = scandir('lang/');
foreach ($option_language as $val) {
if (file_exists('lang/' . $val . '/lang.php')) {
if (array_key_exists($val, $langs)) {
$lang_title = $langs[$val];
} else {
$lang_title = $val;
}
$output_lang.= '<option' . ($val == $setting['language'] ? ' selected="selected"' : '') . ' value="' . $val . '">' . $lang_title . '</option>';
}
}
// set default sort
$sort_array = array(
1 => $lang['i_title'],
4 => $lang['i_rating'],
5 => $lang['i_added'],
7 => $lang['i_last_played'],
8 => $lang['i_most_watched']
);
foreach ($sort_array as $key => $val) {
$output_default_sort.= '<option' . ($key == $setting['default_sort'] ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
}
// set default watch
$watch_array = array(
0 => $lang['i_all'],
1 => $lang['i_watched'],
2 => $lang['i_unwatched']
);
foreach ($watch_array as $key => $val) {
$output_default_watch.= '<option' . ($key == $setting['default_watch'] ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
}
// set theme input
$option_theme = scandir('templates/');
foreach ($option_theme as $val) {
if ($val !== '.' && $val !== '..') {
$output_theme.= '<option' . ($val == $setting['theme'] ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
}
}
// set view input
foreach ($views as $key => $val) {
$output_view.= '<option' . ($key == $setting['view'] ? ' selected="selected"' : '') . ' value="' . $key . '">' . $lang['a_' . $val] . '</option>';
}
// extra thumbs size
$dimens = array('1920x1080', '1280x720', '853x480');
foreach ($dimens as $val) {
$output_xbmc_exthumbs_q.= '<option' . ($val == $setting['xbmc_exthumbs_q'] ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
}
$mode = array(0, 1);
foreach ($mode as $val) {
$output_panel_top.= '<option' . ($setting['panel_top'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_select_media_header.= '<option' . ($setting['select_media_header'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_panel_view.= '<option' . ($setting['panel_view'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_watched_status.= '<option' . ($setting['watched_status'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_show_playcount.= '<option' . ($setting['show_playcount'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_live_search.= '<option' . ($setting['live_search'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_show_fanart.= '<option' . ($setting['show_fanart'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_fadeout_fanart.= '<option' . ($setting['fadeout_fanart'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_show_trailer.= '<option' . ($setting['show_trailer'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_show_facebook.= '<option' . ($setting['show_facebook'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_protect_site.= '<option' . ($setting['protect_site'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_mod_rewrite.= '<option' . ($setting['mod_rewrite'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_xbmc_thumbs.= '<option' . ($setting['xbmc_thumbs'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_xbmc_posters.= '<option' . ($setting['xbmc_posters'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_xbmc_fanarts.= '<option' . ($setting['xbmc_fanarts'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_xbmc_exthumbs.= '<option' . ($setting['xbmc_exthumbs'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_xbmc_auto_conf_remote.= '<option' . ($setting['xbmc_auto_conf_remote'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
$output_xbmc_master.= '<option' . ($setting['xbmc_master'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
}
$mode2 = array(0 => $lang['a_setting_off'], 1 => $lang['a_setting_on_expanded'], 2 => $lang['a_setting_on_collapsed']);
foreach ($mode2 as $key => $val) {
$output_panel_overall.= '<option' . ($setting['panel_overall'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
$output_panel_genre.= '<option' . ($setting['panel_genre'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
$output_panel_year.= '<option' . ($setting['panel_year'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
$output_panel_country.= '<option' . ($setting['panel_country'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
$output_panel_set.= '<option' . ($setting['panel_set'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
$output_panel_studio.= '<option' . ($setting['panel_studio'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
}
$quantity = array(5, 10, 20, 50, 100);
foreach ($quantity as $val) {
// set per page input
$output_per_page.= '<option' . ($setting['per_page'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
// set panel top limit
$output_panel_top_limit.= '<option' . ($setting['panel_top_limit'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
// set live search max res
$output_live_search_max_res.= '<option' . ($setting['live_search_max_res'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
}
// output form
$output_panel.= '
<form action="admin.php?option=settings_save" method="post">
<table class="table">
<tr><td class="bold orange">' . $lang['a_set_sync'] . '</td><td></td></tr>
<tr><td>' . $lang['a_xbmc_thumbs'] . ':</td><td><select name="xbmc_thumbs">' . $output_xbmc_thumbs . '</select></td></tr>
<tr><td>' . $lang['a_xbmc_posters'] . ':</td><td><select name="xbmc_posters">' . $output_xbmc_posters . '</select></td></tr>
<tr><td>' . $lang['a_xbmc_fanarts'] . ':</td><td><select name="xbmc_fanarts">' . $output_xbmc_fanarts . '</select></td></tr>
<tr><td>' . $lang['a_xbmc_exthumbs'] . ':</td><td><select name="xbmc_exthumbs">' . $output_xbmc_exthumbs . '</select></td></tr>
<tr><td>' . $lang['a_xbmc_exthumbs_q'] . ':</td><td><select name="xbmc_exthumbs_q">' . $output_xbmc_exthumbs_q . '</select></td></tr>
<tr><td>' . $lang['a_xbmc_auto_conf_remote'] . ':</td><td><select name="xbmc_auto_conf_remote">' . $output_xbmc_auto_conf_remote . '</select></td></tr>
<tr><td>' . $lang['a_xbmc_master'] . ':</td><td><select name="xbmc_master">' . $output_xbmc_master . '</select></td></tr>
<tr><td class="bold orange">' . $lang['a_set_main'] . '</td><td></td></tr>
<tr><td>' . $lang['a_site_name'] . ':</td><td><input type="text" name="site_name" value="' . $setting['site_name'] . '" /></td></tr>
<tr><td>' . $lang['a_language'] . ':</td><td><select name="language">' . $output_lang . '</select></td></tr>
<tr><td>' . $lang['a_theme'] . ':</td><td><select name="theme">' . $output_theme . '</select></td></tr>
<tr><td>' . $lang['a_select_media_header'] . ':</td><td><select name="select_media_header">' . $output_select_media_header . '</select></td></tr>
<tr><td>' . $lang['a_view'] . ':</td><td><select name="view">' . $output_view . '</select></td></tr>
<tr><td>' . $lang['a_per_page'] . ':</td><td><select name="per_page">' . $output_per_page . '</select></td></tr>
<tr><td>' . $lang['a_default_sort'] . ':</td><td><select name="default_sort">' . $output_default_sort . '</select></td></tr>
<tr><td>' . $lang['a_default_watch'] . ':</td><td><select name="default_watch">' . $output_default_watch . '</select></td></tr>
<tr><td>' . $lang['a_panel_top'] . ':</td><td><select name="panel_top">' . $output_panel_top . '</select></td></tr>
<tr><td>' . $lang['a_panel_view'] . ':</td><td><select name="panel_view">' . $output_panel_view . '</select></td></tr>
<tr><td>' . $lang['a_watched_status'] . ':</td><td><select name="watched_status">' . $output_watched_status . '</select></td></tr>
<tr><td>' . $lang['a_show_playcount'] . ':</td><td><select name="show_playcount">' . $output_show_playcount . '</select></td></tr>
<tr><td>' . $lang['a_live_search'] . ':</td><td><select name="live_search">' . $output_live_search . '</select></td></tr>
<tr><td>' . $lang['a_live_search_max_res'] . ':</td><td><select name="live_search_max_res">' . $output_live_search_max_res . '</select></td></tr>
<tr><td>' . $lang['a_show_fanart'] . ':</td><td><select name="show_fanart">' . $output_show_fanart . '</select></td></tr>
<tr><td>' . $lang['a_fadeout_fanart'] . ':</td><td><select name="fadeout_fanart">' . $output_fadeout_fanart . '</select></td></tr>
<tr><td>' . $lang['a_show_trailer'] . ':</td><td><select name="show_trailer">' . $output_show_trailer . '</select></td></tr>
<tr><td>' . $lang['a_show_facebook'] . ':</td><td><select name="show_facebook">' . $output_show_facebook . '</select></td></tr>
<tr><td>' . $lang['a_protect_site'] . ':</td><td><select name="protect_site">' . $output_protect_site . '</select></td></tr>
<tr><td>' . $lang['a_mod_rewrite'] . ':</td><td><select name="mod_rewrite">' . $output_mod_rewrite . '</select></td></tr>
<tr><td class="bold orange">' . $lang['a_set_panel_left'] . '</td><td></td></tr>
<tr><td>' . $lang['a_panel_overall'] . ':</td><td><select name="panel_overall">' . $output_panel_overall . '</select></td></tr>
<tr><td>' . $lang['a_panel_genre'] . ':</td><td><select name="panel_genre">' . $output_panel_genre . '</select></td></tr>
<tr><td>' . $lang['a_panel_year'] . ':</td><td><select name="panel_year">' . $output_panel_year . '</select></td></tr>
<tr><td>' . $lang['a_panel_country'] . ':</td><td><select name="panel_country">' . $output_panel_country . '</select></td></tr>
<tr><td>' . $lang['a_panel_set'] . ':</td><td><select name="panel_set">' . $output_panel_set . '</select></td></tr>
<tr><td>' . $lang['a_panel_studio'] . ':</td><td><select name="panel_studio">' . $output_panel_studio . '</select></td></tr>
<tr><td class="bold orange">' . $lang['a_set_panel_top'] . '</td><td></td></tr>
<tr><td>' . $lang['a_panel_top_time'] . ':</td><td><input type="text" name="panel_top_time" value="' . $setting['panel_top_time'] . '" /></td></tr>
<tr><td>' . $lang['a_panel_top_limit'] . ':</td><td><select name="panel_top_limit">' . $output_panel_top_limit . '</select></td></tr>
</table><br />
<input type="submit" value="' . $lang['a_save'] . '" />
</form>';
}
// Saving settings
if ($option == 'settings_save' && isset($_POST) && count($_POST) > 10) {
$settings_array = array();
$test = true;
foreach ($_POST as $key => $val) {
$settings_array[] = $key . ' = "' . $val . '"';
if (strlen($val) == 0) {
$test = false;
break;
}
}
$settings_update_sql = 'UPDATE config SET ' . implode(', ', $settings_array);
// delete session var
$_SESSION = array();
$_SESSION['logged_admin'] = true;
if ($test) {
$settings_update_res = mysql_q($settings_update_sql);
$output_panel_info.= $lang['a_saved'] . '<br />';
} else {
$output_panel_info.= $lang['a_not_saved'] . '<br />';
}
reset_hash();
}
/* ###################
* # CHANGE PASSWORD #
*/###################
if ($option == 'password') {
$output_panel.= '
<form action="admin.php?option=password_save" method="post">
<table class="table">
<tr><td class="bold orange">' . $lang['a_user'] . '</td><td></td></tr>
<tr><td>' . $lang['a_new_password'] . '</td><td><input type="password" name="password" /></td></tr>
<tr><td>' . $lang['a_new_password_re'] . '</td><td><input type="password" name="password_re" /></td></tr>
<tr><td class="bold orange">' . $lang['a_admin'] . '</td><td></td></tr>
<tr><td>' . $lang['a_new_password'] . '</td><td><input type="password" name="password_admin" /></td></tr>
<tr><td>' . $lang['a_new_password_re'] . '</td><td><input type="password" name="password_admin_re" /></td></tr>
</table><br />
<input type="submit" value="' . $lang['a_save'] . '" />
</form>
';
}
// Save password
if ($option == 'password_save') {
if (strlen($_POST['password']) > 0) {
if ($_POST['password'] == $_POST['password_re']) {
if (strlen($_POST['password']) > 3) {
$password_update_sql = 'UPDATE users SET password = "' . md5($_POST['password']) . '" WHERE login ="user"';
mysql_q($password_update_sql);
$output_panel_info.= $lang['a_user_pass_changed'] . '<br />';
} else {
$output_panel_info.= $lang['a_user_pass_min'] . '<br />';
}
} else {
$output_panel_info.= $lang['a_user_pass_n_match'] . '<br />';
}
}
if (strlen($_POST['password_admin']) > 0) {
if ($_POST['password_admin'] == $_POST['password_admin_re']) {
if (strlen($_POST['password_admin']) > 3) {
$password_update_sql = 'UPDATE users SET password = "' . md5($_POST['password_admin']) . '" WHERE login ="admin"';
mysql_q($password_update_sql);
$output_panel_info.= $lang['a_admin_pass_changed'] . '<br />';
} else {
$output_panel_info.= $lang['a_admin_pass_min'] . '<br />';
}
} else {
$output_panel_info.= $lang['a_admin_pass_n_match'] . '<br />';
}
}
}
// check admin pass is not default
$pass_check_sql = 'SELECT * FROM users WHERE login = "admin"';
$pass_check_result = mysql_q($pass_check_sql);
$pass_check = mysql_fetch_array($pass_check_result);
if ($pass_check['password'] == '21232f297a57a5a743894a0e4a801fc3') {
$output_panel_info.= $lang['a_pass_default'] . '<br />';
}
/* #########
* # TOKEN #
*/#########
if ($option == 'token') {
if (isset($_POST['new_token'])) {
$new_token = change_token();
$output_panel_info.= $lang['a_token_changed'] . '<br />';
} else {
$new_token = $setting['token'];
}
$output_panel.= '
<table class="table">
<tr><td>Token:</td><td class="bold orange">' . $new_token . '</td></tr>
</table><br />
<form action="admin.php?option=token" method="post">
<input type="hidden" name="new_token" />
<input type="submit" value="' . $lang['a_token_change'] . '" />
</form>
';
}
/* ##########
* # BANNER #
*/##########
if ($option == 'banner') {
if (isset($_POST['banner'])) {
foreach ($_POST['banner'] as $val) {
if (!is_numeric($val)) {
if (!preg_match('/^[0-9abcdefABCDEF]{6}$/', $val)) {
$false = true;
break;
}
}
}
if (!isset($false)) {
$update_sql = 'UPDATE config SET `banner` = "' . banner2str($_POST['banner']) . '"';
mysql_q($update_sql);
$_SESSION['banner'] = $setting['banner'] = banner2str($_POST['banner']);
$b = create_banner($lang, 'banner.jpg', banner2str($_POST['banner']));
} else {
$output_panel_info.= $lang['a_error_form'];
}
}
if (isset($_POST['reset'])) {
$b = create_banner($lang, 'banner.jpg', '0');
$_SESSION['banner'] = $setting['banner'] = banner2str($b);
}
$b = create_banner($lang, 'banner_v.jpg', $setting['banner']);
$output_panel.= '<img id="banner" src="cache/banner_v.jpg">';
$output_panel.= '<form class="banner" action="admin.php?option=banner" method="post"><table id="t_banner">';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_size'] . ':</td><td class="text_left orange">W <input id="w" class="ban" type="text" name="banner[w]" value="' . $b['w'] . '"> H <input id="h" class="ban" type="text" name="banner[h]" value="' . $b['h'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_bg'] . ':</td><td class="text_left orange"> color #<input id="bg_c" class="ban" type="text" name="banner[bg_c]" value="' . $b['bg_c'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_last_played'] . ':</td><td class="text_left orange"> color #<input id="lw_c" class="ban" type="text" name="banner[lw_c]" value="' . $b['lw_c'] . '"> size <input id="lw_s" class="ban" type="text" name="banner[lw_s]" value="' . $b['lw_s'] . '"> poz. X <input id="lw_x" class="ban" type="text" name="banner[lw_x]" value="' . $b['lw_x'] . '"> poz. Y <input id="lw_y" class="ban" type="text" name="banner[lw_y]" value="' . $b['lw_y'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_title'] . ':</td><td class="text_left orange"> color #<input id="t_c" class="ban" type="text" name="banner[t_c]" value="' . $b['t_c'] . '"> size <input id="t_s" class="ban" type="text" name="banner[t_s]" value="' . $b['t_s'] . '"> poz. X <input id="t_x" class="ban" type="text" name="banner[t_x]" value="' . $b['t_x'] . '"> poz. Y <input id="t_y" class="ban" type="text" name="banner[t_y]" value="' . $b['t_y'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_o_title'] . ':</td><td class="text_left orange"> color #<input id="o_c" class="ban" type="text" name="banner[o_c]" value="' . $b['o_c'] . '"> size <input id="o_s" class="ban" type="text" name="banner[o_s]" value="' . $b['o_s'] . '"> poz. X <input id="o_x" class="ban" type="text" name="banner[o_x]" value="' . $b['o_x'] . '"> poz. Y <input id="o_y" class="ban" type="text" name="banner[o_y]" value="' . $b['o_y'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_info'] . ':</td><td class="text_left orange"> color #<input id="i_c" class="ban" type="text" name="banner[i_c]" value="' . $b['i_c'] . '"> size <input id="i_s" class="ban" type="text" name="banner[i_s]" value="' . $b['i_s'] . '"> poz. X <input id="i_x" class="ban" type="text" name="banner[i_x]" value="' . $b['i_x'] . '"> poz. Y <input id="i_y" class="ban" type="text" name="banner[i_y]" value="' . $b['i_y'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_stroke'] . ':</td><td class="text_left orange"> color #<input id="st_c" class="ban" type="text" name="banner[st_c]" value="' . $b['st_c'] . '"></td></tr>';
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_border'] . ':</td><td class="text_left orange"> color #<input id="b_c" class="ban" type="text" name="banner[b_c]" value="' . $b['b_c'] . '"></td></tr>';
$output_panel.= '</table><input type="submit" value="' . $lang['a_save'] . '"></form>';
$output_panel.= '<p><form action="admin.php?option=banner" method="post">';
$output_panel.= '<input type="submit" name="reset" value="' . $lang['a_reset'] . '"></form></p>';
$url = 'http://' . $_SERVER['SERVER_NAME'] . implode('/', array_slice(explode('/', $_SERVER['REQUEST_URI']), 0, -1)) . '/';
$output_panel.= '<textarea readonly="readonly">' . $url . 'cache/banner.jpg</textarea>';
}
/* ########
* # XBMC #
*/########
if ($option == 'xbmc') {
$_SESSION = array();
$_SESSION['logged_admin'] = true;
if ($setting['xbmc_auto_conf_remote'] == 1) {
$output_panel.= '<p class="green">' . $lang['a_xbmc_auto_conf_enabled'] . '</p>';
$d = 'disabled';
} else {
$d = '';
}
$output_panel.= '
<form action="admin.php?option=xbmc_save" method="post">
<table class="table">
<tr><td class="bold orange">' . $lang['a_xbmc_settings'] . '</td><td></td></tr>
<tr><td>' . $lang['a_xbmc_host'] . '</td><td><input id="xbmc_host" type="input" name="xbmc_host" value="' . $setting['xbmc_host'] . '" ' . $d . '/></td></tr>
<tr><td>' . $lang['a_xbmc_port'] . '</td><td><input id="xbmc_port" type="input" name="xbmc_port" value="' . $setting['xbmc_port'] . '" ' . $d . '/></td></tr>
<tr><td>' . $lang['a_xbmc_login'] . '</td><td><input id="xbmc_login" type="input" name="xbmc_login" value="' . $setting['xbmc_login'] . '" ' . $d . '/></td></tr>
<tr><td>' . $lang['a_xbmc_pass'] . '</td><td><input id="xbmc_pass" type="input" name="xbmc_pass" value="' . $setting['xbmc_pass'] . '" ' . $d . '/></td></tr>
</table>
<div id="xbmc_test" class="box"><div></div>' . $lang['a_xmbc_test'] . '</div>
<input type="submit" value="' . $lang['a_save'] . '" ' . $d . '/>
</form>
';
}
// Save connection
if ($option == 'xbmc_save') {
$xbmc_update_sql = 'UPDATE config SET
xbmc_host = "' . $_POST['xbmc_host'] . '",
xbmc_port = "' . $_POST['xbmc_port'] . '",
xbmc_login = "' . $_POST['xbmc_login'] . '",
xbmc_pass = "' . $_POST['xbmc_pass'] . '"';
mysql_q($xbmc_update_sql);
$output_panel_info.= $lang['a_xbmc_saved'] . '<br />';
$_SESSION = array();
$_SESSION['logged_admin'] = true;
}
/* ##############
* # PANEL INFO #
*/##############
if ($output_panel_info !== '') {
$output_panel_info = '<div class="panel_info">' . $output_panel_info . '</div>';
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title><?PHP echo $setting['site_name'] ?> - <?PHP echo $lang['a_html_admin_panel'] ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<![endif]-->
<link type="image/x-icon" href="admin/img/icon.ico" rel="icon" media="all" />
<link type="text/css" href="admin/css/style.css" rel="stylesheet" media="all" />
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="js/jquery.script.js"></script>
</head>
<body>
<?PHP echo $output_panel_info ?>
<div class="container">
<div id="panel_left">
<a class="box" href="admin.php"><?PHP echo $lang['a_html_overall'] ?></a>
<a class="box" href="index.php"><?PHP echo $lang['a_html_library'] ?></a>
<a class="box" href="admin.php?option=movieslist"><?PHP echo $lang['a_html_movie_list'] ?></a>
<a class="box" href="admin.php?option=tvshowslist"><?PHP echo $lang['a_html_tvshow_list'] ?></a>
<a class="box" href="admin.php?option=settings"><?PHP echo $lang['a_html_settings'] ?></a>
<a class="box" href="admin.php?option=password"><?PHP echo $lang['a_html_password'] ?></a>
<a class="box" href="admin.php?option=token"><?PHP echo $lang['a_html_change_token'] ?></a>
<a class="box" href="admin.php?option=banner"><?PHP echo $lang['a_html_banner'] ?></a>
<a class="box" href="admin.php?option=xbmc">XBMC</a>
<a class="box" href="login.php?login=admin_logout"><?PHP echo $lang['a_html_logout'] ?></a>
</div>
<div id="panel_right">
<?PHP echo $output_panel ?>
</div>
</div>
</body>
</html>