mirror of
https://github.com/php/web-pres2.git
synced 2026-03-23 23:12:07 +01:00
use the session array, this allows talks to be run without register_globals
This commit is contained in:
@@ -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')) {
|
||||
|
||||
@@ -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:
|
||||
|
||||
67
objects.php
67
objects.php
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
25
show.php
25
show.php
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user