Помогите разобраться. Ошибка на сервере.

Смотрю в логах, ошибка идёт постоянно в строке 344. Вот пример двух строчек из логов сервера:

craftband.ru [Sat Jul 30 00:19:34 2016] [error] [client 51.255.65.27] PHP Warning: Illegal string offset 'name' in /home/c/craftbanru/webasyst/public_html/wa-cache/apps/blog/templates/compiled/blog_ru_RU/5d/25/ff/5d25ffce0347209ace6e91a5922131963bf11071.file.post.html.php on line 344

craftband.ru [Sat Jul 30 00:19:34 2016] [error] [client 51.255.65.27] PHP Notice: Uninitialized string offset: 0 in /home/c/craftbanru/webasyst/public_html/wa-cache/apps/blog/templates/compiled/blog_ru_RU/5d/25/ff/5d25ffce0347209ace6e91a5922131963bf11071.file.post.html.php on line 344

Вот эта строчка 344:

" class="userpic" /><?php echo $_smarty_tpl->tpl_vars['current_auth']->value['name'];?>

Что с ней не так???

5 ответов

  • 1

    Надо сделать проверку на значение current_auth и выводить name только авторизованным пользователям.

  • 1
    Antonio 1 августа 2016 16:21 #

    Рано я радовался. Ошибка всё равно идёт.

  • 1
    Antonio 1 августа 2016 22:14 #

    Вот код из comments.html

    Что тут подправить?

    <script type="text/javascript">
    $(document).ready(function() {
        var provider_list = $('#user-auth-provider');
        
        provider_list.find('a').click(function () {
            var self = $(this);
            var provider = self.parents('li:first').attr('data-provider');
            
            if (provider != 'guest' && provider != 'signup') {
                var left = (screen.width-600)/2;
                var top = (screen.height-400)/2;
                window.open($(this).attr('href'){if !$require_authorization} + "&guest=1"{/if},'oauth', "width=600,height=400,left="+left+",top="+top+",status=no,toolbar=no,menubar=no");
                return false;
            }
        })
    });
    </script>
    
    <section class="comments" itemscope itemtype="http://schema.org/UserComments">
        <a name="comments"></a>
            <h3 class="comment-count" {if $post.comment_count == 0}style="display: none;"{/if}>{_w('%d comment','%d comments',$post.comment_count)}</h3>
    
            {if $post.comment_count == 0}
                <ul>
                    <!-- placeholder for new comments -->
                </ul>
            {/if}
    
            {$depth=-1}
            {foreach $post.comments as $comment}
                {if $comment.depth < $depth}
                    {$loop=$depth-$comment.depth}
                    {section name="end-comment" loop=$loop}
    
                            </li>
                        </ul>
                    {/section}
                    {$depth=$comment.depth}
                {/if}
                {if $comment.depth == $depth}
    
                    </li>
                    <li class="comment">
                {/if}
                {if $comment.depth > $depth}
    
                <ul class="{if $comment.depth > 0}children plain{else}comment-list plain{/if}">
                    <li class="comment">
                    {$depth=$comment.depth}
                {/if}
    
                {include file="comment.html" inline}
                {* sub comment *}
            {/foreach}
            {section name="end-comment" loop=$depth }
    
                        </li>
                    </ul>
            {/section}
            </li>
        </ul>
    
    </section>
    
    <section class="comment-form">
        <a name="comment0"></a>
        <form action="{$post.comment_link}" method="post">
            <h4>[`Add comment`]</h4>
            {$current_user_id=$wa->userId()}
    
            <div class="comment-form-fields">
                {if empty($current_user_id)}
                    {if $require_authorization}
                    <div id="user-auth-provider" data-provider="signup" {if $current_auth_source neq 'signup'}style="display:none"{/if}>
                        {sprintf('[`To add a comment please <a href="%s">sign up</a> or <a href="%s">login</a>`]',$wa->signupUrl(),$wa->loginUrl())}
                    </div>
                    {elseif $auth_adapters}
                        <ul class="auth-type" id="user-auth-provider">
                            {if $require_authorization}
                            <li data-provider="signup" {if !$current_auth_source}class="selected"{/if}><a href="#">[`Sign up`]</a></li>
                            {else}
                            <li data-provider="guest" {if !$current_auth_source}class="selected"{/if}><a href="#">[`Guest`]</a></li>
                            {/if}
                            {foreach $auth_adapters as $adapter}
                            {$adapter_id = $adapter->getId()}
                            <li data-provider="{$adapter_id}" {if $current_auth_source == $adapter_id}class="selected"{/if}><a href="{$adapter->getCallbackUrl(0)}&app=blog"><img src="{$adapter->getIcon()}" alt="">{$adapter->getName()}</a></li>
                            {/foreach}
                        </ul>
                    {/if}
                    <div id="user-auth-provider" class="tab clear-left" data-provider="guest" {if $current_auth_source}style="display:none"{/if}>
                        <p>
                            <span class="pre-input"><i class="fa fa-user"></i></span>
                            <input id="comment_name" class="name plain buffer" type="text" name="name" value="" placeholder="[`Your name`]">
                        </p>
                        <p>
                            <span class="pre-input"><i class="fa fa-envelope-o"></i></span>
                            <input id="comment_email" class="email plain buffer" type="text" name="email" placeholder="[`Email`]">
                        </p>
                        <p>
                            <span class="pre-input"><i class="fa fa-terminal"></i></span>
                            <input id="comment_site" class="name plain buffer" type="text" name="site" placeholder="[`Website`]">
                        </p>
                    </div>
                    {if $require_authorization}
                    <div class="tab" data-provider="signup" {if $current_auth_source != 'signup'}style="display:none"{/if}>
                        {sprintf('[`To add a comment please <a href="%s">sign up</a> or <a href="%s">login</a>`]',$wa->signupUrl(),$wa->loginUrl())}
                    </div>
                    {/if}
                    {foreach $auth_adapters as $adapter}
                        <div class="tab" data-provider="{$adapter->getId()}" {if $current_auth_source != $adapter->getId()}style="display:none"{/if}>
                            <p>
                                <label for="name">[`Your name`]</label>
                                <strong><img src="{$adapter->getIcon()}" class="userpic" />{$current_auth.name}</strong>
                                <a href="{$wa_app_url}logout">[`log out`]</a>
                            </p>
                        </div>
                    {/foreach}
                {else}
                    <div class="logout">
                        <p>
                            <label>[`Your name`]:</label>
                            <img src="{$wa->user()->getPhoto(20)}" class="userpic" alt=""> <strong>{$wa->user('name')}</strong> <a href="{$wa_app_url}logout">[`log out`]</a>
                        </p>
                    </div>
                {/if}
    
                <p class="comment-body">
                    <textarea id="comment_text" class="plain buffer" name="text" rows="10" cols="45" placeholder="[`Comment`]"></textarea>
                </p>
            </div>
            <div class="comment-submit keep-left">
                {if $request_captcha && empty($current_user_id)}
                    {$wa->captcha()}
                {/if}
                <input type="hidden" name="auth_provider" value="{$current_auth_source|default:blogCommentModel::AUTH_GUEST}">
                <input type="hidden" name="parent" value="0">
                <input class="button red" type="submit" value="[`Add comment`]">
                <img src="{$wa_static_url}wa-content/img/loading16.gif" style="display: none;" alt="">
            </div>
        </form>
    </section
  • 1
    Antonio 2 августа 2016 12:22 #

    Заменил. Ошибка в логах вроде пропала, но теперь статьи не открываются "Ошибка 500.

  • 1
    Владимир 4 августа 2016 12:32 #

    Так и не удалось решить проблему?

    • +1
      Antonio Antonio 4 августа 2016 13:22 #

      Не решил. Разработчик темы говорит, что в шаблоне Дефолт такой же код и что может дело в хостинге. Хостинге у меня вроде один из лучших Spaceweb.

      Надеюсь на форум, может ещё кто подскажет варианты решения?

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите