Старый 18.11.2009, 19:18   #1
Новичок
 
Регистрация: 18.11.2009
Сообщений: 3
Вес репутации: 0
манго-манго на пути к лучшему
По умолчанию самописный движок смарти

Суть проблемы:
Ссылки отображаються только вверху до тегов html.
Сайт включаеться последовательно, через класы шаблонов tpl
я прописал шаблон, вставил в шаблон php код
<?
global $sape;
echo $sape->return_links();
?>
делал и так {PHP} код {/PHP}

всеравно код в нужном месте отображаеться текстом.

Предполагаю что стоит фильтр на html или текст, т.е. кроме них ничего не хочет отображаться.

вот код файла functions.php
который как мне кажеться отвечает за эту фильтрацию

PHP код:
function get_http_var($method$var_name)
{
    
// Функция получения информации отправленной по типу GET или POST ,COOKIE , FILES
    // Если переменная не существует возвращает NULL
    
static $method_list = array("GET" => 1"POST" => 1"COOKIE" => 1"FILES" => 1); // Возможные виды  $method
    
if (!isset($method_list[$method])) return NULL;
    if (
$method != "FILES"$global_array "HTTP_" $method "_VARS";
    else 
$global_array "HTTP_POST_FILES";
    global ${
$global_array};
    if (isset(${
$global_array}[$var_name]))
    {
        if ((
$method == "GET" || $method == "POST") && !is_string(${$global_array}[$var_name])) return NULL;
        return ${
$global_array}[$var_name];
    }
    else return 
NULL;
}

function 
escape($str)
{
    
// фильтр строки
    
return stripcslashes(mysql_escape_string(htmlspecialchars(trim($str))));

сайт собираеться index.php > functions.php > template.php > main.tpl (хэдер , футер и так далее)

Добавлено через 3 часа 58 минут
на всякий случай прилогаю как файл template.php
PHP код:
<?php
/*
* Класс для обработки шаблонов.
*
* Шаблон представляет собой файл или строковую переменную, в которой могут
* присутствовать именованные поля подстановки вида <%name%>, 
* где name - имя данного поля.
* Класс позволяет выполнять замену именованных полей любыми данными.
*
* Использование:
*
* 1) $tpl = new Template();
*    Создание объекта класса Template. При создании объекта данного класса 
*    в скобках можно указать путь к файлу, где находится требуемый шаблон.
*    Пример:
*    $tpl = new Template("/usr/local/www/templates/template1.html");
*    При этом в объект загружается шаблон из указанного файла.
*
* 2) $tpl->prepare($string);
*    Если шаблон находится не в файле, а в переменной $string, то данный метод
*    позволит загрузить этот шаблон в объект $tpl.
*
* 3) $tpl->set_var($name, $value);
*    Заменяет значение поля с именем $name, входящем в шаблон, на $value.
*
* 5) $value = $tpl->get_var($name);
*    Возвращает текущее значение поля с именем $name, входящего в шаблон. 
*
* 6) $text = $tpl->get_doc();
*    Данный метод возвращает документ, полученный на основе шаблона, учитывая
*    все сделанные до его вызова подстановки полей.
*/
class Template
{
  var 
$a$b;
  var 
$vars;
  var 
$n;


  function 
read_from_file($filename)
  {
    
$fp NULL;
    
$text "";
    
$fp fopen($filename"rb");
    if (!(
$fp === false))
    {
      
$text fread($fpfilesize($filename));
      
fclose($fp);
    }
    return 
$text;
  }

  function 
Template($filename "")
  {
    
$text "";
    if (
$filename != "")
    {
      
$text Template::read_from_file($filename);
    }
    
Template::prepare($text);
  }

  function 
prepare($text)
  {
    
$this->= array();
    
$this->= array();
    
$this->vars = array();
    
$tmp explode('%>'$text);
    
$n count($tmp);
    
$this->$n;
    if (
$n 1)
    {
      
$j 0;
      for (
$i 0$i $n$i++)
      {
        
$tmp1 explode('<%'$tmp[$i], 2);
        if (
count($tmp1) == 2)
        {
          
$this->a[$i] = $tmp1[0];
          if (!isset(
$this->vars[$tmp1[1]])) $this->vars[$tmp1[1]] = '<%' $tmp1[1] . '%>';
          
$this->b[$i] = & $this->vars[$tmp1[1]];
        }
        else
        {
          
$this->a[$i] = $tmp1[0];
          
$this->b[$i] = '';
        }
      }
    }
    else
    {
       
$this->a[0] = $tmp[0];
       
$this->'';
    }
  }

  function 
get_doc()
  {
    
$i 0;
    
$text "";
    for (
$i 0$i $this->n$i++)
    {
      
$text .= $this->a[$i] . $this->b[$i];
    }
    return 
$text;
  }
  
  function 
set_var($name$value)
  {
    
$this->vars[$name] = $value;
  }

  function 
get_var($name)
  {
    return 
$this->vars[$name];
  }
}
?>
задача наконец запустить php

global $sape;
echo $sape->return_links();

Последний раз редактировалось манго-манго; 18.11.2009 в 19:18. Причина: Добавлено сообщение
манго-манго вне форума   Ответить с цитированием
Старый 18.11.2009, 19:49   #2
Эксперт
 
Аватар для DRIVER
 
Регистрация: 22.08.2008
Сообщений: 1,026
Вес репутации: 232
DRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущееDRIVER - прекрасное будущее
По умолчанию

За 10-15 баксов Вам тут мастера воткнут сапу хоть куда.
PS Прочитал тему как "самописный движок смЕрти"
__________________
Продам место под баннер в шапке строительного сайта. Интересно? Пишите в ЛС.
DRIVER вне форума   Ответить с цитированием
Старый 18.11.2009, 23:12   #3
Новичок
 
Регистрация: 18.11.2009
Сообщений: 3
Вес репутации: 0
манго-манго на пути к лучшему
По умолчанию

)

ну пока подожду ответа профи, если не будет буду думать.
манго-манго вне форума   Ответить с цитированием
Старый 18.11.2009, 23:45   #4
Специалист
 
Регистрация: 24.09.2009
Сообщений: 377
Вес репутации: 194
szag - за этого человека можно гордитсяszag - за этого человека можно гордитсяszag - за этого человека можно гордитсяszag - за этого человека можно гордитсяszag - за этого человека можно гордитсяszag - за этого человека можно гордитсяszag - за этого человека можно гордитсяszag - за этого человека можно гордится
Отправить сообщение для szag с помощью ICQ
По умолчанию

Цитата:
Сообщение от манго-манго Посмотреть сообщение
ну пока подожду ответа профи, если не будет буду думать.
К апокалипсису Вам надо.
szag вне форума   Ответить с цитированием
Старый 19.11.2009, 00:08   #5
Новичок
 
Регистрация: 18.11.2009
Сообщений: 3
Вес репутации: 0
манго-манго на пути к лучшему
По умолчанию

ок спасибо сейчас буду искать его
манго-манго вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cайт на PERL, самописный движок. deca Вопросы по работе системы 9 07.04.2010 14:55
Установка PHP кода, на самописный скрипт. Zemius Установка кода на различные движки 25 09.10.2009 10:15
Нид Хелп. Самописный двиг GERAsimov Установка кода на различные движки 23 27.11.2008 20:16
Установка кода на самописный скрипт ibox Установка кода на различные движки 9 12.10.2008 21:57
Установка кода на самописный движок jonic Установка кода на различные движки 2 15.08.2008 12:59


Часовой пояс GMT +3, время: 12:21.