ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #15371  
Старый 23.03.2010, 21:30
Аватар для SeNaP
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

Репутация: 165
По умолчанию

Помогите разобраться с шаблонизатором
есть main.tpl
в нём находится
PHP код:
<span class="breadcrumbs pathway" style="font-size:1.2em;">{<?php print $module?>}</span>
{cotegory} и {FAQ}
и есть еще index.php
В нём находится
PHP код:
$module $_GET['mod'];
switch(
$module)
{
case 
'rules':
case 
'registration':
case 
'info':
case 
'about':
case 
'stat':
case 
'auth':
case 
'login':
case 
'out':
case 
'search':
case 
'forgot':
case 
'whois':
case 
'category':
case 
'faq':
case 
'news':
break;
default:
$module 'top100';
break;
}
}
$tpl    = new Template//инициируем класс 
$tpl->dir ROOTPATH.'/'.$topclass->version().'/'//задаём местоположение папки с шаблонами 
$tpl->load_template('main.tpl'); //загружаем каркас 

$tpl->set('{category}'$tpl->sub_load_template('category.tpl')); 
$tpl->set('{FAQ}'$tpl->sub_load_template('faq.tpl')); 
$tpl->set('{'.$module.'}'$tpl->sub_load_template($module.'.tpl')); 

 
$tpl->compile('main'); //собираем шаблон 
eval (' ?' '>' $tpl->result['main'] . '<' '?php '); //выводим результат работы, с возможностью вставки пхп кода в tpl 
$tpl->global_clear(); //очищаем все переменные для возможно следующего шаблона 
{category} и {FAQ} благополучно заменяются, а вот
{<?php print $module; ?>} не хочет , просто выводит содержание переменной $module в фигурных скобках
Помогите пожалуйста разобраться

Последний раз редактировалось SeNaP; 23.03.2010 в 21:32..
 
Ответить с цитированием

  #15372  
Старый 23.03.2010, 21:41
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

PHP код:
$tpl->load_template('main.tpl'); 
Больше чем уверен, что там происходит обычный file_get_contents('main.tpl');
Так вот, почему тогда там должно выполниться то,что ты там написал?)
Оно выполняется уже познее, при eval'е.Поэтому ты и видиш результат работы в фигурных скобках.
 
Ответить с цитированием

  #15373  
Старый 23.03.2010, 21:53
Аватар для SeNaP
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

Репутация: 165
По умолчанию

Цитата:
Сообщение от m0Hze  
PHP код:
$tpl->load_template('main.tpl'); 
Больше чем уверен, что там происходит обычный file_get_contents('main.tpl');
Так вот, почему тогда там должно выполниться то,что ты там написал?)
Оно выполняется уже познее, при eval'е.Поэтому ты и видиш результат работы в фигурных скобках.
А как тогда с этим бороться?
class скручен с DLE
PHP код:
public function load_template($tpl_name) { 
    
$time_before $this->get_real_time(); 
        if (
$tpl_name == '' || !file_exists($this->dir DIRECTORY_SEPARATOR $tpl_name)) { die ("Невозможно загрузить шаблон: "$tpl_name); return false;} 
        
$this->template file_get_contents($this->dir DIRECTORY_SEPARATOR $tpl_name); 
        if ( 
stristr$this->template"{include file=" ) ) { 
            
$this->template preg_replace"#\\{include file=['\"](.+?)['\"]\\}#ies","\$this->sub_load_template('\\1')"$this->template); 
        } 
        
$this->copy_template $this->template
    
$this->template_parse_time += $this->get_real_time() - $time_before;
    return 
true
    } 
 
Ответить с цитированием

  #15374  
Старый 23.03.2010, 22:39
Аватар для Omegа
Omegа
Новичок
Регистрация: 16.12.2009
Сообщений: 27
Провел на форуме:
203807

Репутация: 30
По умолчанию

SeNaP, у тебя много что непонятно.
Попробуй заменить
Код:
$tpl->set('{'.$module.'}', $tpl->sub_load_template($module.'.tpl'));
На это
Код:
$module = $tpl->sub_load_template($module.'.tpl');
 
Ответить с цитированием

  #15375  
Старый 23.03.2010, 23:13
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от SeNaP  
А как тогда с этим бороться?
class скручен с DLE
PHP код:
public function load_template($tpl_name) { 
    
$time_before $this->get_real_time(); 
        if (
$tpl_name == '' || !file_exists($this->dir DIRECTORY_SEPARATOR $tpl_name)) { die ("Невозможно загрузить шаблон: "$tpl_name); return false;} 
        
$this->template file_get_contents($this->dir DIRECTORY_SEPARATOR $tpl_name); 
        if ( 
stristr$this->template"{include file=" ) ) { 
            
$this->template preg_replace"#\\{include file=['\"](.+?)['\"]\\}#ies","\$this->sub_load_template('\\1')"$this->template); 
        } 
        
