Код sape и Coppermine 1.5.x Код sape и Coppermine 1.5.x
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Код sape и Coppermine 1.5.x

Started by Driver1967, April 05, 2010, 12:46:09 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Driver1967

Помогите пожалуйста разобраться.
В CPG 1.4.x, все работало отлично. Код ставил так: _http://forum.sape.ru/showthread.php?t=3187&highlight=coppermine
А вверсии CPG 1.5.3 этот метод не таботает. Все ссылки выпали в EROR. Ошибки такие:
страница запрещена в METAх - я ничего не запрещал.
страница запрещена robots.txt - в robots все открыто.
ссылка не найдена на странице или размещена вне тегов «body» или «html» - этого я то же не делал.
На форуме sape ответа нет, тут то же ничего.
Посоветуйте, как избавиться от такой напасти?

Makc666

Driver1967, Вы извините нас, пожалуйста, но по ссылке, что Вы привели, аж 5 страниц обсуждений. И т.к. Вы вопрос в том форуме уже задали и он как бы посвящен именно той системе, то я очень надеюсь, что Вам помогут там. Мы вряд ли Вам поможем.

Если Вы найдёте решение, то мы будем ради, если Вы о нём тут напишите.

Driver1967

Makc666, знаете, если бы я был программистом - не спрашивал бы совета. Но так как я человек любопытный, мне хочется понять, почему на 1.4 работает код sape, а на 1,5 нет. Могу привести выдержку из текста ветки на том форуме. Если Вам не трудно взглянуть конечно...

Makc666

Quote from: Driver1967 on April 05, 2010, 10:27:05 PM
Makc666, знаете, если бы я был программистом - не спрашивал бы совета. Но так как я человек любопытный, мне хочется понять, почему на 1.4 работает код sape, а на 1,5 нет. Могу привести выдержку из текста ветки на том форуме. Если Вам не трудно взглянуть конечно...

Я Вам постараюсь помочь, если Вы подробно шаг за шагом опишите, что Вы изменили в CPG 1.5.3

Т.е. расписываете по шагам прям.
1. Открыл файл полный_путь/такой-то.php
2. Нашел строку такую-то.
3. Добавил код такой.то
4. Открыл файл полный_путь/такой-то.php
5. Нашел такой код.
6. Изменил на такой.

Driver1967

Здравствуйте, спасибо, что согласились помоч.
Я делал так:
У меня по умолчанию стоит тема Curve,
В template.html вставил в районе 55 строки, сразу после {GALLERY} метку {SAPE}

В include/functions.inc.php в районе 751 строки, а именно сразу после кода:

$gallery_pos = strpos($template, '{THEME_SELECT_LIST}');
$template = str_replace('{THEME_SELECT_LIST}', themeSelect('list') ,$template);

вставил Код:

$gallery_pos = strpos($template, '{SAPE}');
$template = str_replace('{SAPE}', sape_block() ,$template);

Далее, В этот же файл добавил функцию sape_block(), в самом начале,

после 30 строки вида: // TODO: add in INNER JOIN {$CONFIG['TABLE_CATEGORIES']} ON cid = category
                      // only add when we are at the top level, cat == 0

Вставил код Код:

function sape_block()
{
   define('_SAPE_USER', 'xxxxxxxxxxxxxxxxxx');
   require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
   $o['force_show_code'] = true;
   $o['charset'] = 'UTF-8';
   $sape = new SAPE_client($o);
   unset($o);
   return $sape->return_links();
}

Когда ссылки начнут нормально отображаться, строчку
Код:

$o['force_show_code'] = true;можно будет удалить.

И так все работало с CPG 1.4, но почему то не хочет работать с 1.5
Все, что видно на самом сайте, это метка {SAPE} и больше ничего.
Сама Sape ругается и выдает ошибки, о которых я писал в первом посте.
Вот такая беда.

smira

Поставь код        $gallery_pos = strpos($template, '{SAPE}');
        $template = str_replace('{SAPE}', sape_block() ,$template);
перед $gallery_pos = strpos($template, '{GALLERY}');

Driver1967

К сожалению, выдает ошибку:
QuoteFatal error: require_once() [function.require]: Failed opening required '/632180c6291f3c42ec1655377b1ea390/sape.php' (include_path='.:/usr/local/share/pear') in /home/v380/domains/v380.ru/public_html/gallery/include/functions.inc.php on line 34

smira

Замени строку
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
на:
require_once('/полный путь/до/папки/'._SAPE_USER.'/sape.php');

smira

Тоесть в твоём случаеrequire_once('/home/v380/domains/v380.ru/public_html/gallery/'._SAPE_USER.'/sape.php');

Driver1967

