11. Whoops\Exception\ErrorException
…/­!define/­sites/­designer/­packages/­comments/­widgets/­views/­comments.tpl.php2
10. Whoops\Run handleError
<#unknown>0
9. sizeof
…/­!define/­sites/­designer/­packages/­comments/­widgets/­views/­comments.tpl.php2
8. include
…/­!define/­system/­core/­view.php16
7. View make
…/­!define/­sites/­designer/­packages/­comments/­widgets/­ListWidget.php8
6. Comments_ListWidget render
…/­!define/­system/­core/­widget.php9
5. Widget
…/­!define/­sites/­designer/­packages/­browsers/­views/­client/­view.tpl.php60
4. include
…/­!define/­system/­core/­view.php18
3. View make
…/­!define/­sites/­designer/­packages/­browsers/­controllers/­ClientController.php295
2. Browsers_ClientController getView
…/­!define/­system/­core/­routing.php48
1. routing
…/­!define/­!define.php89
0. include
…/­index.php5

Whoops \ Exception \ ErrorException (E_WARNING)

Callstack information; navigate with mouse or keyboard using Ctrl+↑ or Ctrl+↓
Copy-to-clipboard button
Exception message and its type
Code snippet where the error was thrown
Server state information
Application provided context information
Whoops\Exception\ErrorException thrown with message "sizeof(): Parameter must be an array or an object that implements Countable" Stacktrace: #11 Whoops\Exception\ErrorException in /www/brouzeka/www/brouzeka/!define/sites/designer/packages/comments/widgets/views/comments.tpl.php:2 #10 Whoops\Run:handleError in <#unknown>:0 #9 sizeof in /www/brouzeka/www/brouzeka/!define/sites/designer/packages/comments/widgets/views/comments.tpl.php:2 #8 include in /www/brouzeka/www/brouzeka/!define/system/core/view.php:16 #7 View:make in /www/brouzeka/www/brouzeka/!define/sites/designer/packages/comments/widgets/ListWidget.php:8 #6 Comments_ListWidget:render in /www/brouzeka/www/brouzeka/!define/system/core/widget.php:9 #5 Widget in /www/brouzeka/www/brouzeka/!define/sites/designer/packages/browsers/views/client/view.tpl.php:60 #4 include in /www/brouzeka/www/brouzeka/!define/system/core/view.php:18 #3 View:make in /www/brouzeka/www/brouzeka/!define/sites/designer/packages/browsers/controllers/ClientController.php:295 #2 Browsers_ClientController:getView in /www/brouzeka/www/brouzeka/!define/system/core/routing.php:48 #1 routing in /www/brouzeka/www/brouzeka/!define/!define.php:89 #0 include in /www/brouzeka/www/brouzeka/index.php:5

sizeof(): Parameter must be an array or an object that implements Countable

/www/brouzeka/www/brouzeka/!define/sites/designer/packages/comments/widgets/views/comments.tpl.php
<div class="comments-list">
    <?php if (sizeof($comments) > 0): ?>
        <ul class="box">
            <?php foreach ($comments as $comment): ?>
                <li>
                    <img src="http://www.gravatar.com/avatar/<?php echo md5(trim($comment['uemail'])) ?>.jpg"/>
 
                    <div class="title"><?php echo $comment['uname']?></div>
                    <div class="desc"><?php echo $comment['text']?></div>
                    <div class="date"><?php echo Date::format($comment['date'])?></div>
<#unknown>
/www/brouzeka/www/brouzeka/!define/sites/designer/packages/comments/widgets/views/comments.tpl.php
<div class="comments-list">
    <?php if (sizeof($comments) > 0): ?>
        <ul class="box">
            <?php foreach ($comments as $comment): ?>
                <li>
                    <img src="http://www.gravatar.com/avatar/<?php echo md5(trim($comment['uemail'])) ?>.jpg"/>
 
                    <div class="title"><?php echo $comment['uname']?></div>
                    <div class="desc"><?php echo $comment['text']?></div>
                    <div class="date"><?php echo Date::format($comment['date'])?></div>