$this->copy_template $this->template
    
$this->template_parse_time += $this->get_real_time() - $time_before;
    return 
true
    } 
Можно прикрутить поиск шаблоного тега,и замены через Eval.
В шаблоне пишеш что-то вроде:
Код:
{php}$var=val;if()..else()..{/php}
В шаблонизаторе ищешь эти теги,и заменяеш на eval() ихнего значения. Ну это самое первое что приходит в голову.
 
Ответить с цитированием

  #15376  
Старый 24.03.2010, 02:16
Аватар для Pr13raK
Pr13raK
Познающий
Регистрация: 24.11.2004
Сообщений: 55
Провел на форуме:
1326055

Репутация: 36
Отправить сообщение для Pr13raK с помощью ICQ
По умолчанию

Помогите написать простенький скрип, елс ивам не сложно. Буду премного благодарен.

есть две папки 1 и 2
в папке 1 TXT файлы с каким-то контентом.
в папке 2 тоже TXT файлы с ТАКИМИ же названия файлами НО с другим контентом.

так вот надо чтобы файлы с папки 2. файлы с ОДНИКОВЫМ названием ДОПИСЫВАЛИ контент в файл с ТАКИМ же названием в папку 1.
------------------------------------

пояснение.
тоесть в папке 1 и в папке 2 есть файлы допустим
good.txt
bad.txt
нужно чтобы брался контент с файла good.txt папки 2 и ДОПИСЫВАЙЛСЯ в файлик good.txt в папку 1

и также bad.txt и другеи файлы с одниаковым названием)

Последний раз редактировалось Pr13raK; 24.03.2010 в 02:19..
 
Ответить с цитированием

  #15377  
Старый 24.03.2010, 02:24
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Pr13raK  
Помогите написать простенький скрип, елс ивам не сложно. Буду премного благодарен.

есть две папки 1 и 2
в папке 1 TXT файлы с каким-то контентом.
в папке 2 тоже TXT файлы с ТАКИМИ же названия файлами НО с другим контентом.

так вот надо чтобы файлы с папки 2. файлы с ОДНИКОВЫМ названием ДОПИСЫВАЛИ контент в файл с ТАКИМ же названием в папку 1.
------------------------------------

пояснение.
тоесть в папке 1 и в папке 2 есть файлы допустим
good.txt
bad.txt
нужно чтобы брался контент с файла good.txt папки 2 и ДОПИСЫВАЙЛСЯ в файлик good.txt в папку 1

и также bad.txt и другеи файлы с одниаковым названием)
Что то вроде:
PHP код:
<?php
$firstFolder 
'./first/';
$secondFolder './second/';
$files scandir($secondFolder);
foreach (
$files as $file) {
    if (
$file != '.' and $file != '..' and file_exists($firstFolder $file)) {
        
$content file_get_contents($secondFolder $file);
        
$open fopen($firstFolder $file'a+');
        
fwrite($open$content);
        
fclose($open);

    }
}
?>
 
Ответить с цитированием

  #15378  
Старый 24.03.2010, 03:48
Аватар для Fliplab
Fliplab
Участник форума
Регистрация: 29.07.2008
Сообщений: 128
Провел на форуме:
225836

Репутация: 34
Отправить сообщение для Fliplab с помощью ICQ
По умолчанию

Может всётаки кто поможет с алгоритмом idea? либо даст готовый ?срочно и очень надо
 
Ответить с цитированием

  #15379  
Старый 24.03.2010, 04:15
Аватар для Leopard
Leopard
Новичок
Регистрация: 29.05.2008
Сообщений: 16
Провел на форуме:
71933

Репутация: 0
По умолчанию

Есть желание научится делать нормальный дизайн для сайтов. Подскажите как рисовать для веба в фотошопе, где этому можно поучиться. Можно ли использовать gimp 2.
зы только пожалуйста НЕ нужно давать ссылки на гугл, мне не интересно фотки ретушировать...
 
Ответить с цитированием

  #15380  
Старый 24.03.2010, 09:05
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Цитата:
Может всётаки кто поможет с алгоритмом idea? либо даст готовый ?срочно и очень надо
"Готовый" и "срочно надо" - это mcrypt или openssl
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