Плагин для Sape.ru

Поставил плагин  ram108-sape, для установки саповской рекламы. Сначала он поработал, но не долго. Начало выдавать ошибку Fatal error: Class ‘ram108_sape’ not found in
www/sait/wp-content/plugins/ram108-sape/include/ram108_sape.php
on line 3. Я перенес строчку 3 в самый конец. Вроди заработало. Но не на долго.

Теперь в админке постоянно вылетает ошибка Fatal error: Class ‘ram108_sape_admin’ not found in /home/host1350908/dizmir.com/htdocs/www/wp-content/plugins/ram108-sape/include/plugin_admin.php on line 5

Иногда открывается нормально, но редко… Посоветуйте, как исправить. Ссылки выводятся виджетом .

Добавить Комментарий

Вывел с горем пополам )) Может кому пригодится..


<?php

global $sape;

if (!defined('_SAPE_USER')){

define('_SAPE_USER', 'бла бла бла');

}

require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));

$sape = new SAPE_client();

?>
<?php if (

( is_home() && ( ot_get_option('layout-home') != 'col-1c' ) ) ||

( is_single() && ( ot_get_option('layout-single') != 'col-1c' ) ) ||

( is_archive() && ( ot_get_option('layout-archive') != 'col-1c' ) ) ||

( is_search() && ( ot_get_option('layout-search') != 'col-1c' ) ) ||

( is_404() && ( ot_get_option('layout-404') != 'col-1c' ) ) ||

( is_page() && ( ot_get_option('layout-page') != 'col-1c' ) )

): ?>

<?php $sidebar = alx_sidebar_primary(); ?>
<div class="sidebar s1">
<a class="sidebar-toggle" title="<?php _e('Expand Sidebar','hueman'); ?>"><i class="fa icon-sidebar-toggle"></i></a>
<div class="sidebar-content">
<div class="sidebar-top group">

<p><?php _e('Follow:','hueman'); ?></p>

<?php alx_social_links() ; ?>

</div>
<?php if ( ot_get_option( 'post-nav' ) == 's1') { get_template_part('inc/post-nav'); } ?>
<?php if( is_page_template('page-templates/child-menu.php') ): ?>

<ul class="child-menu group">

<?php wp_list_pages('title_li=&sort_column=menu_order&depth=3'); ?>

</ul>

<?php endif; ?>
<?php dynamic_sidebar($sidebar); ?>

<?php

global $sape;

echo iconv( "windows-1251", "UTF-8", $sape->return_links() );
?>

</div><!--/.sidebar-content-->
</div><!--/.sidebar-->
<?php alx_sidebar_dual(); ?>
<?php endif; ?>

Добавить Комментарий

Ваш плагин вызывает класс которого — нет.
За комментируйте строчку: ram108_sape_admin (возможно после этого уже все заработет)
И проверьте наличие данного класса в коде, возможно просто ошибка в имени.

Добавить Комментарий

Если закомментить в обоих файлах, то сапа не фурычит. Если закомментить только в plugin_admin.php, то сапа фурычит, но в админку я зайти не могу. После логина просто белый экран.

Вот код этих двух файлов, которые выдавали ошибку:

ram108_sape.php (проблемный код уже вынесен в самый низ)


