Forums / National / Russian / Вопросы и пожелания к движку

Для юзеров Seditio и новичков

Sergey
#40207 2014-11-25 13:24

в модуле page.inc был участок:

if ($pag['page_begin_noformat']>$sys['now_offset'])
{
	$pag['page_text'] = $L['pag_notavailable'].sed_build_timegap($sys['now_offset'], $pag['page_begin_noformat']);
}
else
{
	switch($pag['page_type'])
	{
		case '1':
			break;

		case '2':

			if ($cfg['allowphp_pages'] and $cfg['allowphp_override'])
				{
				ob_start();
				eval($pag['page_text']);
				$pag['page_text']=ob_get_clean();
				}
			else
				{
				$pag['page_text']='The PHP mode is disabled for pages.<br />Please see the administration panel, then "Configuration", then "Parsers"';
				}
			break;

		default:
			if($cfg['parser_cache'])
				{
				if(empty($pag['page_html']) and !empty($pag['page_text']))
					{
					$pag['page_html'] = sed_parse(sed_cc($pag['page_text']), $cfg['parsebbcodepages'], $cfg['parsesmiliespages'], true);
					sed_sql_query("UPDATE $db_pages SET page_html = '".sed_sql_prep($pag['page_html'])."' WHERE page_id = " . $pag['page_id']);
					}
				$pag['page_text'] = $cfg['parsebbcodepages'] ? sed_post_parse($pag['page_html']) : sed_cc($pag['page_text']);
				}
			break;
	}

}

вот это и есть обработка PHP кода:

				ob_start();
				eval($pag['page_text']);
				$pag['page_text']=ob_get_clean();

в таблице sed_page имеется поле page_type у него три значения: 1-бери что есть, 2-PHP,  остальное 0 - как HTML. Однако была защита, требующая разрешение на PHP - парсинг.

 

 

www.cotonti.mobi