use the session array, this allows talks to be run without register_globals

This commit is contained in:
Shane Caraveo
2003-06-19 07:53:36 +00:00
parent d8bddf2b75
commit 8935957e19
4 changed files with 44 additions and 56 deletions

View File

@@ -5,6 +5,7 @@ require_once 'objects.php';
require_once 'config.php';
session_start();
$currentPres = $_SESSION['currentPres'];
if (!extension_loaded('ming')) {
if (!dl('php_ming.so')) {

View File

@@ -15,9 +15,6 @@
require_once 'XML_Presentation.php';
session_start();
session_register('selected_display_mode');
session_register('show_speaker_notes');
# $_SESSION['titles'] = null;
$topics = array();
$ps = array();
@@ -138,8 +135,8 @@ Simply click the topic you wish to find presentations on to view all available p
else {
list($display_mode,$form_speaker) = explode('|',$_COOKIE['display_mode']);
}
$show_speaker_notes = ($form_speaker=='true');
$selected_display_mode = $display_mode;
$_SESSION['show_speaker_notes'] = ($form_speaker=='true');
$_SESSION['selected_display_mode'] = $display_mode;
?>
<form name="modes_form" action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<p>Please select a display mode:

View File

@@ -249,10 +249,10 @@ function strip_markups($str) {
}
function display() {
global $pres, $selected_display_mode;
global $pres;
if(isset($pres[1]->navmode)) $mode = $pres[1]->navmode;
if(isset($this->navmode)) $mode = $this->navmode;
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
@@ -260,8 +260,9 @@ function strip_markups($str) {
function html() {
global $slideNum, $maxSlideNum, $winW, $winH, $prevTitle,
$nextTitle, $currentPres, $baseDir, $showScript,
$nextTitle, $baseDir, $showScript,
$pres, $objs;
$currentPres = $_SESSION['currentPres'];
$navsize = $this->navSize;
if ($pres[1]->navsize) $navsize = $pres[1]->navsize;
@@ -465,8 +466,9 @@ function strip_markups($str) {
function plainhtml() {
global $slideNum, $maxSlideNum, $winW, $prevTitle,
$nextTitle, $currentPres, $baseDir, $showScript,
$nextTitle, $baseDir, $showScript,
$pres, $objs;
$currentPres = $_SESSION['currentPres'];
$navsize = $this->navSize;
if ($pres[1]->navsize) $navsize = $pres[1]->navsize;
@@ -627,8 +629,9 @@ type="application/x-shockwave-flash" width="<?=$dx?>" height="<?=$dy?>">
function pdf() {
global $pdf, $pdf_x, $pdf_y, $slideNum, $maxSlideNum,
$currentPres, $baseDir, $showScript, $pres, $objs,
$baseDir, $showScript, $pres, $objs,
$pdf_cx, $pdf_cy, $page_index, $page_number, $pdf_font;
$currentPres = $_SESSION['currentPres'];
$p = $pres[1];
$middle = (int)($pdf_y/2) - 40;
@@ -747,20 +750,18 @@ type="application/x-shockwave-flash" width="<?=$dx?>" height="<?=$dy?>">
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
function html() {
global $show_speaker_notes;
if($this->type=='speaker' && !$show_speaker_notes) return;
if($this->type=='speaker' && !$_SESSION['show_speaker_notes']) return;
$effect = '';
if($this->effect) $effect = "effect=\"$this->effect\"";
if(!empty($this->title)) {
@@ -774,9 +775,7 @@ type="application/x-shockwave-flash" width="<?=$dx?>" height="<?=$dy?>">
}
function plainhtml() {
global $show_speaker_notes;
if($this->type=='speaker' && !$show_speaker_notes) return;
if($this->type=='speaker' && !$_SESSION['show_speaker_notes']) return;
if(!empty($this->title)) {
if($this->type=='speaker') $this->titlecolor='#ff3322';
echo "<h1 align=\"$this->talign\"><font color=\"$this->titlecolor\">".markup_text($this->title)."</font></h1>\n";
@@ -878,12 +877,12 @@ type="application/x-shockwave-flash" width="<?=$dx?>" height="<?=$dy?>">
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -1034,12 +1033,12 @@ type="application/x-shockwave-flash" width="<?=$dx?>" height="<?=$dy?>">
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -1496,10 +1495,10 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if (isset($selected_display_mode)) {
$mode = $selected_display_mode;
if (isset($_SESSION['selected_display_mode'])) {
$mode = $_SESSION['selected_display_mode'];
} else if (isset($this->mode)) {
$mode = $this->mode;
} else if (isset($objs[1]->mode)) {
@@ -1540,12 +1539,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -1608,12 +1607,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -1844,12 +1843,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -1956,12 +1955,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -2045,12 +2044,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
}
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -2134,12 +2133,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
class _divide {
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}
@@ -2185,12 +2184,12 @@ type=\"application/x-shockwave-flash\" width=$this->iwidth height=$this->iheight
class _footer {
function display() {
global $objs, $pres, $selected_display_mode;
global $objs, $pres;
if(isset($this->mode)) $mode = $this->mode;
else if(isset($objs[1]->mode)) $mode = $objs[1]->mode;
else if(isset($pres[1]->mode)) $mode = $pres[1]->mode;
else $mode='html';
if(isset($selected_display_mode)) $mode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $mode = $_SESSION['selected_display_mode'];
$this->$mode();
}

View File

@@ -14,27 +14,18 @@
require_once 'XML_Slide.php';
session_start();
session_register('pres');
session_register('objs');
session_register('winH');
session_register('winW');
session_register('currentPres');
session_register('slideNum');
session_register('maxSlideNum');
session_register('prevTitle');
session_register('nextTitle');
$presFile = trim($_SERVER['PATH_INFO']);
$presFile = trim($presFile,'/');
$lastPres = null;
if(isset($currentPres)) {
$lastPres = $currentPres;
if(isset($_SESSION['currentPres'])) {
$lastPres = $_SESSION['currentPres'];
}
@list($currentPres,$slideNum) = explode('/',$presFile);
@list($_SESSION['currentPres'],$slideNum) = explode('/',$presFile);
if(!$slideNum) $slideNum = 0;
if($slideNum<0) $slideNum = 0;
if(!isset($_SESSION['titlesLoaded'])) $_SESSION['titlesLoaded'] = 0;
$presFile = str_replace('..','',$currentPres); // anti-hack
$presFile = str_replace('..','',$_SESSION['currentPres']); // anti-hack
$presFile = "$presentationDir/$presFile".'.xml';
if(isset($_COOKIE['dims'])) {
@@ -46,7 +37,7 @@
$p->parse();
$pres = $p->getObjects();
if(empty($_SESSION['titles']) || $lastPres != $currentPres || $_SESSION['titlesLoaded'] < filemtime($presFile)) {
if(empty($_SESSION['titles']) || $lastPres != $_SESSION['currentPres'] || $_SESSION['titlesLoaded'] < filemtime($presFile)) {
$_SESSION['titles'] = get_all_titles($pres[1]);
$_SESSION['titlesLoaded'] = filemtime($presFile);
}
@@ -80,7 +71,7 @@
else if(isset($pres[1]->navmode)) $navmode = $pres[1]->navmode;
else $navmode = 'html';
// Override with user-selected display mode
if(isset($selected_display_mode)) $navmode = $selected_display_mode;
if(isset($_SESSION['selected_display_mode'])) $navmode = $_SESSION['selected_display_mode'];
switch($navmode) {
case 'html':
@@ -156,7 +147,7 @@ FOOTER;
case 'pdfus':
case 'pdfusl':
case 'pdfa4':
$selected_display_mode = 'pdf';
$_SESSION['selected_display_mode'] = 'pdf';
switch($navmode) {
case 'pdfus': // US-Letter
$pdf_x = 612; $pdf_y = 792;
@@ -226,7 +217,7 @@ FOOTER;
pdf_close($pdf);
$data = pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header("Content-disposition: inline; filename=$currentPres.pdf");
header('Content-disposition: inline; filename='.$_SESSION['currentPres'].'.pdf');
header("Content-length: " . strlen($data));
echo $data;
break;