/www/brouzeka/www/brouzeka/!define/system/core/view.php
        $__bt = debug_backtrace();
        $__bt = array_shift($__bt);
        $__current = dirname($__bt['file']) . '/views/' . $__name;
        $__current2 = dirname(dirname($__bt['file'])) . '/views/' . $__name;
        $__current3 = dirname($__bt['file']) . '/' . $__name;
        $__site = _SITE_VIEWS_ . $__name;
        if (file_exists($__current)) {
            include $__current;
        } elseif (file_exists($__current2)) {
            include $__current2;
/www/brouzeka/www/brouzeka/!define/sites/designer/packages/comments/widgets/ListWidget.php
<?php
class Comments_ListWidget
{
    function render($browser)
    {
        $id = $browser['id'];
        $comments = get_rows('select comments.*, users.name as uname,users.email as uemail, users.id as uid from comments left join users on users.id=comments.user_id where browser_id=:id order by date desc', [':id' => $id]);
        return View::make('comments', ['comments' => $comments, 'browser' => $browser]);
    }
}
/www/brouzeka/www/brouzeka/!define/system/core/widget.php
function Widget($path, $args = array())
{
    list($package, $widget0) = explode('.', $path);
    $widget = ucfirst($widget0) . 'Widget';
    $class = ucfirst($package) . '_' . $widget;
    $inc_path = get_site_packages_path() . $package . '/widgets/' . $widget . '.php';
    include_once $inc_path;
    return call_user_func_array(array(new $class, 'render'), $args);
}
 
/www/brouzeka/www/brouzeka/!define/sites/designer/packages/browsers/views/client/view.tpl.php
        <div class="sidebar sidebar-fill">
            <ul class="nav nav-tabs nav-tabs-custom">
                <li><a href="#comments" data-toggle="tab">Комментарии</a></li>
                <li class="active"><a href="#similar" data-toggle="tab">Похожие</a></li>
            </ul>
            <div class="tab-content tab-content-custom bg-white">
                <div class="tab-pane" id="comments">
                    <?php echo Widget('comments.list', [$browser]) ?>
                </div>
                <div class="tab-pane active box" id="similar">
/www/brouzeka/www/brouzeka/!define/system/core/view.php
        $__current = dirname($__bt['file']) . '/views/' . $__name;
        $__current2 = dirname(dirname($__bt['file'])) . '/views/' . $__name;
        $__current3 = dirname($__bt['file']) . '/' . $__name;
        $__site = _SITE_VIEWS_ . $__name;
        if (file_exists($__current)) {
            include $__current;
        } elseif (file_exists($__current2)) {
            include $__current2;
        } elseif (file_exists($__current)) {
            include $__current3;
/www/brouzeka/www/brouzeka/!define/sites/designer/packages/browsers/controllers/ClientController.php
            do_query('update browsers set view_count=view_count+1 where id=:id', [':id' => $id]);
            call('partners.client.insertStats', $id, 1, 0, 0, 'view');
        }
        $cat = get_item($browser['catalog_id'], 'catalog');
        $tags = call('tags.client.getBrowserTags', [$browser]);
        $favs = $this->callFavs();
        $like_class = 'like-' . $browser['id'] . ' ' . (isset($favs[$browser['id']]) ? 'active' : '');
        return View::make('client.view', ['browser' => $browser, 'cat' => $cat, 'tags' => $tags, 'like_class' => $like_class]);
    }
 
/www/brouzeka/www/brouzeka/!define/system/core/routing.php
            $checkCSRF = isset($controller_object::${$DD['action'] . 'CSRF'}) ? $controller_object::${$DD['action'] . 'CSRF'} : Config::get('csrf.enable');
            if (in_array($DD['type'], ['post', 'xhrPost']) && $checkCSRF && CSRF::invalid()) {
                header('HTTP/1.0 403 Forbidden');
                $csrf_args = ['url' => $DD, 'html' => &$html];
                Event::fire(Event::AppCSRF, $csrf_args);
            } else {
			//echo $controller_object->{$DD['action']}(); die();
			$html = $controller_object->{$DD['action']}();
            }
            //END
/www/brouzeka/www/brouzeka/!define/!define.php
 
Lang::setLocale(Config::get('app.language.default'));
 
Event::fire(Event::AppInit);
 
CSRF::init(Config::get('csrf.namespace'));
 
routing();
 
Event::fire(Event::AppFinish);
/www/brouzeka/www/brouzeka/index.php
<?php
define('SITE_NAME', 'designer');
define('INDEX_PATH', str_replace('\\', '/', __DIR__));
define('ASSETS_PATH', INDEX_PATH . '/assets/');
include '!define/!define.php';
Key Value
r browsers.client.view
browser_id 35
empty
empty
empty
Key Value
__csrf 49B7-ACCD-6423-1324-1D99-654D-5EE5-70DB-FD87-E4C7
Key Value
USER nginx
HOME /var/lib/nginx
HTTP_HOST brouzeka.ru
HTTP_USER_AGENT claudebot
HTTP_ACCEPT */*
SCRIPT_FILENAME /www/brouzeka/www/brouzeka//index.php
REDIRECT_STATUS 200
HTTP_X_REAL_IP 3.238.235.181
SERVER_NAME brouzeka.ru
SERVER_PORT 80
SERVER_ADDR 148.251.183.124
REMOTE_PORT 43496
REMOTE_ADDR 3.238.235.181
SERVER_SOFTWARE nginx/1.12.2
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
DOCUMENT_ROOT /www/brouzeka/www/brouzeka/
DOCUMENT_URI /index.php
REQUEST_URI /?r=browsers.client.view&browser_id=35
SCRIPT_NAME /index.php
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING r=browsers.client.view&browser_id=35
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711725819.5933
REQUEST_TIME 1711725819
empty
0. Whoops\Handler\JsonResponseHandler
1. Whoops\Handler\PrettyPageHandler