681 lines
38 KiB
PHP
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>
|