хак с етого форума но он нероботал ибо даные передавались через сесию, а в ету самую сесию записывался только последний код
Роспаковать архив в корень
Заменить функцыю на ету
private static function highlight_code($var)
{
if (!function_exists('process_code')) {
function process_code($php)
{
$php2 = $php;
$php = strtr($php, array('<br />' => '', '\\' => 'slash_JOHNCMS'));
$php = html_entity_decode(trim($php), ENT_QUOTES, 'UTF-8');
$php = substr($php, 0, 2) != "<?" ? "<?php\n" . $php . "\n?>" : $php;
$php = highlight_string(stripslashes($php), true);
$php = strtr($php, array('slash_JOHNCMS' => '\', ':' => ':', '[' => '['));
return '<div class="phpcode">' . $php . '</div><div><form action="'.$home.'/phpcode.php" method="post"><p><textarea style="display:none" name="code">'.$php2.'</textarea><input type="submit" name="submit" value="Смотреть код" /> | <input type="submit" name="submit2" value="Скачать код" /></p></form></div>';
}
}
return preg_replace(array('#\[php\](.+?)\[\/php\]#se'), array("''.process_code('$1').''"), str_replace("]\n", "]", $var));
}
UA95, ссылкой форму не передать
BoGdAn, плюс, доделал мною начатое когда то дело )
BoGdAn, надо кфм доделать, проблема осталась, архивы кривые, переложи на обменник, прикрепленный файл не качается
BoGdAn, если хост нормальный, могу кинуть исправление для кфм чтоб работал обычный zip , а не pclzip class
Koenig, извеняюс что не отвечал я паралельно в vk сижу
создайте файл phpcode.php
<?php
define('_IN_JOHNCMS', 1);
$rootpath = '';
require('incfiles/core.php');
$error = !isset($_POST['code']) ? $lng_forum['access_forbidden'] : '';
$id=$_GET['id'];
$code = '/* предосмотр кода с сайта ' . $home . ' */' . "\n";
$code .= $_POST['code'];
$code = html_entity_decode(trim($code), ENT_QUOTES, 'UTF-8');
$code = str_replace('<br />', '\n', $code);
if ($error) {
require('../incfiles/head.php');
echo '<div class="rmenu"><p>' . $error . '</p></div>';
require('../incfiles/end.php');
exit;
}
if (isset($_POST['submit2'])) {
header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
header('Content-Type: application/force-download');
header('Content-Description: inline; File Transfer');
header('Content-Disposition: attachment; filename="code.txt";', false);
}
header('Content-Type: text/plain;charset=UTF-8');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . mb_strlen($code));
print($code);
exit;
?>
Koenig, давно делал даные не фильтрировал. Думаю так лутше
<?php
define('_IN_JOHNCMS', 1);
$rootpath = '';
require('incfiles/core.php');
$error = !isset($_POST['code']) ? $lng_forum['access_forbidden'] : '';
$code = '/* предосмотр кода с сайта ' . $home . ' */' . "\n";
$code .= htmlspecialchars($_POST['code']);
$code = html_entity_decode(trim($code), ENT_QUOTES, 'UTF-8');
$code = str_replace('<br />', '\n', $code);
if ($error) {
require('../incfiles/head.php');
echo '<div class="rmenu"><p>' . $error . '</p></div>';
require('../incfiles/end.php');
exit;
}
if (isset($_POST['submit2'])) {
header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
header('Content-Type: application/force-download');
header('Content-Description: inline; File Transfer');
header('Content-Disposition: attachment; filename="code.txt";', false);
}
header('Content-Type: text/plain;charset=UTF-8');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . mb_strlen($code));
print($code);
exit;
?>
BoGdAn,
http://johncms.com/forum/index ... 25864 если хост нормальный, потести архиватор, а то в первом посте битый архив
Koenig, хомяк
.
П.с у меня в телефоне архив открылся ...