#0 | unknown /var/www/bet/app/entity/eGameEvents.php (51) <?php namespace App\Entity; use App\Admin\Controllers\absAdminController; use App\Collections\cEventFull; use App\Collections\cEventHold; use Libs\JsonConfigEdit; use ModEvents\mFsEventTypes; use ModEvents\mFsGames; use ModEvents\mTexts; use Phalcon\Di; class eGameEvents { static protected $_tree = null; static protected $_text = null; protected $events = array(); protected $tree = array(); protected $collection; protected $data = array(); protected $hold = array(); protected $_siteId; public function __construct($gameId, $siteId = null) { $this->_siteId = (null !== $siteId) ? $siteId : SITE; $di = Di::getDefault(); if (null === self::$_text) self::$_text = $di->get('eUserCache')->eventTexts(); $this->collection = new cEventFull($gameId); if (null == self::$_tree || !isset(self::$_tree[$this->collection->sport])) { $fileName = $di->get('config')->application->cacheDir . 'event-tree.serial'; self::$_tree = file_exists($fileName) ? unserialize(file_get_contents($fileName)) : array(); } if (!$this->collection->has('sport')) { $this->_build($gameId); $this->save(); } if ($this->collection->has($this->_siteId)) $this->reload(); else { $this->_build($gameId); $this->save(); } if ($this->collection->has('tree')) { $this->tree = unserialize($this->collection->get('tree')); } else { $this->buildTree(self::$_tree[$this->collection->sport]); // $this->collection->set('tree', serialize($this->tree)); } } public function updateValue($id, $val) { $this->reload(); $this->data[$id] = $val; $this->save(); if (array_key_exists($id, $this->hold)) { $col = $this->collection->getHold($this->_siteId); unset($this->hold[$id]); $col->set(serialize($this->hold)); } } protected function _build($gameId) { $game = mFsGames::findFirst(array( 'import_id = :id:', 'bind' => array( 'id' => $gameId ), )); $this->collection->sport = $game->getSportId(); $this->data = $this->makeRand($game); $this->_reloadHold(); } protected function _reloadHold() { $col = $this->collection->getHold($this->_siteId); $hold = $col->get(); $this->hold = ($hold) ? unserialize($hold) : array(); foreach ($this->hold as $k => $v) { $this->data[$k] = $v; } } public function reload() { $this->data = unserialize($this->collection->get($this->_siteId)); $this->_reloadHold(); } public function save() { $this->collection->set($this->_siteId, serialize($this->data)); } protected function makeRand($game) { /** @var JsonConfigEdit $cfg */ $cfg = Di::getDefault()->get('site'); if (false === isset($cfg->cofPercentMin)) { $options = Di::getDefault()->get('cfgSiteOptions'); $cfg->cofPercentMin = (float)$options['Bets']['cofPercentMin']['default']; $cfg->cofPercentMax = (float)$options['Bets']['cofPercentMax']['default']; $cfg->save(); } $resp = array(); $bets = json_decode($game->getBets()); foreach ($bets as $e => $c) { $p = $c / 100; $val = mt_rand(($c + $p * $cfg->cofPercentMin) * 100, ($c + $p * $cfg->cofPercentMax) * 100) / 100; $resp[$e] = (1 < $val) ? $val : 1.01; } return $resp; } static public function tree($types, $file) { $events = array(); $base = mFsEventTypes::find(); foreach ($base as $type) { if (true === $types['format'][$type->getText()]) { $events[$type->getText()][$type->getId()] = $type->getParam() ?? 0; } else { $events[$type->getText()] = $type->getId(); } } $resp = array(); foreach ($types['tree'] as $game => $gt) { foreach ($gt as $group => $t) { foreach ($t as $k) { $value = $events[$k]; if (is_array($value)) asort($value); $resp[$game][$group][$k] = $value; } } } file_put_contents($file, serialize($resp)); } public function getValue($id) { return (float)$this->data[$id]; } protected function buildTree($data) { foreach ($data as $id => $options) { $group = new gameEventGroups($id, self::$_text[mTexts::TYPE_GROUP][$id]->text, self::$_text[mTexts::TYPE_GROUP][$id]->title); foreach ($options as $k => $v) { if (is_array($v)) { $ev = new gameEventsMulti($this, array( 'i' => $id, 's' => self::$_text[mTexts::TYPE_EVENT][$k]->text, 't' => self::$_text[mTexts::TYPE_EVENT][$k]->title, )); foreach ($v as $oid => $param) { if (isset($this->data[$oid])) { $ev->addItem($oid, $param); $this->events[$oid] = (object)array( 'i' => $oid, 't' => str_replace('##', $param, self::$_text[mTexts::TYPE_GROUP][$id]->title . ':' . self::$_text[mTexts::TYPE_EVENT][$k]->title), ); } } if (!$ev->isEmpty()) { $group->addEvent($ev); $group->setMulti(); } } elseif (isset($this->data[$v])) { $ev = new gameEventSingle($this, [ 'i' => $v, 's' => self::$_text[mTexts::TYPE_EVENT][$k]->text, 't' => self::$_text[mTexts::TYPE_EVENT][$k]->title, ]); $group->addEvent($ev); $group->setSingle(); $this->events[$v] = (object)array( 'i' => $v, 't' => self::$_text[mTexts::TYPE_GROUP][$id]->title . ':' . self::$_text[mTexts::TYPE_EVENT][$k]->title, ); } } if (!$group->isEmpty()) $this->tree[] = $group; } } public function getEventTitle($id) { } /** * @param $id * @return absGameEvent|false */ public function getEvent($id) { if (array_key_exists($id, $this->events)) { return $this->events[$id]; } return false; } public function getMain() { return $this->tree[0] ?? null; } public function eventsList() { return $this->events; } public function updateHold($id, $val) { $this->reload(); $col = $this->collection->getHold($this->_siteId); $this->hold[$id] = $val; $this->data[$id] = $val; $col->set(serialize($this->hold)); $this->save(); } public function getTTL(){ $hold =$this->collection->getHold($this->_siteId); return $hold->getTTL(); } public function isHold($id) { return array_key_exists($id, $this->hold); } public function hasHold() { return !empty($this->hold); } public function getEvents() { return $this->tree; } } class gameEventGroups { const TYPE_SINGLE = 'single'; const TYPE_MULTI = 'multi'; protected $_id; protected $_items = array(); protected $_text; protected $_title; protected $_type; public function __construct($id, $text, $title) { $this->_id = $id; $this->_text = $text; $this->_title = $title; } /** * @param absGameEvent $event */ public function addEvent($event) { $this->_items[] = $event; } /** * @return mixed */ public function getId() { return $this->_id; } public function getText() { return $this->_text; } public function getTitle() { return $this->_title; } public function setSingle() { $this->_type = self::TYPE_SINGLE; } public function setMulti() { $this->_type = self::TYPE_MULTI; } public function isMulti() { return $this->_type === self::TYPE_MULTI; } public function getType() { return $this->_type; } public function getCount() { return count($this->_items); } public function items() { return $this->_items; } public function isEmpty() { return count($this->_items) === 0; } } /** * Class gameEventSingle * @package App\Entity */ class gameEventSingle extends absGameEvent { public function val() { return $this->e->getValue($this->data['i']); } } class gameEventsMulti extends absGameEvent { /** @var eGameEvents */ protected $e; protected $items = array(); public function addItem($id, $param) { $this->items[$id] = $param; } public function getItems(): array { $resp = array(); foreach ($this->items as $k => $v) { $resp[] = (object)array( 'i' => $k, 't' => str_replace('!!', $v, $this->t), 's' => str_replace('!!', $v, $this->s), 'v' => $this->e->getValue($k), ); } return $resp; } public function isEmpty() { return count($this->items) === 0; } } /** * Class absGameEvent * @package App\Entity * * @property integer $i * @property string $t Text for btn title * @property string $s Short text on btn */ abstract class absGameEvent { protected $data; /** @var eGameEvents */ protected $e; /** * gameEventSingle constructor. * @param eGameEvents $e * @param array $data */ public function __construct($e, $data) { $this->e = $e; $this->data = $data; } public function __get($name) { return $this->data[$name]; } } |
#1 | App\Entity\eGameEvents->__construct(880689, null) /var/www/bet/app/entity/eHelp.php (381) <?php /** * Created by PhpStorm. * User: gm * Date: 20.07.18 * Time: 11:18 */ namespace App\Entity; use Carbon\Carbon; use Mod\mCurrency; use Mod\mPages; use Mod\mSites; use Mod\mUserPayouts; use ModSrv\mAclResources; use Phalcon\Di; use Phalcon\Mvc\User\Plugin; use Srv\SrvTag; use Srv\SrvTag as S; use Srv\sSession; use Srv\TraitHelper; use Srv\TraitTranslate; class eHelp extends Plugin { use TraitHelper; // use TraitTranslate; static protected $_lang = 'en'; protected $_tzVal; protected $_tzLoc; protected $_formats = array( 'time' => 'H:i:s', 'date' => 'Y-m-d', 'fullInline' => 'Y-m-d H:i:s', 'fullMulti' => 'Y-m-d<\b\r/>H:i:s', 'short' => 'd.m H:i', 'shortDate' => 'd.m', ); /** * @return float|int */ public function getTzVal() { return $this->_tzVal; } /** * @param float|int $tzVal * * @return eHelp */ public function setTzVal($tzVal): eHelp { $tzName = timezone_name_from_abbr(NULL, $tzVal, TRUE); $this->_tzLoc = new \DateTimeZone($tzName); $this->_tzVal = $tzVal; return $this; } public function workLink($userId, $url, $text, $params = array()) { if ($this->sSession->isAdmin() || $this->sCache->isWorkUser($userId)) { return S::linkTo($url, $text, $params); } return ''; } public function urlFor($route, $opt = array()) { $opt['for'] = $route; $opt['lang']=self::$_lang; return $this->url->get($opt); } public function urlPage($page) { $opt = array( 'for' => 'static', 'lang'=>self::$_lang, 'page' => $page, ); return $this->url->get($opt, null, true); } public function sLink($url, $title, $ico, $class = 'primary', $onClick = NULL) { $params = array( 'class' => 'btn btn-sm btn-' . $class, 'title' => $title, 'href' => (is_array($url)) ? $this->url->get($url) : $url, ); if (NULL !== $onClick) $params['onclick'] = $onClick; return S::tagHtml('a', $params) . '<i class="fas fa-' . $ico . '"></i>' . S::tagHtmlClose('a'); } public function btnParams($click, $title = '', $class = 'primary') { return array( 'class' => 'btn btn-sm btn-' . $class, 'onClick' => $click, 'title' => $title, 'type' => 'button', ); } public static function showNumber($value, $decimals = 2) { return number_format($value, $decimals); } public function btn($text, $params = array()) { return S::tagHtml('button', $params) . $text . S::tagHtmlClose('button'); } public function workBtn($userId, $text, $params = array(), $acl = FALSE) { if ($this->sCache->isWorkUser($userId) || (FALSE !== $acl && $this->acl->isAllowed(mAclResources::RESOURCE_ACCESS, $acl))) { return $this->btn($text, $params); } return ''; } public function geo($ip) { if (NULL !== $ip) { $geo = $this->_geo($ip); return $ip . '<br/>' . $geo->country->name . '/' . $geo->city->name; } return ''; } public function dFormat($format, $time = 'now') { $date = new Carbon($time); $date->setTimezone($this->_tzLoc); return $date->formatLocalized($format); } public function dTimeZone() { $zone = $this->sSession->getTZ()->id; $tz = $this->sCache->timezone($zone); return isset($tz->timezone) ? $tz->timezone : '+3'; } public function dTimeZoneValue($id) { $tz = $this->sCache->timezone($id); return $tz->timezone; } public function dBet($val, $multi = FALSE) { $date = Carbon::createFromTimestamp($val); $date->setTimezone($this->_tzLoc); $resp = $date->formatLocalized('%a %e %b'); $resp .= (TRUE === $multi) ? '<br/>' : ' '; $resp .= $date->formatLocalized('%H:%M'); return $resp; } public function dTime($val) { return $this->_date($this->_formats['time'], $val); } public function dDate($val) { return $this->_date($this->_formats['date'], $val); } public function dShort($val) { return $this->_date($this->_formats['short'], $val); } public function dShortDate($val) { return $this->_date($this->_formats['shortDate'], $val); } public function _date($format, $val) { if (NULL !== $val) return date($format, (int)$val + $this->_tzVal); } public function dFull($val, $multi = FALSE) { return $this->_date($this->_formats[(TRUE === $multi) ? 'fullMulti' : 'fullInline'], $val); } public function isDev() { return isDev; } public function ds($id) { $list = $this->sCache->siteList(TRUE); if (NULL === $id || !isset($list[$id])) return 'Нет'; $s = $list[$id]; $class = array( mSites::PLATFORM_BET => 'success', mSites::PLATFORM_BANK => 'warning', mSites::PLATFORM_OUT => 'info', ); return '<span class="badge badge-' . $class[$s->platform] . '" title="' . $s->name . '">' . $s->short . '</span>'; } public function site($param = NULL) { /** @var \Phalcon\Config\Adapter\Json $site */ $site = $this->getDI()->get('site'); if (NULL === $param) return $site; return $site->get($param); } public function currencySym($currency = NULL, $getBlock = FALSE) { $key = 'Currencies:' . self::_getLang()->getLang(); if (!$this->cache->exists($key)) { $list = mCurrency::find(); $rows = array(); foreach ($list as $l) { $name = self::l('currency.' . $l->getKey()); $rows[$l->getId()] = (object)array( 'title' => $name . ' (' . $l->getKey() . ')', 'text' => self::t('currencySym', $l->getId()), 'block' => '<span class="currency" title="' . $name . ' (' . $l->getKey() . ')' . '">' . self::t('currencySym', $l->getId()) . '</span>', ); } $this->cache->save($key, $rows); } if (NULL === $currency && FALSE === $getBlock) return $this->cache->get($key); $list = $this->cache->get($key)[$currency]; return (TRUE === $getBlock) ? $list->block : $list; } public function badgeMoney($value, $operation, $currency = 840) { $val = $this->money($value, $currency); switch ($operation) { case 'Add': return '<span class="badge badge-success">+ ' . $val . '</span>'; break; case 'Sub': return '<span class="badge badge-danger">- ' . $val . '</span>'; break; default: return $val; } } public function textMoney($value, $operation, $currency = 840) { $val = $this->money($value, $currency); switch ($operation) { case 'Add': return '<span class="text-success">+ ' . $val . '</span>'; break; case 'Sub': return '<span class="text-danger">- ' . $val . '</span>'; break; default: return $val; } } public function money($value, $currency = 840) { return number_format($value, 2, '.', ' ') . ' ' . $this->currencySym($currency, TRUE); } public function price($value) { return number_format($value, 2, '.', ' '); } public function bonus($count = 3) { $rows = mPages::query() ->columns(array( 'url', 'short_text as text', 'title' )) ->where('status = :s: AND type = :t:', [ 's' => mPages::STATUS_PUBLIC, 't' => mPages::TYPE_BONUS ]) ->limit($count) ->orderBy('sort') ->execute(); return $rows; } public function dWorker($id) { $list = $this->sCache->fullWorkerList(); if (NULL === $id || !isset($list[$id])) return 'Нет'; return '<span class="badge badge-primary" title="Сотрудник">' . $list[$id]->nickname . '</span>'; } public function timeout($time) { $d = (new \DateTime())->setTimestamp($time); $interval = $d->diff(new \DateTime("now")); $res = ""; if ($interval->m !== 0) { $res = ($interval->m . " м. "); } if ($interval->d !== 0) { $res .= ($interval->d . " д. "); } if ($interval->h !== 0) { $res .= ($interval->h . " ч. "); } if ($interval->i !== 0) { if ($interval->m == 0) { $res .= ($interval->i . " мин. "); } } if ($interval->s !== 0) { if ($interval->d == 0) { $res .= ($interval->s . " сек. "); } return $res; } } public function ttl($sec) { $minutes = floor(($sec % 3600) / 60); $seconds = $sec % 60; return "{$minutes}м {$seconds}с"; } public function userOnlineStatus($userId) { $ttl = $this->redis->ttl('UserOnline:' . $userId); $isOnline = FALSE; $title = 'Был в сети более 30 мин назад'; if (-2 !== $ttl) { if (sSession::TTL_ONLINE - 300 < $ttl) { $isOnline = TRUE; $title = 'Онлайн'; } elseif (sSession::TTL_ONLINE - 600 < $ttl) { $isOnline = TRUE; $title = 'Был в сети до 10 мин'; } elseif (sSession::TTL_ONLINE - 1200 < $ttl) { $title = 'Был в сети до 20 мин'; } else { $title = 'Был в сети до 30 мин'; } } return '<span class="badge badge-' . ($isOnline ? 'success' : 'default') . '" title="' . $title . '"><i class="fa fa-user"></i></span>'; // return '<span class="badge badge-' . ($isOnline ? 'success' : 'default') . '" title="Пользователь ' . ($isOnline ? 'Онлайн' : 'ОффЛайн') . '"><i class="fa fa-user"></i></span>'; // return ; } /** * @return self */ static public function inst() { return Di::getDefault()->get('eHelp'); } public function events($id, $siteId = NULL) { return new eGameEvents($id, $siteId); } public function helpBtn($block) { $params = array( 'onclick' => 'initPopover(this)', 'type' => 'button', 'class' => 'btn btn-info btn-sm help', 'data-help' => $block, 'tabindex' => 0, ); return S::tagHtml('button', $params) . '<i class="fas fa-info"></i>' . S::tagHtmlClose('button'); } public function providerName($id) { $providers = array_column($this->cfgProviders['casino'], 'title', 'id'); return $providers[$id]; } public function payout($balanceId) { $payout = mUserPayouts::findFirst(array( 'balance_id = :b:', 'bind' => [ 'b' => $balanceId ] )); return $payout; } public function options() { return $this->getDI()->get('cfgOptions'); } } |
#2 | App\Entity\eHelp->events(880689) /var/www/bet/sandbox/cache/_var_www_bet_templates_24sportbet_index_index.volt.compile (48) <?= $this->partial('game-list') ?> <?= $this->tag->stylesheetLink('vendors/chief-slider/chief-slider.min.css') ?> <main> <hr/> <section class="index-banner"> <div class="slider__container"> <div class="slider__wrapper"> <div class="slider__items"> <?php foreach ($bonuses as $item) { ?> <div class="slider__item"> <?= $item->getShortText() ?> </div> <?php } ?> </div> </div> <a href="#" class="slider__control" data-slide="prev"></a> <a href="#" class="slider__control" data-slide="next"></a> <ol class="slider__indicators"> <?php $v103720525262501222101iterator = $bonuses; $v103720525262501222101incr = 0; $v103720525262501222101loop = new stdClass(); $v103720525262501222101loop->self = &$v103720525262501222101loop; $v103720525262501222101loop->length = count($v103720525262501222101iterator); $v103720525262501222101loop->index = 1; $v103720525262501222101loop->index0 = 1; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - 1; ?><?php foreach ($v103720525262501222101iterator as $b) { ?><?php $v103720525262501222101loop->first = ($v103720525262501222101incr == 0); $v103720525262501222101loop->index = $v103720525262501222101incr + 1; $v103720525262501222101loop->index0 = $v103720525262501222101incr; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length - $v103720525262501222101incr; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - ($v103720525262501222101incr + 1); $v103720525262501222101loop->last = ($v103720525262501222101incr == ($v103720525262501222101loop->length - 1)); ?> <li data-slide-to="<?= $v103720525262501222101loop->index ?>"></li> <?php $v103720525262501222101incr++; } ?> </ol> </div> </section> <hr/> <section class="index-games"> <div class="slider__container"> <div class="slider__wrapper"> <div class="slider__items"> <?php $v103720525262501222101iterator = $games; $v103720525262501222101incr = 0; $v103720525262501222101loop = new stdClass(); $v103720525262501222101loop->self = &$v103720525262501222101loop; $v103720525262501222101loop->length = count($v103720525262501222101iterator); $v103720525262501222101loop->index = 1; $v103720525262501222101loop->index0 = 1; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - 1; ?><?php foreach ($v103720525262501222101iterator as $g) { ?><?php $v103720525262501222101loop->first = ($v103720525262501222101incr == 0); $v103720525262501222101loop->index = $v103720525262501222101incr + 1; $v103720525262501222101loop->index0 = $v103720525262501222101incr; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length - $v103720525262501222101incr; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - ($v103720525262501222101incr + 1); $v103720525262501222101loop->last = ($v103720525262501222101incr == ($v103720525262501222101loop->length - 1)); ?> <div class="slider__item"> <div class="index-games--game"> <div class="index-games--category"> <span class="sport-icons c-<?= $g->sport_id ?>"></span> <h4><a href="<?= $g->url ?>"><?= $g->title ?></a></h4> </div> <div class="index-games--players"> <div> <img src="<?= $this->tag->cLink('logoTeams', $g->p1logo) ?>"> <h4><?= $g->p1title ?></h4> </div> <div> <img src="<?= $this->tag->cLink('logoTeams', $g->p2logo) ?>"> <h4><?= $g->p2title ?></h4> </div> </div> <?= $this->callMacro('showGameEvents', [$this->eHelp->events($g->id), $g->id]) ?> </div> </div> <?php $v103720525262501222101incr++; } ?> </div> </div> <a href="#" class="slider__control" data-slide="prev"></a> <a href="#" class="slider__control" data-slide="next"></a> <ol class="slider__indicators"> <?php $v103720525262501222101iterator = $games; $v103720525262501222101incr = 0; $v103720525262501222101loop = new stdClass(); $v103720525262501222101loop->self = &$v103720525262501222101loop; $v103720525262501222101loop->length = count($v103720525262501222101iterator); $v103720525262501222101loop->index = 1; $v103720525262501222101loop->index0 = 1; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - 1; ?><?php foreach ($v103720525262501222101iterator as $g) { ?><?php $v103720525262501222101loop->first = ($v103720525262501222101incr == 0); $v103720525262501222101loop->index = $v103720525262501222101incr + 1; $v103720525262501222101loop->index0 = $v103720525262501222101incr; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length - $v103720525262501222101incr; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - ($v103720525262501222101incr + 1); $v103720525262501222101loop->last = ($v103720525262501222101incr == ($v103720525262501222101loop->length - 1)); ?> <li data-slide-to="<?= $v103720525262501222101loop->index ?>"></li> <?php $v103720525262501222101incr++; } ?> </ol> </div> </section> <hr/> <section class="index-casino"> <div class="slider__container"> <div class="slider__wrapper"> <div class="slider__items"> <?php $v103720525262501222101iterator = $this->sCache->indexCasino(); $v103720525262501222101incr = 0; $v103720525262501222101loop = new stdClass(); $v103720525262501222101loop->self = &$v103720525262501222101loop; $v103720525262501222101loop->length = count($v103720525262501222101iterator); $v103720525262501222101loop->index = 1; $v103720525262501222101loop->index0 = 1; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - 1; ?><?php foreach ($v103720525262501222101iterator as $g) { ?><?php $v103720525262501222101loop->first = ($v103720525262501222101incr == 0); $v103720525262501222101loop->index = $v103720525262501222101incr + 1; $v103720525262501222101loop->index0 = $v103720525262501222101incr; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length - $v103720525262501222101incr; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - ($v103720525262501222101incr + 1); $v103720525262501222101loop->last = ($v103720525262501222101incr == ($v103720525262501222101loop->length - 1)); ?> <div class="slider__item casino-block"> <div> <img src="<?= Srv\SrvTag::cLink('c', '/img-games/' . $g->img) ?>"> <div class="ci"> <?= $this->tag->linkTo([['for' => 'casino-play', 'game' => $g->sys], Srv\sLang::_t('casino.play'), 'class' => 'cir']) ?> <?= $this->tag->linkTo([['for' => 'casino-demo', 'game' => $g->sys], Srv\sLang::_t('casino.demo'), 'class' => 'cid']) ?> </div> <p><?= $g->title ?></p> </div> </div> <?php $v103720525262501222101incr++; } ?> </div> </div> <a href="#" class="slider__control" data-slide="prev"></a> <a href="#" class="slider__control" data-slide="next"></a> <ol class="slider__indicators"> <?php $v103720525262501222101iterator = $this->sCache->indexCasino(); $v103720525262501222101incr = 0; $v103720525262501222101loop = new stdClass(); $v103720525262501222101loop->self = &$v103720525262501222101loop; $v103720525262501222101loop->length = count($v103720525262501222101iterator); $v103720525262501222101loop->index = 1; $v103720525262501222101loop->index0 = 1; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - 1; ?><?php foreach ($v103720525262501222101iterator as $g) { ?><?php $v103720525262501222101loop->first = ($v103720525262501222101incr == 0); $v103720525262501222101loop->index = $v103720525262501222101incr + 1; $v103720525262501222101loop->index0 = $v103720525262501222101incr; $v103720525262501222101loop->revindex = $v103720525262501222101loop->length - $v103720525262501222101incr; $v103720525262501222101loop->revindex0 = $v103720525262501222101loop->length - ($v103720525262501222101incr + 1); $v103720525262501222101loop->last = ($v103720525262501222101incr == ($v103720525262501222101loop->length - 1)); ?> <li data-slide-to="<?= $v103720525262501222101loop->index ?>"></li> <?php $v103720525262501222101incr++; } ?> </ol> </div> </section> <hr/> </main> <div id="coupon"> <div class="coupon"> <div id="c-bets"></div> <div class="coupon-footer"> <a href="#" class="knopka10" onclick="return bets.make(this);"><?= Srv\sLang::_t('Сделать ставку') ?></a> </div> </div> </div> <?= $this->tag->javascriptInclude('vendors/chief-slider/chief-slider.min.js') ?> <script type="text/javascript"> let sliders = {}; n.ready(function () { const sliderOptions = { loop: true, autoplay: <?= ($this->eHelp->isDev() ? 'false' : 'true') ?>, interval: 5000, refresh: true, swipe: true, }; sliders.banner = new ChiefSlider('.index-banner', sliderOptions); sliders.games = new ChiefSlider('.index-games', sliderOptions); sliders.casino = new ChiefSlider('.index-casino', sliderOptions); }); </script> |
#3 | unknown |
#4 | Phalcon\Mvc\View\Engine\Volt->render(/var/www/bet/templates/24sportbet/index/index.volt, Array([isMobile] => , [activeRoute] => index-index, [footerTmpl] => footer, [isGuest] => 1, [indexPages] => Array([about] => О нас, [contacts] => Контакты, [rules] => Правила, [security] => Безопасность, [confidencial] => Политика конфиденциальности, [kyc] => ПОЛИТИКА AML/KYC ), [bonuses] => Object(Phalcon\Mvc\Model\Resultset\Simple), [games] => Object(Phalcon\Mvc\Model\Resultset\Simple)), true) |
#5 | Phalcon\Mvc\View->_engineRender(Array([.volt] => Object(Phalcon\Mvc\View\Engine\Volt), [.phtml] => Object(Phalcon\Mvc\View\Engine\Php)), index/index, true, true, null) |
#6 | Phalcon\Mvc\View->render(index, index) |
#7 | Phalcon\Mvc\Application->handle() /var/www/bet/public/index.php (22) <?php error_reporting(E_ALL); define('PROFILER', FALSE); /** * The FactoryDefault Dependency Injector automatically registers the right services to provide a full stack framework */ if (isset($_COOKIE['appDev']) && '4b3f212e06d1f763bac5b35074156b4f' === $_COOKIE['appDev']) defined('isDev') || define('isDev', true); require_once __DIR__ . '/../autoload.php'; //try { require_once __DIR__ . '/../config/bootstrap.php'; $dev = (isDev || (isset($_COOKIE['appDev']) && '4b3f212e06d1f763bac5b35074156b4f' === $_COOKIE['appDev'])); $boot = new Bootstrap(); $application = $boot->getApp(); $debug = new \Phalcon\Debug(); $debug->setUri('/debug/'); $debug->listen(TRUE, TRUE); /** @var \Phalcon\Http\Response $resp */ $resp = $application->handle(); if (!$resp->isSent()) { $resp->send(); } //} catch (\Phalcon\Exception $e) { // $resp = $application->response; // if (!$resp->isSent()) { // $resp->setStatusCode(500)->send(); // } //} catch (\Exception $e) { // //} |
Key | Value |
---|---|
_url | / |
Key | Value |
---|---|
USER | admin |
HOME | /home/admin |
HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
HTTP_COOKIE | PHPSESSID=34qnpciu1puk77p3ku721nd69i |
HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
HTTP_ACCEPT | */* |
HTTP_CONNECTION | close |
HTTP_X_FORWARDED_FOR | 3.146.176.29 |
HTTP_X_REAL_IP | 3.146.176.29 |
HTTP_HOST | melbetaje.top |
SCRIPT_FILENAME | /var/www/bet/public/index.php |
PATH_TRANSLATED | /var/www/bet/public |
PATH_INFO | |
REDIRECT_STATUS | 200 |
SERVER_NAME | |
SERVER_PORT | 88 |
SERVER_ADDR | 127.0.0.1 |
REMOTE_PORT | 38420 |
REMOTE_ADDR | 127.0.0.1 |
SERVER_SOFTWARE | nginx/1.14.0 |
GATEWAY_INTERFACE | CGI/1.1 |
REQUEST_SCHEME | http |
SERVER_PROTOCOL | HTTP/1.0 |
DOCUMENT_ROOT | /var/www/bet/public |
DOCUMENT_URI | /index.php |
REQUEST_URI | / |
SCRIPT_NAME | /index.php |
CONTENT_LENGTH | |
CONTENT_TYPE | |
REQUEST_METHOD | GET |
QUERY_STRING | _url=/ |
FCGI_ROLE | RESPONDER |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1743624272.5919 |
REQUEST_TIME | 1743624272 |
# | Path |
---|---|
0 | /var/www/bet/public/index.php |
1 | /var/www/bet/autoload.php |
2 | /var/www/bet/config/autoload.php |
3 | /var/www/bet/vendor/autoload.php |
4 | /var/www/bet/vendor/composer/autoload_real.php |
5 | /var/www/bet/vendor/composer/platform_check.php |
6 | /var/www/bet/vendor/composer/ClassLoader.php |
7 | /var/www/bet/vendor/composer/autoload_static.php |
8 | /var/www/bet/vendor/symfony/deprecation-contracts/function.php |
9 | /var/www/bet/vendor/symfony/polyfill-php80/bootstrap.php |
10 | /var/www/bet/vendor/symfony/polyfill-mbstring/bootstrap.php |
11 | /var/www/bet/vendor/react/promise/src/functions_include.php |
12 | /var/www/bet/vendor/react/promise/src/functions.php |
13 | /var/www/bet/vendor/ralouphie/getallheaders/src/getallheaders.php |
14 | /var/www/bet/vendor/guzzlehttp/psr7/src/functions_include.php |
15 | /var/www/bet/vendor/guzzlehttp/psr7/src/functions.php |
16 | /var/www/bet/vendor/symfony/polyfill-ctype/bootstrap.php |
17 | /var/www/bet/vendor/symfony/polyfill-intl-grapheme/bootstrap.php |
18 | /var/www/bet/vendor/symfony/polyfill-intl-normalizer/bootstrap.php |
19 | /var/www/bet/vendor/guzzlehttp/guzzle/src/functions_include.php |
20 | /var/www/bet/vendor/guzzlehttp/guzzle/src/functions.php |
21 | /var/www/bet/vendor/symfony/polyfill-php73/bootstrap.php |
22 | /var/www/bet/vendor/symfony/polyfill-php73/Php73.php |
23 | /var/www/bet/vendor/symfony/string/Resources/functions.php |
24 | /var/www/bet/vendor/symfony/var-dumper/Resources/functions/dump.php |
25 | /var/www/bet/vendor/psy/psysh/src/functions.php |
26 | /var/www/bet/vendor/sabre/uri/lib/functions.php |
27 | /var/www/bet/vendor/symfony/translation/Resources/functions.php |
28 | /var/www/bet/vendor/phalcon/dd/src/helper.php |
29 | /var/www/bet/vendor/sabre/xml/lib/Deserializer/functions.php |
30 | /var/www/bet/vendor/sabre/xml/lib/Serializer/functions.php |
31 | phar:///var/www/Dev/GM.phar/autoload.php |
32 | /var/www/bet/config/bootstrap.php |
33 | /var/www/bet/config/config.php |
34 | /var/www/bet/config/host-melbetaje.top.php |
35 | /var/www/bet/app/models/mSites.php |
36 | /var/www/bet/app/models/absModel.php |
37 | phar:///var/www/Dev/GM.phar/trait/TraitEvents.php |
38 | /var/www/bet/app/services/sTransl.php |
39 | /var/www/bet/translations/ru.php |
40 | /var/www/bet/app/models/mUserRefill.php |
41 | /var/www/bet/app/models/mUsers.php |
42 | /var/www/bet/app/services/TraitHelper.php |
43 | /var/www/bet/app/modServer/mWorkRequest.php |
44 | /var/www/bet/app/modServer/absModel.php |
45 | /var/www/bet/app/modServer/mWorkRequestQuery.php |
46 | /var/www/bet/app/modCasino/mGames.php |
47 | /var/www/bet/app/modCasino/absModel.php |
48 | /var/www/bet/app/modCasino/TSetField.php |
49 | /var/www/bet/app/modCasino/mFree.php |
50 | /var/www/bet/library/payments/payInterkassa.php |
51 | /var/www/bet/library/payments/AbsPaymentService.php |
52 | /var/www/bet/library/payments/payFreeKassa.php |
53 | /var/www/bet/app/models/mEmailTemplates.php |
54 | /var/www/bet/app/models/mUserInvites.php |
55 | /var/www/bet/app/models/mUserOptions.php |
56 | /var/www/bet/app/models/mUserBalance.php |
57 | /var/www/bet/app/models/mUserPayouts.php |
58 | /var/www/bet/app/modEvents/mGames.php |
59 | /var/www/bet/app/modEvents/absModel.php |
60 | /var/www/bet/app/models/mUserBets.php |
61 | /var/www/bet/app/models/mPages.php |
62 | /var/www/bet/app/models/mPromo.php |
63 | /var/www/bet/app/models/mPromoBonuses.php |
64 | /var/www/bet/app/models/mUserPromo.php |
65 | /var/www/bet/config/events.php |
66 | /var/www/bet/config/routes.php |
67 | /var/www/bet/config/route-user.php |
68 | /var/www/bet/app/services/sSession.php |
69 | /var/www/bet/library/JsonConfigEdit.php |
70 | /var/www/bet/app/models/mLang.php |
71 | /var/www/bet/app/services/sLang.php |
72 | /var/www/bet/app/main/Module.php |
73 | /var/www/bet/app/main/controllers/IndexController.php |
74 | /var/www/bet/library/absUserController.php |
75 | /var/www/bet/library/absController.php |
76 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Carbon.php |
77 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Date.php |
78 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php |
79 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php |
80 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php |
81 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/ToStringFormat.php |
82 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php |
83 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/ObjectInitialisation.php |
84 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php |
85 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php |
86 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php |
87 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/MagicParameter.php |
88 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php |
89 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php |
90 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php |
91 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Options.php |
92 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php |
93 | /var/www/bet/vendor/symfony/translation-contracts/TranslatorInterface.php |
94 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php |
95 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/IntervalRounding.php |
96 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php |
97 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Test.php |
98 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php |
99 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Units.php |
100 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Traits/Week.php |
101 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php |
102 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Translator.php |
103 | /var/www/bet/vendor/symfony/translation/Translator.php |
104 | /var/www/bet/vendor/symfony/translation/MessageCatalogue.php |
105 | /var/www/bet/vendor/symfony/translation/MessageCatalogueInterface.php |
106 | /var/www/bet/vendor/symfony/translation/MetadataAwareInterface.php |
107 | /var/www/bet/vendor/symfony/translation/TranslatorBagInterface.php |
108 | /var/www/bet/vendor/symfony/translation-contracts/LocaleAwareInterface.php |
109 | /var/www/bet/vendor/nesbot/carbon/lazy/Carbon/TranslatorWeakType.php |
110 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/AbstractTranslator.php |
111 | /var/www/bet/vendor/symfony/translation/Loader/ArrayLoader.php |
112 | /var/www/bet/vendor/symfony/translation/Loader/LoaderInterface.php |
113 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/MessageFormatter/MessageFormatterMapper.php |
114 | /var/www/bet/vendor/symfony/translation/Formatter/MessageFormatterInterface.php |
115 | /var/www/bet/vendor/nesbot/carbon/lazy/Carbon/MessageFormatter/MessageFormatterMapperStrongType.php |
116 | /var/www/bet/vendor/symfony/translation/Formatter/MessageFormatter.php |
117 | /var/www/bet/vendor/symfony/translation/Formatter/IntlFormatter.php |
118 | /var/www/bet/vendor/symfony/translation/Formatter/IntlFormatterInterface.php |
119 | /var/www/bet/vendor/symfony/translation/IdentityTranslator.php |
120 | /var/www/bet/vendor/symfony/translation-contracts/TranslatorTrait.php |
121 | /var/www/bet/vendor/symfony/polyfill-php80/Php80.php |
122 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Lang/en.php |
123 | /var/www/bet/vendor/nesbot/carbon/src/Carbon/Lang/ru.php |
124 | /var/www/bet/app/services/sCache.php |
125 | /var/www/bet/app/entity/eHelp.php |
126 | /var/www/bet/app/services/SrvTag.php |
127 | /var/www/bet/app/services/TraitTranslate.php |
128 | /var/www/bet/app/modEvents/mCategories.php |
129 | /var/www/bet/app/modEvents/mPlayers.php |
130 | /var/www/bet/sandbox/cache/_var_www_bet_templates_24sportbet_index_index.volt.compile |
131 | /var/www/bet/sandbox/cache/_var_www_bet_templates_24sportbet_partials_game-list.volt.compile |
132 | /var/www/bet/app/entity/eGameEvents.php |
133 | /var/www/bet/app/entity/eUserCache.php |
134 | /var/www/bet/app/entity/absCacheRedis.php |
135 | /var/www/bet/app/collections/cEventFull.php |
136 | /var/www/bet/app/collections/absCollection.php |
137 | /var/www/bet/app/collections/cEventHold.php |
Memory | |
---|---|
Usage | 2097152 |