purify($desc);
}
else
{
// escape text
$desc = htmlspecialchars($_POST['desc'], ENT_COMPAT, 'UTF-8');
// fuer alte Versionen von OCProp
if (isset($_POST['submit']) && !isset($_POST['version2']))
{
$desc = iconv("ISO-8859-1", "UTF-8", $desc);
}
}
if (isset($_POST['submitform']))
{
// prüfen, ob sprache nicht schon vorhanden
$rs = sql("SELECT COUNT(*) `count` FROM `cache_desc` WHERE `cache_id`='&1' AND `id` != '&2' AND `language`='&3'", $desc_record['cache_id'], $descid, $desclang);
$r = sql_fetch_array($rs);
if ($r['count'] > 0)
tpl_errorMsg('editdesc', $error_desc_exists);
mysql_free_result($rs);
sql("UPDATE `cache_desc` SET
`desc_html`='&1',
`desc_htmledit`='&2',
`desc`='&3',
`short_desc`='&4',
`hint`='&5',
`language`='&6'
WHERE `id`='&7'",
(($desc_html == 1) ? '1' : '0'),
(($desc_htmledit == 1) ? '1' : '0'),
(($desc_html == 1) ? $desc : nl2br($desc)),
$short_desc,
nl2br($hint),
$desclang,
$descid);
// do not use slave server for the next time ...
db_slave_exclude();
// redirect to cachepage
tpl_redirect('editcache.php?cacheid=' . urlencode($desc_record['cache_id']));
exit;
}
else if (isset($_POST['show_all_langs']))
{
$show_all_langs = true;
}
}
else
{
//here we read all used information from the DB
$short_desc = strip_tags($desc_record['short_desc']);
$hint = strip_tags($desc_record['hint']);
$desc_htmledit = $desc_record['desc_htmledit'];
$desc_html = $desc_record['desc_html'];
$desc_lang = $desc_record['language'];
if ($desc_html == 1)
$desc = $desc_record['desc'];
else{
$desc = strip_tags($desc_record['desc']);
}
}
//here we only set up the template variables
if ($desc_html == 1)
tpl_set_var('desc', htmlspecialchars($desc, ENT_COMPAT, 'UTF-8'), true);
else
tpl_set_var('desc', $desc, true);
// ok ... die desclang zusammenbauen
if ($show_all_langs == false)
{
$rs = sql("SELECT `show` FROM `languages_list_default` WHERE `show`='&1' AND `lang`='&2'", $desc_lang, $locale);
if (mysql_num_rows($rs) == 0) $show_all_langs = true;
sql_free_result($rs);
}
$languages = '';
$rsLanguages = sql("SELECT `languages`.`short`, IFNULL(`sys_trans_text`.`text`, `languages`.`name`) AS `name`
FROM `languages`
LEFT JOIN `languages_list_default` ON `languages`.`short`=`languages_list_default`.`show` AND `languages_list_default`.`lang`='&3'
LEFT JOIN `sys_trans` ON `languages`.`trans_id`=`sys_trans`.`id`
LEFT JOIN `sys_trans_text` ON `sys_trans`.`id`=`sys_trans_text`.`trans_id` AND `sys_trans_text`.`lang`='&3'
WHERE `languages`.`short`
NOT IN (SELECT `language` FROM `cache_desc` WHERE `cache_id`='&1' AND `language`!='&2') AND
('&4'=1 OR `languages_list_default`.`show`=`languages`.`short`)
ORDER BY `name` ASC",
$desc_record['cache_id'],
$desc_lang,
$locale,
($show_all_langs == true) ? 1 : 0);
while ($rLanguage = sql_fetch_assoc($rsLanguages))
{
$sSelected = ($rLanguage['short'] == $desc_lang) ? ' selected="selected"' : '';
$languages .= '' . "\n";
}
sql_free_result($rsLanguages);
tpl_set_var('desclangs', $languages);
if ($show_all_langs == false)
tpl_set_var('show_all_langs_submit', $show_all_langs_submit);
else
tpl_set_var('show_all_langs_submit', '');
tpl_set_var('show_all_langs_value', (($show_all_langs == false) ? 0 : 1));
tpl_set_var('short_desc', htmlspecialchars($short_desc, ENT_COMPAT, 'UTF-8'));
tpl_set_var('hints', $hint);
tpl_set_var('descid', $descid);
tpl_set_var('cacheid', htmlspecialchars($desc_record['cache_id'], ENT_COMPAT, 'UTF-8'));
tpl_set_var('desclang', htmlspecialchars($desc_lang, ENT_COMPAT, 'UTF-8'));
tpl_set_var('desclang_name', htmlspecialchars(db_LanguageFromShort($desc_lang), ENT_COMPAT, 'UTF-8'));
tpl_set_var('cachename', htmlspecialchars($desc_record['name'], ENT_COMPAT, 'UTF-8'));
tpl_set_var('reset', $reset);
tpl_set_var('submit', $submit);
// Text / normal HTML / HTML editor
tpl_set_var('use_tinymce', (($desc_htmledit == 1) ? 1 : 0));
if (($desc_html == 1) && ($desc_htmledit == 1))
{
// TinyMCE
$headers = tpl_get_var('htmlheaders') . "\n";
$headers .= '' . "\n";
$headers .= '' . "\n";
tpl_set_var('htmlheaders', $headers);
tpl_set_var('descMode', 3);
}
else if ($desc_html == 1)
tpl_set_var('descMode', 2);
else
tpl_set_var('descMode', 1);
}
else
{
//TODO: not the owner
}
}
else
tpl_errorMsg('editdesc', $error_desc_not_found);
}
}
//make the template and send it out
tpl_BuildTemplate();
?>