Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Установка кода на различные движки (http://forum.sape.ru/forumdisplay.php?f=26)
-   -   Попытка оживить SAPE (http://forum.sape.ru/showthread.php?t=17161)

Dexif 27.08.2008 12:13

Попытка оживить SAPE
 
Вобщем... такая проблема... пытаюсь установить кода sape на свой сайт... (есть жалкое подобие шаблонов)
так вот... есть файл sape.php
PHP код:

<?php
global $sape;
    if(isset(
$conf['sape_code'])){//в админке настраивается личный код (типа:jkhdsifh3457v3b63yr3bv4)
        
if(file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$conf['sape_code'].'/sape.php')){//проверяем существование файла в папке
            
if (!defined('_SAPE_USER')){
                
define('_SAPE_USER'$conf['sape_code']); 
            }
            require_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
            if(
$conf['sape_debug']){//в админке устанавливаем дебаг мод
                
$o['force_show_code'] = true;
                
$sape = new SAPE_client($o);
            }else{
            
$o['request_uri'] = $uri;     // Явно задаём текущую страницу
                
$sape = new SAPE_Client($o);
            }
        }
    }

$links = array(); //позднее сюда запишутся $sape->return_links(1) и $sape->return_links(4)
//в $data содержится шаблон в котором есть теги {sape=1}{sape=4} в
preg_match_all('/{sape=(\\d+)}/'$data$matches); 

for(
$i 0$i count($matches[1]); $i++) 
{
    
$links[$i]='';
    if(isset(
$conf['sape_code'])){
        if(
file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$conf['sape_code'].'/sape.php')){
        
$links[$i]=($sape->return_links($matches[1][$i])).'TEST';//запоминаем ссылки для последующего вывода(TEST - для проверки корректности замены шаблонов)
        
}
    }

$data str_replace($matches[0], $links$data); //заменяем все теги на выделенные системой sape ссылки 
?>

этот файл инклюдится в index.php вот таким образом:
PHP код:

<?
$uri
=$_SERVER['REQUEST_URI'];
include_once(
'./sape.php');
?>

в шаблон вставляются "TEST" но никаких ссылок :(

programmer 27.08.2008 12:26

Так похоже на *опу, что просто не отличить. Во-первых $data нигде не выводится. Возможно после инклюда она перетирается. Во-вторых сам инклюд может не проходить. В третьих посмотрите что лежит в $links и $matches, в четвертых проверьте выполнение всех условий. ИМХО бредовый код.

Нельзя просто написать:
PHP код:

$data str_replace('сапотэг'$sape->return_links(), $data); 

?

Dexif 27.08.2008 12:58

Цитата:

Во-первых $data нигде не выводится
Она выводится в index.php при выводе все теги заменяются на "TEST" но нет никаких ссылок (хотя они должны быть там)
Я не понимаю в чём бредовость моего кода...

Добавлено через 7 минут
Цитата:

Сообщение от programmer (Сообщение 223890)
Нельзя просто написать:
PHP код:

$data str_replace('сапотэг'$sape->return_links(), $data); 

?

так написать нельзя... я не хочу выводить блок ссылок... я хочу выводить в определённых местах определённое количество ссылок... и чтобы не пришлось лазить в код...

Добавлено через 19 минут
отбой всё заработало


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

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.