<?php
class ram108_sape extends ram108_sape_plugin {

function _init(){

if ( !$this->settings->sape_ready || !$this->settings->user ) return;
$this->_sape_init();

$this->_sape_context();

$this->_sape_shortcode();

}
// SAPE INIT
function _sape_init(){
global $sape, $sape_context;
if ( !defined('_SAPE_USER') ) {

define( '_SAPE_USER', $this->settings->user );

require_once( realpath ( $_SERVER['DOCUMENT_ROOT'] ).'/'._SAPE_USER.'/sape.php');

}
$options = array(

'charset' => get_bloginfo('charset'),

);
$sape = new SAPE_client( $options );

$sape_context = new SAPE_context( $options );
// SETTINGS

if ( $this->settings->disable_texturize ) {

remove_filter('the_content', 'wptexturize');

remove_filter('the_excerpt', 'wptexturize');

}

}
// SAPE CONTEXT
function _sape_context(){
if ( $this->settings->context ) {

add_filter('the_content', array( $this, 'ram108_sape_context'), 100 );

}
if ( $this->settings->context_excerpt ) {

add_filter('the_excerpt', array( $this, 'ram108_sape_context'), 100 );

}

}
function ram108_sape_context( $text ){

global $sape_context;

return $sape_context->replace_in_text_segment( $text );

}
// SAPE SHORTCODE
function _sape_shortcode(){
add_filter( 'widget_text', 'do_shortcode' );

add_filter( 'the_excerpt', 'do_shortcode' );
add_shortcode('sape', array( $this, 'ram108_sape_shortcode') );

}
function ram108_sape_shortcode( $args ){

global $sape;

extract( shortcode_atts(array('count' => 0), $args) );

$text = $count ? $sape->return_links( $count ) : $sape->return_links();

return $text ? '<div class="ram108-slink">'.$text.'</div>' : '';

}
// OTHER
function _register_scripts(){

wp_enqueue_style( $this->id, plugins_url('style.css', _RAM108_SAPE ) );

}

}
$ram108_sape = new ram108_sape;

plugin_admin.php
(тут тоже проблемная строчка в самом низу)


<?php
if ( !is_admin() ) return;
class ram108_sape_admin extends ram108_sape_plugin {
function _init(){
$this->_check_settings();
add_filter( 'plugin_action_links_' . plugin_basename( _RAM108_SAPE ), array( $this, '_admin_link' ) );

add_action( 'admin_init', array( $this, '_admin_init' ) );

add_action( 'admin_menu', array( $this, '_admin_menu' ) );

}
function _admin_page() {

?>

<div class="wrap">
<?php screen_icon(); ?><h2>[ram108] SAPE Links</h2>
<div style="width: 65%; float: left;">
<form method="post" action="options.php">
<?php settings_fields( $this->id ); ?><?php do_settings_sections( $this->id ); ?>
<input type="hidden" name="<?php echo $this->id?>[ver]" value="<?php echo $this->settings->ver?>" />
<table class="form-table">

<tr valign="top"><th scope="row">Идентификатор _SAPE_USER<br/></th><td>

<input class="regular-text" type="text" name="<?php echo $this->id?>[user]" value="<?php echo $this->settings->user; ?>" />

<br/><small><a href="http://www.ram108.ru/post/78" title="Перейти на страницу помощи" target="_blank">где взять идентификатор</a></small>

</td></tr>

<tr valign="top"><th scope="row">Контекстные ссылки</th><td>

<fieldset>

<label>

<input type="checkbox" name="<?php echo $this->id?>[context]" value="1"<?php checked( $this->settings->context );?> />

<span title="Размещает контекстные ссылки в тексте сайта.">

Ссылки в тексте записей и страниц сайта

</span>

</label>

<br/>

<label>

<input type="checkbox" name="<?php echo $this->id?>[context_except]" value="1"<?php checked( $this->settings->context_except );?> />

<span title="Цитаты выводятся на страницах архивов, которые обновляются во время новой публикации. Размещение ссылок на страницах с часто меняющимся содержимом приводит к ошибкам SAPE.">

Ссылки в цитате <i>(не рекомендуется)</i>

</span>

</label>

<br/>

<label>

<input type="checkbox" name="<?php echo $this->id?>[disable_texturize]" value="1"<?php checked( $this->settings->disable_texturize );?> />

<span title="Фильтр wptexturize обрабатывает исходный текст сайта, добавляя спецсимволы. В резльтате некоторые ссылки могут выпасть в ERROR. Более подробно читайте в FAQ.">

Отключить wptexturize <i>(только, если появились ERROR)</i>

</span>

</label>

</fieldset>

</td></tr>

<tr valign="top"><th scope="row">Виджет</th><td>

Используйте виджет <a href="<?php echo admin_url('widgets.php');?>">[ram108] SAPE Links</a> для размещения ссылок в области виджетов сайта.

</td></tr>

</table>
<?php submit_button(); ?>
</form>
</div>
<?php $this->_widget_area(); ?>
</div>

<?php

}
function _widget_area(){

?>

<div style="width: 30%; float: right">
<h3>Использование плагина</h3>

<p><a href="http://www.ram108.ru/post/78" target="_blank">Посетите страницу плагина</a>, чтобы получить информацию по активации, настройке и использованию плагина.</p>
<h3>Ждем ваших отзывов</h3>

<p>Понравился плагин? <a href="http://wordpress.org/support/view/plugin-reviews/ram108-sape" target="_blank">Оцените его в каталоге плагинов WordPress</a> или напишите обзор на своем сайте.</p>
<?php $this->_news_widget(); ?>
</div>

<?php

}
function _news_widget(){

?>

<h3>Новости плагина</h3>

<div class="news_widget">

<?php

wp_widget_rss_output( array(

'link' => 'http://www.ram108.ru',

'url' => 'http://www.ram108.ru/plugins/ram108-sape/feed/',

'title' => 'Plugin News',

'items' => 4,

'show_summary' => 0,

'show_author' => 0,

'show_date' => 0

) );

?>

</div>

<style type="text/css">

.news_widget a{

font-size: 100%;

line-height: 1.2;

font-family: inherit;

}

</style>

<?php

}
// CHECK SETTINGS
function _check_settings(){
add_action( 'admin_notices', array( $this, 'ram108_admin_notice') );
if ( !$this->settings->user ) {

$this->_error( '<div class="updated"><p><b>[ram108] SAPE Links</b>: Необходима активация плагина. Посетите <a href="'.admin_url('options-general.php?page='.$this->id).'">страницу настроек</a>.</p></div>' );

return;

}
if ( !file_exists( $file = realpath( $_SERVER['DOCUMENT_ROOT'] ).'/'.$this->settings->user.'/sape.php' ) ) {

$this->_error( '<div class="error"><p><b>[ram108] SAPE Links</b>: Файл не найден <b>'.$file.'</b>. Посетите <a href="'.admin_url('options-general.php?page='.$this->id).'">страницу настроек</a>.</p></div>' );

return;

}
// SAPE READY FLAG
if ( !$this->settings->sape_ready ) $this->settings->save(array('sape_ready' => 1));

}
function ram108_admin_notice() {

if ( $this->error ) foreach( $this->error as $message ) echo $message;

}
// OTHER
function _admin_link( $links ){

return array_merge( array('<a href="'.admin_url('options-general.php?page='.$this->id).'">Настройки</a>'), $links );

}
function _admin_init(){

register_setting( $this->id, $this->id );

}
function _admin_menu(){

add_options_page('Настройки [ram108] SAPE Links', '[ram108] SAPE Links', 'manage_options', $this->id, array( $this, '_admin_page' ) );

}
}
// $ram108_sape_admin = new ram108_sape_admin;

