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(); ?>