mirror of
https://github.com/Yetangitu/ampache
synced 2025-10-03 01:39:28 +02:00
fixed ajax requests with invalid session not causing logout
This commit is contained in:
parent
c13392b861
commit
c0f55e26b2
5 changed files with 21 additions and 64 deletions
|
@ -4,6 +4,8 @@
|
|||
|
||||
--------------------------------------------------------------------------
|
||||
v.3.4-Alpha4
|
||||
- Fixed a bug where ajax actions wouldn't trigger a redirect to login
|
||||
when session expired, instead they would just break
|
||||
- Fixed a bug with Random Play if you had no artists/albums/playlists
|
||||
- Fixed Admin's ability to modify other users preferences
|
||||
- Added User and Manager levels to Localplay, determines what the
|
||||
|
|
|
@ -247,7 +247,7 @@ class Update {
|
|||
|
||||
$version[] = array('version' => '340012','description'=>$update_string);
|
||||
|
||||
$update_string = '- Removed Unused Preferneces.<br />' .
|
||||
$update_string = '- Removed Unused Preferences.<br />' .
|
||||
'- Changed Localplay Config to Localplay Access.<br />' .
|
||||
'- Changed all XML-RPC acls to RPC to reflect inclusion of new API.<br />';
|
||||
|
||||
|
|
|
@ -43,66 +43,6 @@ function int2ip($i) {
|
|||
return "$d[0].$d[1].$d[2].$d[3]";
|
||||
} // int2ip
|
||||
|
||||
/*
|
||||
* Conf function by Robert Hopson
|
||||
* call it with a $parm name to retrieve
|
||||
* a var, pass it a array to set them
|
||||
* to reset a var pass the array plus
|
||||
* Clobber! replaces global $conf;
|
||||
*/
|
||||
/*function conf($param,$clobber=0)
|
||||
{
|
||||
static $params = array();
|
||||
|
||||
if(is_array($param))
|
||||
//meaning we are setting values
|
||||
{
|
||||
foreach ($param as $key=>$val)
|
||||
{
|
||||
if(!$clobber && isset($params[$key]))
|
||||
{
|
||||
echo "Error: attempting to clobber $key = $val\n";
|
||||
exit();
|
||||
}
|
||||
$params[$key] = $val;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
//meaning we are trying to retrieve a parameter
|
||||
{
|
||||
if($params[$param]) return $params[$param];
|
||||
else return;
|
||||
}
|
||||
} //conf
|
||||
|
||||
function error_results($param,$clobber=0)
|
||||
{
|
||||
static $params = array();
|
||||
|
||||
if(is_array($param))
|
||||
//meaning we are setting values
|
||||
{
|
||||
foreach ($param as $key=>$val)
|
||||
{
|
||||
if(!$clobber && isset($params[$key]))
|
||||
{
|
||||
echo "Error: attempting to clobber $key = $val\n";
|
||||
exit();
|
||||
}
|
||||
$params[$key] = $val;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
//meaning we are trying to retrieve a parameter
|
||||
{
|
||||
if($params[$param]) return $params[$param];
|
||||
else return;
|
||||
}
|
||||
} //error_results
|
||||
*/
|
||||
|
||||
/**
|
||||
* session_exists
|
||||
* checks to make sure they've specified a valid session, can handle xmlrpc
|
||||
|
@ -524,8 +464,19 @@ function logout() {
|
|||
// Do a quick check to see if this is an AJAX'd logout request
|
||||
// if so use the iframe to redirect
|
||||
if (AJAX_INCLUDE == '1') {
|
||||
$_SESSION['iframe']['target'] = Config::get('web_path') . '/login.php';
|
||||
$results['rfc3514'] = '<script type="text/javascript">reload_util("'.$_SESSION['iframe']['target'].'")</script>';
|
||||
ob_end_clean();
|
||||
ob_start();
|
||||
|
||||
/* Set the correct headers */
|
||||
header("Content-type: text/xml; charset=" . Config::get('site_charset'));
|
||||
header("Content-Disposition: attachment; filename=ajax.xml");
|
||||
header("Expires: Tuesday, 27 Mar 1984 05:00:00 GMT");
|
||||
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Pragma: no-cache");
|
||||
|
||||
$target = Config::get('web_path') . '/login.php';
|
||||
$results['rfc3514'] = '<script type="text/javascript">reload_logout("'.$target.'")</script>';
|
||||
echo xml_from_array($results);
|
||||
}
|
||||
|
||||
|
|
|
@ -92,6 +92,11 @@ function reload_util(target) {
|
|||
document.getElementById('util_iframe').src = document.getElementById('util_iframe').src;
|
||||
}
|
||||
|
||||
// Log them out
|
||||
function reload_logout(target) {
|
||||
window.location = target;
|
||||
}
|
||||
|
||||
function popup_art(url) {
|
||||
var newwindow;
|
||||
newwindow=window.open(url, "ampache_art", "menubar=no,toolbar=no,location=no,directories=no");
|
||||
|
|
1
util.php
1
util.php
|
@ -18,7 +18,6 @@
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
*/
|
||||
|
||||
require_once 'lib/init.php';
|
||||
|
||||
// This is a little bit of a special file, it takes the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue