forum.coppermine-gallery.net
Support => Русский (Russian) => Language Specific Support => cpg1.5.x FAQ (Russian) => Topic started by: Driver1967 on April 05, 2010, 12:46:09 am
-
Помогите пожалуйста разобраться.
В 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 нет. Могу привести выдержку из текста ветки на том форуме. Если Вам не трудно взглянуть конечно...
-
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}');
-
К сожалению, выдает ошибку:
Fatal 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 сапы:
<?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
-
К сожалению, и в конец вставлял, и в начало - нет ссылок. Не работает почему то вывод.
-
К сожалению, и в конец вставлял, и в начало - нет ссылок. Не работает почему то вывод.
Значит так.
Вывод работает.
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();
?>
И добейтесь, чтобы он Вам выводил информацию нужную.
А потом уже галерею редактируйте.
-
Спасибо огромное за терпение - все доходчиво и понятно. Сделал как написано, действительно, тест 123456 работает. Осталось все это дело запустить. Сам я этого сделать не смогу,но надеюсь ребята из sape помогут. Если получится, обязательно опишу, что и как, что бы другие не мучились.
-
Спасибо огромное за терпение - все доходчиво и понятно. Сделал как написано, действительно, тест 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');
Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)
-
Все, у меня работает на ура... :)
Надеюсь, что кому то это пригодится. :)
Спасибо, что написали :)
-
А у меня код встал, но вот кодировка самих ссылок почему то в cp1251 отражаются, тоесть сплошные вопросики пишет.
Есть совет?
-
Прошу прощения за офтом. Driver1967 спасибо что сдесь отписались, отпишитесь и там где Вам помогли.
-
А у меня код встал, но вот кодировка самих ссылок почему то в cp1251 отражаются, тоесть сплошные вопросики пишет.
Есть совет?
Нужно добавить в код:
$o['charset'] = 'UTF-8';
А сама галерея у вас в какой кодировке? Может вам наоборот нужно убрать эту часть кода.
-
Plazik. чтож Вы думаете я код скопипастиь не могу. Стоит $o['charset'] = 'UTF-8';
UTF-8 - менял на cp1251 безрезультатно.
Сама галерея стоит в рекамендованной кодировки -unicode utf-8
-
Свершилось! Заработало!
Спасибо ребятам с форума 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(), а потом использовать ее где надо.
Вот только теперь вместо галлереи на главной странице выдается красуется надпись:"п»ї" :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();
}
-
Стандартный код так просто не работает.
Поэтому нужно сначала задать функцию 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 создаются?
-
Нет, надо делать как тут написано http://forum.coppermine-gallery.net/index.php/topic,64391.msg320279.html#msg320279
Только у меня так не запустилось, и пришлось допиливать код, разница только в наличии
$o['host'] = 'адрес сайта.ru';
Об этом написано в справке сапы и на ихнем форуме.
Ну, я так и делал, как в том посте. Результат - кракозяблы. А у вас с недопиленным кодом что происходило?
А адрес сайта это http://www.site.ru/ или http://site.ru/? Точнее, на какой сайт указывать ссылку?
А у вас ссылки в файле links.db создаются?
Ээм, у меня нет такой датабазы. :-[
-
Так, вы в первый раз добавляете этот сайт в сапу?
Я уже не помню, что у меня было с недопиленным кодом, но точно знаю, что он не работал.
А адрес сайта это http://www.site.ru/ или http://site.ru/? Точнее, на какой сайт указывать ссылку?
Вы делали 301 редирект с http://www.site.ru/ на http://site.ru/ или наоборот? Вот какой у вас сайт открывается по запросу http://site.ru/ тот и пишите.
Ээм, у меня нет такой датабазы. :-[
Это файл, который создается в папке
/xxxxxxxxxxxxxxxxxxxxxxxxxxx
где xxxxxxxxxxxxxxxxxxxx - ваш идентификатор в сапе. В общем, это название папки, которую вы можете узнать при добавлении сайта в сапу (там где идет установка кода).
-
Так, вы в первый раз добавляете этот сайт в сапу?
Да, первый раз добавляю сайт в сапу и первый раз вообще.
Вы делали 301 редирект с http://www.site.ru/ на http://site.ru/ или наоборот?
Я не делал 301 редирект, при запросе с www открывается сайт с www, без - открывается без www, но и там и там один и тотже сайт открывается. Вот поэтому я редирект не пользовал.
Я уже не помню, что у меня было с недопиленным кодом, но точно знаю, что он не работал.
Недопиленный код это тот, что предлагался в сапе?
Это файл, который создается в папке
/xxxxxxxxxxxxxxxxxxxxxxxxxxx
где xxxxxxxxxxxxxxxxxxxx - ваш идентификатор в сапе. В общем, это название папки, которую вы можете узнать при добавлении сайта в сапу (там где идет установка кода).
Ах, вы про эту. Посмотрел этот файл, не нашел там ссылок. Не подскажете куда смотреть? У меня, может это важно, еще ни одно добавленной на сайт ссылки нету.
-
Я не делал 301 редирект, при запросе с www открывается сайт с www, без - открывается без www, но и там и там один и тотже сайт открывается. Вот поэтому я редирект не пользовал.
Вот поэтому его нужно использовать.
У вас одинаковый контент, который расположен на двух разных адресах. Поисковые системы будут думать, что один украл у другого:) вот поэтому и нужен 301 редирект, чтобы у сайта был один адрес. Это нужно сделать сразу же как сделали сайт. Если уже прошло много времени, то смотрите в индекс поисковых систем: что там больше, страниц с www или страниц без www. И в зависимости от этого ставьте 301 редирект.
Ну или делайте как вам хочется, я у себя делаю сайты без www.
Почитайте в интернете, про это много всего написано.
Недопиленный код это тот, что предлагался в сапе?
Нет, это тот который тут упоминался.
Прорвете еще раз, все ли вы так сделали как указано здесь 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 так ты пытался на у себя на локальном компьютере настроить сапу? И добавлял такой сайт в сапу? ??? Тогда понятно, почему у тебя не работало.
Ну раз сапа сайт скушала, значит все нормально.
-
TV-child так ты пытался на у себя на локальном компьютере настроить сапу? И добавлял такой сайт в сапу? ??? Тогда понятно, почему у тебя не работало.
Ну раз сапа сайт скушала, значит все нормально.
Ну, как-то так ::). Ведь хоть что-то же должно было бы отобразиться в месте вставки метки {SAPE}, а не весь сайт полетел бы если все было бы настроено правильно. По крайней мере, так думал я. :)
-
Добрый день, ув. форумчане.
Я перенес сайт с одного сервера на другой(у того же хостера).
Там все работало замечательно, но на новом сервере сайт не отображался(чистый лист).
Оказалось все из-за кода сапы:
$gallery_pos = strpos($template, '{SAPE}');
$template = str_replace('{SAPE}', sape_block() ,$template);
Обратился в суппорт хостинга, сказали, что оба сервера идентичны в модулях и ПО, за исключением нескольких модулей, которые стоят на новом сервере(они не входят в базовую сборку сервера, их ставили по моему запросу). Возможна проблема в этих модулях?
Сервер у Агавы(может, кто-нибудь знает).
В чем может быть проблема? Версия CPG 1.5.x
Буду благодарен за помощь
-
От Агавы можно ожидать чего угодно.
Смотрите логи сервера, там должны быть описаны ошибки.
-
Спасибо за ответ. Будем разбираться..
-
А где такой код есть в оригинальной части галереи?
-
Читайте форум, тут была тема про сапу.
У меня, насколько я помню, другой код.
-
Читайте форум, тут была тема про сапу.
У меня, насколько я помню, другой код.
Объединил темы...
-
После добавления кода:
$gallery_pos = strpos($template, '{SAPE}');
if ($gallery_pos) {
$template = str_replace('{SAPE}', sape_block() ,$template);
}
галерея тупо перестаёт работать...
-
После добавления кода:галерея тупо перестаёт работать...
Я бы начал с просмотра ошибок PHP...