blog.php includes blog-functions.php and header.php
header.php includes class-settings.php
I can access the $settings class in blog.php but not blog-functions.php, why?
Using include spawns a cannot redeclare class error...fine. I tried include_once and that didn't seem to do anything save not attempt to redeclare the class.
Here is the class file which I haven't modified much since originally writing it...
Code: Select all
<?php
class settings
{
public function set($name,$value) {$this->$name = $value;}
public function get($name){return $this->$name;}
}
// Defaults
$contact = '0';
if (isset($_GET['prompt'])) {$prompt = $_GET['prompt'];}
else {$prompt = '0';}
// Credit to VladSun at devnetwork.net
//$pairs = split('[._]', $_COOKIE['settings']);
//for ($i = 0; $i < count($pairs) / 2; $i++) ${$pairs[$i*2]} = $pairs[$i*2 + 1];
function example($property, $default_value)
{
if (isset($_POST['formis']))
{
if ($_POST['formis'] == 'siteoptions' && isset($_POST[$property]))
{
$post_array = array('audio', 'broadbandimages', 'checkbox',' columns', 'connection', 'css3', 'cursors', 'dhtmleffects', 'initialfocus', 'pagination', 'powerkeys', 'sidebar', 'sounds');
if (in_array($property,$post_array))
{
return $_POST[$property];
}
else
{
return $default_value;
}
}
else if ($_POST['formis']=='siteoptions' && !isset($_POST[$property]))
{
return $default_value;
}
}
else if (isset($_GET[$property]))
{
$property = $_GET[$property]; return $property;
}
else if (isset($_COOKIE['settings']))
{
$pieces = explode('_', $_COOKIE['settings']);
foreach($pieces as $value)
{
$value = explode('.', $value);
if ($value[0]==$property)
{
if ($value[1] != '') {return $value[1];}
else {return $default_value;}
}
}
}
else
{
return $default_value;
}
}
$cookie_old = array(
'audio'=>'0',
'broadbandimages'=>'0',
'checkbox'=>'0',
'columns'=>'1',
'connection'=>'0',
'css3'=>'0',
'csspatch'=>'1',
'cursors'=>'0',
'dhtmleffects'=>'0',
'dtd'=>'1',
'initialfocus'=>'search_query',
'keyboardlayout'=>'developer',
'mediatype'=>'ns',
'pagination'=>'form',
'personality'=>'0',
'powerkeys'=>'0',
'sidebar'=>'20',
'sounds'=>'0',
'theme'=>'classic'
);
$cookie_value;
foreach($cookie_old as $value=>$default)
{
example($value, $default);
$$value = example($value, $default);
if (isset($cookie_value)) {$cookie_value .= $value.'.'.$$value.'_';}
else {$cookie_value = $value.'.'.$$value.'_';}
}
// Set the cookie using the updated values...
//$cookie_value = 'audio.' . "$audio" . '_broadbandimages.' . "$broadbandimages" . '_browserpatch.' . "$browserpatch" . '_chatroom.' . "$chatroom" . '_connection.' . "$connection" . '_css3.' . "$css3" . '_cursors.' . "$cursors" . '_dhtmleffects.' . "$dhtmleffects" . '_dtd.' . "$dtd" . '_ieccss.' . "$ieccss" . '_initialfocus.' . "$initialfocus" . '_keyboardlayout.' . "$keyboardlayout" . '_mediatype.' . "$mediatype" . '_personality.' . "$personality" . '_powerkeys.' . "$powerkeys" . '_sounds.' . "$sounds" . '_theme.' . "$theme";
if (!headers_sent()) {setcookie('settings',$cookie_value,time()+2592000,'/');}
//echo $connection;
if (isset($_GET['prompt'])) {$initial_focus2 = $_GET['prompt'];}
else {$initial_focus2 = $initialfocus;}
// Assign subclasses to true values.
$settings = new settings();
$settings->set('audio',$audio);
$settings->set('broadbandimages',$broadbandimages);
$settings->set('checkbox',$checkbox);
$settings->set('columns',$columns);
$settings->set('connection',$connection);
$settings->set('css3',$css3);
$settings->set('csspatch',$csspatch);
$settings->set('cursors',$cursors);
$settings->set('dhtmleffects',$dhtmleffects);
$settings->set('dtd',$dtd);
$settings->set('initialfocus',$initial_focus2);
$settings->set('keyboardlayout',$keyboardlayout);
$settings->set('mediatype',$mediatype);
$settings->set('pagination',$pagination);
$settings->set('personality',$personality);
$settings->set('powerkeys',$powerkeys);
//$settings->set('scrollbars',$scrollbars);
$settings->set('sidebar',$sidebar);
$settings->set('sounds',$sounds);
$settings->set('theme',$theme);
//$settings->set('formis',$_POST['formis']);
if (!empty($error))
{
$settings->set('error',$error);
}
else
{
$error = '0';
$settings->set('error',$error);
}
?>