Плагин для 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-->
    
    
    Добавить Комментарий

    Ваш ответ

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