С нами с 01.12.05
Сообщения: 339
Рейтинг: 248
|
Добавлено: 02/06/06 в 23:46 |
Господа программеры выручайте, есть вот такой код:
Код: |
<?php
if (!defined('ADMIN_FILE')) {
die("Illegal File Access");
}
if (!defined("CAL_MODULE_NAME")) die ("classement: You can't access this file directly..."); // aus case datei
if (!defined("_CAL_ADM_SETCOLLINK")) define("_CAL_ADM_SETCOLLINK","".$admin_file.".php?op=CalSetcols");
#error_reporting(E_ALL);
#########################################################################################
if (!isset($calconf)) include(CAL_MODULE_PATH."config/config.php");
include_once(CAL_MODULE_PATH."includes/functions.php");
get_lang(CAL_MODULE_NAME);
#########################################################################################
function CalSavecols() {
#mxDebugFuncVars($_POST);
$setfile = CAL_MODULE_PATH."categories/".$_POST['x_trs_lng'].".php";
$newcols = "";
foreach($_POST['setcol'] as $i => $caption) {
$newcols .= "\$caldotcolor[".$i."] = \"".trim(htmlentities($caption, ENT_QUOTES))."\";\n";
}
$content = "<?php $\n";
$content .= "/// description of event dots color \n";
$content .= "/// language: ".$_POST['x_trs_lng']." \n";
$content .= "\n".$newcols."\n\n?>";
#mxDebugFuncVars($content); #exit;
$ok = 1;
@chmod($setfile, 0666);
if (!mxDemoMode()) {
$file = @fopen($setfile, "w");
if ($file) {
$ok = @fwrite($file, $content);
@fclose($file);
$ok = (int)$ok + 1;
}
@chmod($setfile, 0444);
}
$msg = ($ok>1) ? _CALCONF2 : _CALCONF1;
#mxDebugFuncVars($msg, $ok);
#exit;
calRedirect(_CAL_ADM_SETCOLLINK."&trs_lng=".$_REQUEST['trs_lng']."&src_lng=".$_REQUEST['src_lng']."&ok=".$ok, $msg, 2);
}
#########################################################################################
function CalSetcols() {
global $admin_file, $bgcolor1, $bgcolor2, $bgcolor3;
$color_src = calgetlangsrc($_REQUEST['src_lng']);
$color_trs = calgetlangsrc($_REQUEST['trs_lng']);
$ok = (isset($_REQUEST['ok'])) ? $_REQUEST['ok'] : 0;
if ($ok == 1) {
$statmsg = _CALCONF3." '".CAL_MODULE_PATH."categories/".$_REQUEST['trs_lng'].".php' "._CALCONF4;
}
else if ($ok > 1) {
$statmsg = _CALCONF2;
}
if (defined('MX_BASE_URL')) {
$path = preg_replace('#^'.MX_BASE_URL.'#i', '', CAL_IMAGE_PATH);
} else {
$path = CAL_IMAGE_PATH;
}
$handle = opendir($path."colors");
if (!$handle) return;
while ($file = readdir($handle)) {
if (preg_match("/^ball_(.+)\.gif$/", $file, $matches)) {
$imglist[(int)$matches[1]] = $matches[1]." <img src='".CAL_MODULE_PATH."images/colors/".$file."' alt='".$matches[1]."' width='14' height='14' border='0'>";
}
}
closedir($handle);
ksort($imglist);
#mxDebugFuncVars($imglist);
$GLOBALS["pagetitle"]=_CALCATEGORIESADMIN;
include("header.php");
calAdminMenu(_CALCATEGORIESADMIN);
OpenTable();
$content = "";
foreach($imglist as $i => $imgtag) {
$ctrs = (isset($color_trs[$i])) ? stripslashes($color_trs[$i]) : "";
$csrc = (isset($color_src[$i])) ? ' '.stripslashes($color_src[$i]) : "";
$csrc = (empty($csrc) && !empty($ctrs)) ? " ??" : $csrc;
$content .= "<tr style='background-color: $bgcolor2;'>
<td width='10%' align='center' style='white-space: nowrap;'><span class=\"content\">".$imgtag." </span></td>
<td width='40%' style='white-space: nowrap;'><span class=\"content\"><b>".$csrc."</b> </span></td>
<td width='50%' style='background-color: $bgcolor1;'><input type='text' name='setcol[".$i."]' value='".$ctrs."' size='40' maxlength='50'></td>
</tr>";
}
if (isset($statmsg)) {
OpenTable();
echo "<blockquote><span class=\"title\"><b>$statmsg</b></span></blockquote>";
CloseTable();
echo "<br>";
}
echo "
<form action='"._CAL_ADM_SETCOLLINK."&trs_lng=".$_REQUEST['trs_lng']."&src_lng=".$_REQUEST['src_lng']."' method='post'>
<input type='hidden' name='x_trs_lng' value='".$_REQUEST['trs_lng']."'>
<input type='hidden' name='op' value='CalSavecols'>
<table width='90%' border='0' cellspacing='1' cellpadding='2' align='center' style='background-color: $bgcolor3;'>
<tr style='background-color: $bgcolor2;'><th colspan='3'><span class=\"title\">"._CALCATEGORIESLANG."</span></th></tr>
<tr style='background-color: $bgcolor2;'>
<td width='50%' align='center' colspan='2'>".calgetlanglist('src')."</td>
<td width='50%' align='center' style='background-color: $bgcolor1;'>".calgetlanglist('trs')."</td>
</tr>
</table><br>
<table width='90%' border='0' cellspacing='1' cellpadding='2' align='center' style='background-color: $bgcolor3;'>
<tr>
<th width='50%' colspan='2' style='background-color: $bgcolor2;'><span class=\"option\">"._CALSOURCE.": <img src='images/language/flag-".$_REQUEST['src_lng'].".gif' alt='' width='30' height='16' border='0'> ".$_REQUEST['src_lng']."</span></th>
<th width='50%' colspan='2' style='background-color: $bgcolor1;'><span class=\"option\">"._CALGOAL.": <img src='images/language/flag-".$_REQUEST['trs_lng'].".gif' alt='' width='30' height='16' border='0'> ".$_REQUEST['trs_lng']."</span></th>
</tr>
".$content."
<tr style='background-color: $bgcolor2;'><td colspan='2'> </td><td align='center' style='background-color: $bgcolor1;'><input type='submit' value='"._CALSAVESETT."' lang='ru'></td></tr>
</table>
</form>
";
CloseTable();
#echo "<br>";
include("footer.php");
}
#########################################################################################
function calgetlangsrc($lang) {
$ok = @include(CAL_MODULE_PATH."categories/".$lang.".php");
if ($ok) return $caldotcolor;
return array();
}
#########################################################################################
function calgetlanglist($mode) {
static $linklist;
if (!isset($linklist)) {
$handle = @opendir('language');
if (!$handle) return;
while ($file = readdir($handle)) {
if (preg_match("#^lang\-(.+)\.php$#", $file, $matches)) {
$linklist[$matches[1]] = ucwords(str_replace("_"," ", str_replace("russian","russian", $matches[1])));
}
}
closedir($handle);
ksort($linklist);
}
$content = "";
$pre = "border=\"0\" hspace=\"3\" vspace=\"3\"";
foreach($linklist as $langu => $alt) {
$to = ($mode=='src') ? "src_lng=".$langu."&trs_lng=".$_REQUEST['trs_lng']."" : "trs_lng=".$langu."&src_lng=".$_REQUEST['src_lng']."";
$content .= "<a href='"._CAL_ADM_SETCOLLINK."&".$to."' title='".$alt."'><img src='images/language/flag-".$langu.".gif' alt='".$langu."' width='30' height='16' border='0'></a> ";
}
return $content;
}
#########################################################################################
$_REQUEST['src_lng'] = (isset($_REQUEST['src_lng'])) ? $_REQUEST['src_lng'] : $GLOBALS['currentlang'];
$_REQUEST['trs_lng'] = (isset($_REQUEST['trs_lng'])) ? $_REQUEST['trs_lng'] : $GLOBALS['language'];
$op = (isset($_REQUEST["op"])) ? $_REQUEST["op"] : "CalSetcols";
switch($op) {
case "CalSavecols":
CalSavecols($op);
die();
case "CalSetcols":
CalSetcols();
die();
default:
CalSetcols();
die();
}
?>
|
но он работает коряво, а именно:
при записи данных на русском, он сохраняет создаваемый файл кракозябрами (вернее русскии буквы крякозябрами становятся)
кто знает как исправить? поможите плиз
|
|
|
|
С нами с 16.10.03
Сообщения: 688
Рейтинг: 392
|
Добавлено: 03/06/06 в 00:17 |
наверное, проблема в функции htmlentities - она по умолчанию считает, что ей передана строка в кодировке ISO-8859-1.
есть два варианта решения:
1) использовать htmlspecialchars вместо htmlentities
тогда в шаблоне страницы, которую выводишь должно быть прописано <meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251">
2) указать для htmlentities третьим параметром кодировку CP1251
|
|
|
|
эксклюзивщик
С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512
|
Добавлено: 03/06/06 в 00:36 |
лучше и проще всего поставить кодировку в htmlentities
|
|
уникальные предложения по съемке контента гомосексуального харрактера
|
3
|
|
|
С нами с 01.12.05
Сообщения: 339
Рейтинг: 248
|
Добавлено: 03/06/06 в 00:37 |
Neuromancer писал: | наверное, проблема в функции htmlentities - она по умолчанию считает, что ей передана строка в кодировке ISO-8859-1.
есть два варианта решения:
1) использовать htmlspecialchars вместо htmlentities
тогда в шаблоне страницы, которую выводишь должно быть прописано <meta http-equiv = "Content-Type" content = "text/html; charset=windows-1251">
2) указать для htmlentities третьим параметром кодировку CP1251 |
спасибо!!!!! заработало прописал
Код: |
htmlentities($caption, ENT_QUOTES,'cp1251' |
ещё раз огромное спасибо
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |