Skin '.htmlspecialchars($skin).' does not exist!'; exit(0); } $skinrequires = array(); if (file_exists('skins/'.$skin.'/skin.requires')) { logger::log("INIT", "Loading Skin Requirements File"); $requires = file('skins/'.$skin.'/skin.requires'); foreach ($requires as $r) { if (substr($r,0,1) != '#') { $skinrequires[] = $r; } } } require_once ("includes/functions.php"); require_once ("international.php"); set_version_string(); require_once ("skins/".$skin."/ui_elements.php"); // // See if there are any POST values from the setup screen // if (array_key_exists('currenthost', $_POST)) { foreach (array('cleanalbumimages', 'do_not_show_prefs', 'separate_collections') as $p) { if (array_key_exists($p, $_POST)) { $_POST[$p] = true; } else { $_POST[$p] = false; } } foreach ($_POST as $i => $value) { logger::mark("INIT", "Setting Pref ".$i." to ".$value); $prefs[$i] = $value; } setcookie('currenthost',$prefs['currenthost'],time()+365*24*60*60*10,'/'); $mopidy_slave = false; if (property_exists($prefs['multihosts']->{$prefs['currenthost']}, 'mopidy_slave')) { $mopidy_slave = $prefs['multihosts']->{$prefs['currenthost']}->mopidy_slave; } $prefs['multihosts']->{$prefs['currenthost']} = (object) array( 'host' => $prefs['mpd_host'], 'port' => $prefs['mpd_port'], 'password' => $prefs['mpd_password'], 'socket' => $prefs['unix_socket'], 'mopidy_slave' => $mopidy_slave, 'radioparams' => (object) array ( "radiomode" => "", "radioparam" => "", "radiomaster" => "", "radioconsume" => 0 ) ); savePrefs(); } $collections = glob('prefs/collection_{mpd,mopidy}.sq3', GLOB_BRACE); if (count($collections) > 0) { logger::blurt('UPGRADE', 'Old-style twin sqlite collections found'); @mkdir('prefs/oldcollections'); $time = 0; $newest = null; foreach ($collections as $file) { if (filemtime($file) > $time) { $newest = $file; $time = filemtime($file); } } logger::mark('UPGRADE', "Newest file is",$newest); copy($newest, 'prefs/collection.sq3'); foreach ($collections as $file) { logger::log('UPGRADE', 'Moving',$file,'to','prefs/oldcollections/'.basename($file)); rename($file, 'prefs/oldcollections/'.basename($file)); } } logger::debug("INIT", $_SERVER['SCRIPT_FILENAME']); logger::debug("INIT", $_SERVER['PHP_SELF']); // // Has the user asked for the setup screen? // if (array_key_exists('setup', $_REQUEST)) { $title = get_int_text("setup_request"); include("setupscreen.php"); exit(); } require_once ('player/mpd/mpdinterface.php'); logger::mark('INIT','Attempting to connect to player',$prefs['currenthost']); if (array_key_exists('player_backend', $_COOKIE)) { logger::mark('INIT','Player backend cookie is',$_COOKIE['player_backend']); } else { logger::mark('INIT','Player backend cookie is not set'); } $player = new base_mpd_player(); if ($player->is_connected()) { $mpd_status = $player->get_status(); if (array_key_exists('error', $mpd_status)) { logger::fail("INIT", "MPD Password Failed or other status failure"); connect_fail(get_int_text("setup_connecterror").$mpd_status['error']); } } else { logger::error("INIT", "MPD Connection Failure"); connect_fail(get_int_text("setup_connectfail")); } // If we're connected by a local socket we can read the music directory $arse = $player->get_config(); if (array_key_exists('music_directory', $arse)) { set_music_directory($arse['music_directory']); } $player->close_mpd_connection(); // // See if we can use the SQL backend // include( "backends/sql/connect.php"); if (array_key_exists('collection_type', $prefs)) { connect_to_database(); } else { probe_database(); include("backends/sql/".$prefs['collection_type']."/specifics.php"); } if (!$mysqlc) { sql_init_fail("No Database Connection Was Possible"); } list($result, $message) = check_sql_tables(); if ($result == false) { sql_init_fail($message); } savePrefs(); // // Do some initialisation and cleanup of the Apache backend // include ("includes/firstrun.php"); logger::trace("INIT", "Last Last.FM Sync Time is ".$prefs['last_lastfm_synctime'].", ".date('r', $prefs['last_lastfm_synctime'])); logger::log("INIT", "Initialisation done. Let's Boogie!"); logger::shout("CREATING PAGE", "******++++++======------******------======++++++******"); ?> RompЯ '."\n".json_encode($translations)."\n\n"; $safeprefs = array(); foreach ($prefs as $p => $v) { if (!in_array($p, $private_prefs)) { $safeprefs[$p] = $v; } } print '\n"; print ''."\n"; print ''."\n"; foreach ($skinrequires as $s) { $s = trim($s); $ext = strtolower(pathinfo($s, PATHINFO_EXTENSION)); if ($ext == "css") { logger::mark("INIT", "Including Skin Requirement ".$s); print ''."\n"; } } ?> '."\n"; } $inc = glob("streamplugins/*.js"); foreach($inc as $i) { logger::log("INIT", "Loading ".$i); print ''."\n"; } logger::log("LAYOUT", "Including skins/".$skin.'/skinvars.php'); include('skins/'.$skin.'/skinvars.php'); include('includes/globals.php'); $inc = glob("browser/helpers/*.js"); foreach($inc as $i) { logger::log("INIT", "Including Browser Helper ".$i); print ''."\n"; } $inc = glob("browser/plugins/*.js"); ksort($inc); foreach($inc as $i) { logger::log("INIT", "Including Info Panel Plugin ".$i); print ''."\n"; } if ($use_smartradio) { $inc = glob("radios/*.js"); ksort($inc); foreach($inc as $i) { logger::log("INIT", "Including Smart Radio Plugin ".$i); print ''."\n"; } } if ($use_plugins) { $inc = glob("plugins/*.js"); foreach($inc as $i) { logger::log("INIT", "Including Plugin ".$i); print ''."\n"; } if ($prefs['load_plugins_at_loadtime']) { $inc = glob("plugins/code/*.js"); foreach($inc as $i) { logger::log("INIT", "DEVELOPMENT MODE : Including Plugin ".$i); print ''."\n"; } } } foreach ($skinrequires as $s) { $s = trim($s); $ext = strtolower(pathinfo($s, PATHINFO_EXTENSION)); if ($ext == "js") { logger::log("INIT", "Including Skin Requirement ".$s); print ''."\n"; } } ?>