'news.php', 'title' => ADLAN_0);
$front_page['download'] = array('page' => 'download.php', 'title' => ADLAN_24);
$front_page['wmessage'] = array('page' => 'index.php', 'title' => ADLAN_28);
if ($sql -> db_Select("page", "*", "page_theme=''"))
{
$front_page['custom']['title'] = 'Custom Page';
while ($row = $sql -> db_Fetch())
{
$front_page['custom']['page'][] = array('page' => 'page.php?'.$row['page_id'], 'title' => $row['page_title']);
}
}
// Now let any plugins add to the options - must append to the $front_page array as above
foreach($pref['e_frontpage_list'] as $val)
{
if (is_readable(e_PLUGIN.$val."/e_frontpage.php"))
{
require_once(e_PLUGIN.$val."/e_frontpage.php");
}
}
// Now sort out list of rules for display (based on $pref data to start with)
$gotpub = FALSE;
if (is_array($pref['frontpage']))
{
$i = 1;
foreach ($pref['frontpage'] as $class => $val)
{
if ($class == 'all')
{
$class = e_UC_PUBLIC;
$gotpub = TRUE;
}
if ($val)
{ // Only add non-null pages
$fp_settings[$i] = array('order' => $i, 'class' => $class, 'page' => $val,'force' => varset($pref['frontpage_force'][$class],''));
$i++;
}
}
}
else
{ // Legacy stuff to convert
$fp_settings = array();
$fp_settings[] = array('order' => 0, 'class' => e_UC_PUBLIC, 'page' => varset($pref['frontpage'],'news.php'),'force' => '');
}
if (!$gotpub)
{ // Need a 'default' setting - usually 'all'
$fp_settings[] = array('order' => $i, 'class' => e_UC_PUBLIC, 'page' => varset($pref['frontpage']['all'],'news.php'),'force' => '');
}
$fp_update_prefs = FALSE;
if (isset($_POST['fp_inc']))
{
$mv = intval($_POST['fp_inc']);
if (($mv > 1) && ($mv <= count($fp_settings)))
{
$temp = $fp_settings[$mv-1];
$fp_settings[$mv-1] = $fp_settings[$mv];
$fp_settings[$mv] = $temp;
$fp_update_prefs = TRUE;
}
}
elseif (isset($_POST['fp_dec']))
{
$mv = intval($_POST['fp_dec']);
if (($mv > 0) && ($mv < count($fp_settings)))
{
$temp = $fp_settings[$mv+1];
$fp_settings[$mv+1] = $fp_settings[$mv];
$fp_settings[$mv] = $temp;
$fp_update_prefs = TRUE;
}
}
// Edit an existing rule
if (isset($_POST['fp_edit_rule']))
{
$_POST['type'] = (isset($_POST['edit']['all'])) ? 'all_users' : 'user_class';
$_POST['class'] = key($_POST['edit']);
}
// Cancel Edit
if (isset($_POST['fp_save_new']))
{ // Add or edit an existing rule here.
// fp_order - zero for a new rule, non-zero if editing an existing rule
// class - user class for rule
// frontpage - radio button option indicating type of page (for home page)
// frontpage_multipage[] - the other information for custom pages and similar - array index matches value of 'frontpage' when selected
// frontpage_other - URL for 'other' home page
// fp_force_page - radio button option indicating type of page (for post-login page)
// fp_force_page_multipage[] - the other information for custom pages and similar - array index matches value of 'frontpage' when selected
// fp_force_page_other - URL for forced post-login 'other' page
if ($_POST['frontpage'] == 'other')
{
$_POST['frontpage_other'] = trim($tp -> toForm($_POST['frontpage_other']));
$frontpage_value = $_POST['frontpage_other'] ? $_POST['frontpage_other'] : 'news.php';
}
else
{
if (is_array($front_page[$_POST['frontpage']]['page']))
{
$frontpage_value = $front_page[$_POST['frontpage']]['page'][$_POST['frontpage_multipage'][$_POST['frontpage']]]['page'];
}
else
{
$frontpage_value = $front_page[$_POST['frontpage']]['page'];
}
}
if ($_POST['fp_force_page'] == 'other')
{
$_POST['fp_force_page_other'] = trim($tp -> toForm($_POST['fp_force_page_other']));
$forcepage_value = $_POST['fp_force_page_other']; // A null value is allowable here
}
else
{
if (is_array($front_page[$_POST['fp_force_page']]['page']))
{
$forcepage_value = $front_page[$_POST['fp_force_page']]['page'][$_POST['fp_force_page_multipage'][$_POST['fp_force_page']]]['page'];
}
else
{
$forcepage_value = $front_page[$_POST['fp_force_page']]['page'];
}
}
$temp = array('order' => intval($_POST['fp_order']), 'class' => $_POST['class'], 'page' => $frontpage_value,'force' => trim($forcepage_value));
if ($temp['order'] == 0)
{ // New index to add
$ind = 0;
for ($i = 1; $i <= count($fp_settings); $i++)
{
if ($fp_settings[$i]['class'] == $temp['class']) $ind = $i;
}
if ($ind)
{
unset($fp_settings[$ind]); // Knock out duplicate definition for class
echo "duplicate definition for class: ".$ind."
";
}
array_unshift($fp_settings,$temp); // Deliberately add twice
array_unshift($fp_settings,$temp); // ....because re-indexed from zero
unset($fp_settings[0]); // Then knock out index zero
$fp_update_prefs = TRUE;
}
elseif (array_key_exists($temp['order'],$fp_settings))
{
$fp_settings[$temp['order']] = $temp;
$fp_update_prefs = TRUE;
}
else
{ // Someone playing games
$ns -> tablerender(LAN_UPDATED, "