Заменил - ничего... :( Да, скоро мозг вскипит уже... нужно было на программиста учиться, а не на электрика. :(

smira


Driver1967

В смысле, что ничего не изменилось. Как была метка {sape} на местесте, так она и есть. Ссылок не видно.
Мне тут одна мысль пришла в больную голову, не судите строго электрика, может попробовать вставить PHP сапы:
Quote<?php
     if (!defined('_SAPE_USER')){
        define('_SAPE_USER', 'хххххххххххххххх');
     }
     require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
     $sape = new SAPE_client();
     echo $sape->return_links();
?>
в тело самого шаблона template.html? В то место где должны выводиться ссылки? Или это невозможно?

smira

Так работать не будет.
Помести код:function sape_block()
{
define('_SAPE_USER', 'хххххххххххххххххххххх');
require_once('/home/v380/domains/v380.ru/public_html/gallery/'._SAPE_USER.'/sape.php');
$o['force_show_code'] = true;
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
return $sape->return_links();
}
в конец functions.inc.php

Driver1967

К сожалению, и в конец вставлял, и в начало - нет ссылок. Не работает почему то вывод.

Makc666

Quote from: Driver1967 on April 07, 2010, 06:31:34 PM
К сожалению, и в конец вставлял, и в начало - нет ссылок. Не работает почему то вывод.

Значит так.

Вывод работает.

1.
Открыл файл ./themes/curve/template.html

2.
После строки:
{GALLERY}

добавил строку:
{SAPE}

3.
Открыл файл ./include/functions.inc.php

После строк:
// TODO: add in INNER JOIN {$CONFIG['TABLE_CATEGORIES']} ON cid = category
// only add when we are at the top level, cat == 0


Добавил строки:
   function sape_block() {
       $test = "123456";
       return $test;
   }


4.
После строк:
   $gallery_pos = strpos($template, '{THEME_SELECT_LIST}');

   if ($gallery_pos) {
       $template    = str_replace('{THEME_SELECT_LIST}', themeSelect('list'), $template);
   }


Добавил строки:

   $gallery_pos = strpos($template, '{SAPE}');

   if ($gallery_pos) {
       $template = str_replace('{SAPE}', sape_block() ,$template);
   }


5.
Открыл главную страницу сайт.
В самом низу 123456 отображается.

Таким образом замена отлично работает.

Не работает ваша функция.

Создайте в корне галереи test.php файл вида:

<?php

function sape_block()
{
   
define('_SAPE_USER''xxxxxxxxxxxxxxxxxx');
   require_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
   
$o['force_show_code'] = true;
   
$o['charset'] = 'UTF-8';
   
$sape = new SAPE_client($o);
   unset(
$o);
   return 
$sape->return_links();
}

print 
sape_block();

?>


И добейтесь, чтобы он Вам выводил информацию нужную.

А потом уже галерею редактируйте.

Driver1967

Спасибо огромное за терпение - все доходчиво и понятно. Сделал как написано, действительно, тест 123456 работает. Осталось все это дело запустить. Сам я этого сделать не смогу,но надеюсь ребята из sape помогут. Если получится, обязательно опишу, что и как, что бы другие не мучились.

Makc666

Quote from: Driver1967 on April 08, 2010, 03:22:11 AM
Спасибо огромное за терпение - все доходчиво и понятно. Сделал как написано, действительно, тест 123456 работает. Осталось все это дело запустить. Сам я этого сделать не смогу,но надеюсь ребята из sape помогут. Если получится, обязательно опишу, что и как, что бы другие не мучились.

Пожалуйста. Если не забудете потом рассказать, как решили проблему, скажем спасибо.

Driver1967

Свершилось! Заработало!
Спасибо ребятам с форума Sape, а именно alex063.
Как и обещал - постараюсь описать, что нужно делать в случае только для CPG 1.5.х.
1. Открыл файл ./themes/curve/template.html
и добавить строку {SAPE} в то место, в котором должны появляться ссылки, у меня это в самом низу, после {GALLERY}
2. Открыть файл ./include/functions.inc.php
после стрк:
$gallery_pos = strpos($template, '{THEME_SELECT_LIST}');

    if ($gallery_pos) {
        $template    = str_replace('{THEME_SELECT_LIST}', themeSelect('list'), $template);
    }

добавить:
$gallery_pos = strpos($template, '{SAPE}');

    if ($gallery_pos) {
        $template = str_replace('{SAPE}', sape_block() ,$template);
    }

Далее, в самом конце этого же файла, перед закрывающим тегом PHP добавить сам блок вида:
function sape_block()
{
   define('_SAPE_USER', 'хххххххххххххххххххххххх');
   require_once('/home/ххххх/domains/ваш_домен.ru/public_html/'._SAPE_USER.'/sape.php');
   $o['request_uri'] = getenv('REQUEST_URI');
   $o['force_show_code'] = true;
   $o['charset'] = 'UTF-8';
   $sape = new SAPE_client($o);
   unset($o);
   return $sape->return_links();

   
}

где: хххххххххххххххххххххххххх - номер Вашей хеш-папки sape, /home/ххххх/domains/домен/public_html/ - полный путь до папки с sape.php, иначе работать не будет.
Изменения в коде самой sape затронули только эти 2 строки:

require_once('/home/ххххх/domains/домен/public_html/'._SAPE_USER.'/sape.php');
   $o['request_uri'] = getenv('REQUEST_URI');

Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)

Makc666

Quote from: Driver1967 on April 08, 2010, 05:39:14 PM
Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)

Спасибо, что написали :)

Valeryn

А у меня код встал, но вот кодировка самих ссылок почему то в cp1251 отражаются, тоесть сплошные вопросики пишет.
Есть совет?