когда белый экран, включите в файле wp-config.php вывод ошибок:
define(‘WP_DEBUG’, false);   замените на
define(‘WP_DEBUG’, true);

уведите где еще ошибка.

в 04.11.2014.
Добавить Комментарий

Уфф, вообщем этот плагин мне мозг вынес. Баганый какой-то. Подскажите, как проще вывести в отдельный виджет саповские ссылки. Может есть какой-то плагин, который поможет это сделать.. В php я не силен )

На данном сайте вы можете найти как создать собственный виджет. Добавите в него код от сапы и все.
Либо просто пропишите код сапы в sidebar.php в вашей теме вордпресс.

в 04.11.2014.
Добавить Комментарий

Вписал в header.php с самого низа код


<?php

if (!defined('_SAPE_USER')){

define('_SAPE_USER', 'блаблабла');

}

require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));

$sape = new SAPE_client();

?>

а вот правый сайд бар, вписал, но видать криво )) После этой строчки весь сайд бар пропадает


<?php $sidebar = alx_sidebar_secondary(); ?>

<div class="sidebar s2">
<a class="sidebar-toggle" title="<?php _e('Expand Sidebar','hueman'); ?>"><i class="fa icon-sidebar-toggle"></i></a>
<div class="sidebar-content">
<div class="sidebar-top group">

<p><?php _e('More','hueman'); ?></p>

</div>
<?php if ( ot_get_option( 'post-nav' ) == 's2') { get_template_part('inc/post-nav'); } ?>
<?php dynamic_sidebar($sidebar); ?>

<? echo $sape->return_links($4); ?>

</div><!--/.sidebar-content-->
</div><!--/.sidebar-->

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.