Помогите пожалуйста разобраться.
В 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 ответа нет, тут то же ничего.
Посоветуйте, как избавиться от такой напасти?
Driver1967, Вы извините нас, пожалуйста, но по ссылке, что Вы привели, аж 5 страниц обсуждений. И т.к. Вы вопрос в том форуме уже задали и он как бы посвящен именно той системе, то я очень надеюсь, что Вам помогут там. Мы вряд ли Вам поможем.
Если Вы найдёте решение, то мы будем ради, если Вы о нём тут напишите.
Makc666, знаете, если бы я был программистом - не спрашивал бы совета. Но так как я человек любопытный, мне хочется понять, почему на 1.4 работает код sape, а на 1,5 нет. Могу привести выдержку из текста ветки на том форуме. Если Вам не трудно взглянуть конечно...
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. Изменил на такой.
Здравствуйте, спасибо, что согласились помоч.
Я делал так:
У меня по умолчанию стоит тема 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 ругается и выдает ошибки, о которых я писал в первом посте.
Вот такая беда.
Поставь код $gallery_pos = strpos($template, '{SAPE}');
$template = str_replace('{SAPE}', sape_block() ,$template);
перед $gallery_pos = strpos($template, '{GALLERY}');
К сожалению, выдает ошибку:
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
Замени строку
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
на:
require_once('/полный путь/до/папки/'._SAPE_USER.'/sape.php');
Тоесть в твоём случаеrequire_once('/home/v380/domains/v380.ru/public_html/gallery/'._SAPE_USER.'/sape.php');
Заменил - ничего... :( Да, скоро мозг вскипит уже... нужно было на программиста учиться, а не на электрика. :(
Что именно ничего?
В смысле, что ничего не изменилось. Как была метка {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? В то место где должны выводиться ссылки? Или это невозможно?
Так работать не будет.
Помести код: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
К сожалению, и в конец вставлял, и в начало - нет ссылок. Не работает почему то вывод.
Quote from: Driver1967 on April 07, 2010, 06:31:34 PM
К сожалению, и в конец вставлял, и в начало - нет ссылок. Не работает почему то вывод.
Значит так.
Вывод работает.
1.
Открыл файл
./themes/curve/template.html2.
После строки:
{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();
?>
И добейтесь, чтобы он Вам выводил информацию нужную.
А потом уже галерею редактируйте.
Спасибо огромное за терпение - все доходчиво и понятно. Сделал как написано, действительно, тест 123456 работает. Осталось все это дело запустить. Сам я этого сделать не смогу,но надеюсь ребята из sape помогут. Если получится, обязательно опишу, что и как, что бы другие не мучились.
Quote from: Driver1967 on April 08, 2010, 03:22:11 AM
Спасибо огромное за терпение - все доходчиво и понятно. Сделал как написано, действительно, тест 123456 работает. Осталось все это дело запустить. Сам я этого сделать не смогу,но надеюсь ребята из sape помогут. Если получится, обязательно опишу, что и как, что бы другие не мучились.
Пожалуйста. Если не забудете потом рассказать, как решили проблему, скажем спасибо.
Свершилось! Заработало!
Спасибо ребятам с форума 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');
Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)
Quote from: Driver1967 on April 08, 2010, 05:39:14 PM
Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)
Спасибо, что написали :)
А у меня код встал, но вот кодировка самих ссылок почему то в cp1251 отражаются, тоесть сплошные вопросики пишет.
Есть совет?
Прошу прощения за офтом. Driver1967 спасибо что сдесь отписались, отпишитесь и там где Вам помогли.
Quote from: Valeryn on June 17, 2010, 04:59:28 PM
А у меня код встал, но вот кодировка самих ссылок почему то в cp1251 отражаются, тоесть сплошные вопросики пишет.
Есть совет?
Нужно добавить в код:
$o['charset'] = 'UTF-8';
А сама галерея у вас в какой кодировке? Может вам наоборот нужно убрать эту часть кода.
Plazik. чтож Вы думаете я код скопипастиь не могу. Стоит $o['charset'] = 'UTF-8';
UTF-8 - менял на cp1251 безрезультатно.
Сама галерея стоит в рекамендованной кодировки -unicode utf-8
Quote from: Driver1967 on April 08, 2010, 05:39:14 PM
Свершилось! Заработало!
Спасибо ребятам с форума 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');
Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)
Да, спасибо, очень пригодилось! Вот только теперь вместо галлереи на главной странице выдается красуется надпись:"п»ї" :o. Я все тестил на локале. Делал все как и написали. У Вас такого не было? Не подскажете в чем может быть проблема?
И еще, в примерах из личного кабинета для серверов с поддержкой пхп предлагался совсем другой вариант. Там в начале иходного кода страниц, где хотим вешать рекламу, предлагалось вставлять
<?php
if (!defined('_SAPE_USER')){
define('_SAPE_USER', '33092d53d28af2431a03dc482ab5eb8c');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
?>
А потом в местах, где хотим ставить ссылки, вставить:
<? echo $sape->return_links($n); ?>
где $n - количество ссылок в блоке, т.е. 1,2,3 и т.д.
И всё.
Скажите пожалуйста, этот вариант у вас не работал тоже? Просто интересна причина по которой вы стали использовать приведенный выше код вместо рекомендуемого сапой.
Стандартный код так просто не работает.
Поэтому нужно сначала задать функцию function sape_block(), а потом использовать ее где надо.
Quote from: TV-child on July 30, 2010, 06:31:01 PM
Вот только теперь вместо галлереи на главной странице выдается красуется надпись:"п»ї" :o.
Это надпись красуется вместо чего? Вместо ссылок или вообще вместо галереи?
У меня сапа заработала только с таким кодом:
function sape_block()
{
define('_SAPE_USER', 'xxxxxxxxxxxxxxxxxxxxxxxxxxx');
require_once('абсолютный путь до сайта'._SAPE_USER.'/sape.php');
$o['request_uri'] = getenv('REQUEST_URI');
$o['host'] = 'адрес сайта.ru';
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
return $sape->return_links();
}
Quote from: Plazik on July 31, 2010, 11:05:19 AM
Стандартный код так просто не работает.
Поэтому нужно сначала задать функцию function sape_block(), а потом использовать ее где надо.Это надпись красуется вместо чего? Вместо ссылок или вообще вместо галереи?
У меня сапа заработала только с таким кодом:
function sape_block()
{
define('_SAPE_USER', 'xxxxxxxxxxxxxxxxxxxxxxxxxxx');
require_once('абсолютный путь до сайта'._SAPE_USER.'/sape.php');
$o['request_uri'] = getenv('REQUEST_URI');
$o['host'] = 'адрес сайта.ru';
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
return $sape->return_links();
}
Эта надпись красуется вместо ВСЕЙ главной страницы сайта, т.е. белый экран и в левом верхнем углу эти кракозяблы.
А приведенный вами код это весь код, который нужно вставить на страницу? И в последней строке в return_links(); указывается количество ссылок в блоке и если мы хотим несколько блоков поставить, то в каждом месте нужно его вставлять целиком? Расскажите поподробней про ваш способ, пожалуйста и где вам его предложили.
Нет, надо делать как тут написано http://forum.coppermine-gallery.net/index.php/topic,64391.msg320279.html#msg320279
Только у меня так не запустилось, и пришлось допиливать код, разница только в наличии
$o['host'] = 'адрес сайта.ru';
Об этом написано в справке сапы и на ихнем форуме.
Про return $sape->return_links(); - да, тут все ссылки в одном блоке выводятся. Но я поставил 1 ссылка на 1 страницу, так что для меня это не проблема.
А у вас ссылки в файле links.db создаются?
Quote from: Plazik on August 01, 2010, 07:39:24 AM
Нет, надо делать как тут написано http://forum.coppermine-gallery.net/index.php/topic,64391.msg320279.html#msg320279
Только у меня так не запустилось, и пришлось допиливать код, разница только в наличии
$o['host'] = 'адрес сайта.ru';
Об этом написано в справке сапы и на ихнем форуме.
Ну, я так и делал, как в том посте. Результат - кракозяблы. А у вас с недопиленным кодом что происходило?
А адрес сайта это http://www.site.ru/ или http://site.ru/? Точнее, на какой сайт указывать ссылку?
Quote from: Plazik on August 01, 2010, 07:39:24 AM
А у вас ссылки в файле links.db создаются?
Ээм, у меня нет такой датабазы. :-[
Так, вы в первый раз добавляете этот сайт в сапу?
Я уже не помню, что у меня было с недопиленным кодом, но точно знаю, что он не работал.
Quote from: TV-child on August 01, 2010, 08:50:20 AM
А адрес сайта это http://www.site.ru/ или http://site.ru/? Точнее, на какой сайт указывать ссылку?
Вы делали 301 редирект с http://www.site.ru/ на http://site.ru/ или наоборот? Вот какой у вас сайт открывается по запросу http://site.ru/ тот и пишите.
Quote from: TV-child on August 01, 2010, 08:50:20 AM
Ээм, у меня нет такой датабазы. :-[
Это файл, который создается в папке
/xxxxxxxxxxxxxxxxxxxxxxxxxxx
где xxxxxxxxxxxxxxxxxxxx - ваш идентификатор в сапе. В общем, это название папки, которую вы можете узнать при добавлении сайта в сапу (там где идет установка кода).
Quote from: Plazik on August 01, 2010, 09:26:32 AM
Так, вы в первый раз добавляете этот сайт в сапу?
Да, первый раз добавляю сайт в сапу и первый раз вообще.
Quote from: Plazik on August 01, 2010, 09:26:32 AM
Вы делали 301 редирект с http://www.site.ru/ на http://site.ru/ или наоборот?
Я не делал 301 редирект, при запросе с www открывается сайт с www, без - открывается без www, но и там и там один и тотже сайт открывается. Вот поэтому я редирект не пользовал.
Quote from: Plazik on August 01, 2010, 09:26:32 AM
Я уже не помню, что у меня было с недопиленным кодом, но точно знаю, что он не работал.
Недопиленный код это тот, что предлагался в сапе?
Quote from: Plazik on August 01, 2010, 09:26:32 AM
Это файл, который создается в папке
/xxxxxxxxxxxxxxxxxxxxxxxxxxx
где xxxxxxxxxxxxxxxxxxxx - ваш идентификатор в сапе. В общем, это название папки, которую вы можете узнать при добавлении сайта в сапу (там где идет установка кода).
Ах, вы про эту. Посмотрел этот файл, не нашел там ссылок. Не подскажете куда смотреть? У меня, может это важно, еще ни одно добавленной на сайт ссылки нету.
Quote from: TV-child on August 01, 2010, 11:56:38 AM
Я не делал 301 редирект, при запросе с www открывается сайт с www, без - открывается без www, но и там и там один и тотже сайт открывается. Вот поэтому я редирект не пользовал.
Вот поэтому его нужно использовать.
У вас одинаковый контент, который расположен на двух разных адресах. Поисковые системы будут думать, что один украл у другого:) вот поэтому и нужен 301 редирект, чтобы у сайта был один адрес. Это нужно сделать сразу же как сделали сайт. Если уже прошло много времени, то смотрите в индекс поисковых систем: что там больше, страниц с www или страниц без www. И в зависимости от этого ставьте 301 редирект.
Ну или делайте как вам хочется, я у себя делаю сайты без www.
Почитайте в интернете, про это много всего написано.
Quote from: TV-child on August 01, 2010, 11:56:38 AM
Недопиленный код это тот, что предлагался в сапе?
Нет, это тот который тут упоминался.
Прорвете еще раз, все ли вы так сделали как указано здесь http://forum.coppermine-gallery.net/index.php/topic,64391.msg320279.html#msg320279
Учтите, что тут
'/home/ххххх/domains/ваш_домен.ru/public_html/'._SAPE_USER.'/sape.php' нужно писать свой абсолютный путь до галереи. У вас он может кардинально отличаться.
Также вам надо оставить в коде
$o['force_show_code'] = true;Тогда в местах вывода в коде страницы должно появится это:
<!--check code-->Если появляется, значит все работает.
И еще, если вы говорите про галерею, которая стоит у вас в профиле, то срочно обновляетесь!
У вас стоит:
Coppermine Photo Gallery 1.5.3 (RC), хотя уже вышла стабильная версия 1.5.6. Возможно из за этого и не работает.
Если ничего не помогает, стукни в асю, она в профиле.
Большое спасибо за консультацию! Буду ковыряться проверять и исправлять. Надеюсь, все сложится. Еще раз спасибо!
Спасибо большущее, запустилось все с первого раза на живом и сапа ничего не сказала плохого при добавлении! Только, в твоем примере кода вместо адреса папки с сапой был указан "адрес" сайта. Я несколько раз по невнимательности вводил адрес сайта ;D. Да и с вводом нужного адреса папки с сапой на локали не пахал. А на живом все *тьфу-тьфу* работает.
Единственная проблема с
$o['force_show_code'] = true;
при оставлении этой строки вместо ссылки не выводится:
<!--check code-->
TV-child так ты пытался на у себя на локальном компьютере настроить сапу? И добавлял такой сайт в сапу? ??? Тогда понятно, почему у тебя не работало.
Ну раз сапа сайт скушала, значит все нормально.
Quote from: Plazik on August 02, 2010, 01:16:40 PM
TV-child так ты пытался на у себя на локальном компьютере настроить сапу? И добавлял такой сайт в сапу? ??? Тогда понятно, почему у тебя не работало.
Ну раз сапа сайт скушала, значит все нормально.
Ну, как-то так ::). Ведь хоть что-то же должно было бы отобразиться в месте вставки метки {SAPE}, а не весь сайт полетел бы если все было бы настроено правильно. По крайней мере, так думал я. :)
Добрый день, ув. форумчане.
Я перенес сайт с одного сервера на другой(у того же хостера).
Там все работало замечательно, но на новом сервере сайт не отображался(чистый лист).
Оказалось все из-за кода сапы:
$gallery_pos = strpos($template, '{SAPE}');
$template = str_replace('{SAPE}', sape_block() ,$template);
Обратился в суппорт хостинга, сказали, что оба сервера идентичны в модулях и ПО, за исключением нескольких модулей, которые стоят на новом сервере(они не входят в базовую сборку сервера, их ставили по моему запросу). Возможна проблема в этих модулях?
Сервер у Агавы(может, кто-нибудь знает).
В чем может быть проблема? Версия CPG 1.5.x
Буду благодарен за помощь
От Агавы можно ожидать чего угодно.
Смотрите логи сервера, там должны быть описаны ошибки.
Спасибо за ответ. Будем разбираться..
А где такой код есть в оригинальной части галереи?
Читайте форум, тут была тема про сапу.
У меня, насколько я помню, другой код.
Quote from: Plazik on February 23, 2011, 09:49:42 AM
Читайте форум, тут была тема про сапу.
У меня, насколько я помню, другой код.
Объединил темы...
После добавления кода:
Quote$gallery_pos = strpos($template, '{SAPE}');
if ($gallery_pos) {
$template = str_replace('{SAPE}', sape_block() ,$template);
}
галерея тупо перестаёт работать...
Quote from: serg5777 on June 22, 2012, 03:56:14 PM
После добавления кода:галерея тупо перестаёт работать...
Я бы начал с просмотра ошибок PHP...