'.
tr(
fLabelCell(gTxt('uses_page').':').
td(
selectInput('page', $pages, $default['page']).sp.popHelp('section_uses_page')
, '', 'noline')
).
tr(
fLabelCell(gTxt('uses_style').':') .
td(
selectInput('css', $styles, $default['css']).sp.popHelp('section_uses_css')
, '', 'noline')
).
tr(
tda(
fInput('submit', '', gTxt('save_button'), 'smallerbox').
eInput('section').
sInput('section_save').
hInput('name','default')
, ' colspan="2" class="noline"')
).
endTable()
)
).
td()
);
$rs = safe_rows_start('*', 'txp_section', "name != 'default' order by name");
if ($rs)
{
while ($a = nextRow($rs))
{
extract($a);
echo n.n.tr(
n.td($name).
n.td(
form(
'
'.
n.n.tr(
fLabelCell(gTxt('section_name').':').
fInputCell('name', $name, 1, 20)
).
n.n.tr(
fLabelCell(gTxt('section_longtitle').':').
fInputCell('title', $title, 1, 20)
).
n.n.tr(
fLabelCell(gTxt('uses_page').':').
td(
selectInput('page', $pages, $page).sp.popHelp('section_uses_page')
, '', 'noline')
).
n.n.tr(
fLabelCell(gTxt('uses_style').':').
td(
selectInput('css', $styles, $css).sp.popHelp('section_uses_css')
, '', 'noline')
).
n.n.tr(
fLabelCell(gTxt('selected_by_default')).
td(
yesnoradio('is_default', $is_default, '', $name).sp.popHelp('section_is_default')
, '', 'noline')
).
n.n.tr(
fLabelCell(gTxt('on_front_page')).
td(
yesnoradio('on_frontpage', $on_frontpage, '', $name).sp.popHelp('section_on_frontpage')
, '', 'noline')
).
n.n.tr(
fLabelCell(gTxt('syndicate')) .
td(
yesnoradio('in_rss', $in_rss, '', $name).sp.popHelp('section_syndicate')
, '', 'noline')
).
n.n.tr(
fLabelCell(gTxt('include_in_search')).
td(
yesnoradio('searchable', $searchable, '', $name).sp.popHelp('section_searchable')
, '', 'noline')
).
n.n.tr(
tda(
fInput('submit', '', gTxt('save_button'), 'smallerbox').
eInput('section').
sInput('section_save').
hInput('old_name', $name)
, ' colspan="2" class="noline"')
).
endTable(),
'', '', 'post', '', 'section-'.$name
)
).
td(
dLink('section', 'section_delete', 'name', $name, '', 'type', 'section')
),
" id=\"section-$name\""
);
}
}
echo n.n.endTable();
}
//-------------------------------------------------------------
function section_create()
{
global $txpcfg;
$name = ps('name');
//Prevent non url chars on section names
include_once txpath.'/lib/classTextile.php';
$textile = new Textile();
$title = $textile->TextileThis($name,1);
$name = strtolower(sanitizeForUrl($name));
$chk = fetch('name','txp_section','name',$name);
if (!$chk)
{
if ($name)
{
$rs = safe_insert(
"txp_section",
"name = '".doSlash($name) ."',
title = '".doSlash($title)."',
page = 'default',
css = 'default',
is_default = 0,
in_rss = 1,
on_frontpage = 1"
);
if ($rs)
{
update_lastmod();
$message = gTxt('section_created', array('{name}' => $name));
sec_section_list($message);
}
}
else
{
sec_section_list();
}
}
else
{
$message = gTxt('section_name_already_exists', array('{name}' => $name));
sec_section_list($message);
}
}
//-------------------------------------------------------------
function section_save()
{
global $txpcfg;
extract(doSlash(psa(array('page','css','old_name'))));
extract(psa(array('name', 'title')));
if (empty($title))
{
$title = $name;
}
// Prevent non url chars on section names
include_once txpath.'/lib/classTextile.php';
$textile = new Textile();
$title = doSlash($textile->TextileThis($title,1));
$name = doSlash(sanitizeForUrl($name));
if ($old_name && (strtolower($name) != strtolower($old_name)))
{
if (safe_field('name', 'txp_section', "name='$name'"))
{
$message = gTxt('section_name_already_exists', array('{name}' => $name));
sec_section_list($message);
return;
}
}
if ($name == 'default')
{
safe_update('txp_section', "page = '$page', css = '$css'", "name = 'default'");
update_lastmod();
}
else
{
extract(array_map('assert_int',psa(array('is_default','on_frontpage','in_rss','searchable'))));
// note this means 'selected by default' not 'default page'
if ($is_default)
{
safe_update("txp_section", "is_default = 0", "name != '$old_name'");
}
safe_update('txp_section', "
name = '$name',
title = '$title',
page = '$page',
css = '$css',
is_default = $is_default,
on_frontpage = $on_frontpage,
in_rss = $in_rss,
searchable = $searchable
", "name = '$old_name'");
safe_update('textpattern', "Section = '$name'", "Section = '$old_name'");
update_lastmod();
}
$message = gTxt('section_updated', array('{name}' => $name));
sec_section_list($message);
}
// -------------------------------------------------------------
function section_delete()
{
$name = ps('name');
$count = safe_count('textpattern', "section = '".doSlash($name)."'");
if ($count)
{
$message = gTxt('section_used_by_article', array('{name}' => $name, '{count}' => $count));
}
else
{
safe_delete('txp_section', "name = '".doSlash($name)."'");
$message = gTxt('section_deleted', array('{name}' => $name));
}
sec_section_list($message);
}
?>