Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/skyweb24.popuppro/lib/ |
Upload File : |
<? namespace Skyweb24\Popuppro; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); trait Conditions { public function getConditions() { $conditionArr = $this->getConditionsPreset(); if ($this->idPopup != 'new') { $settings = $this->getSetting($this->idPopup); foreach ($conditionArr as $keyCond => &$valCond) { if ($keyCond == 'active' || $keyCond == 'alreadygoing') { $valCond = ($settings['condition'][$keyCond] == 'Y') ? true : false; } elseif ($keyCond == 'sites' || $keyCond == 'groups') { foreach ($valCond as $key => $val) { if (!empty($settings['condition'][$keyCond]) && in_array($val['id'], $settings['condition'][$keyCond])) { $valCond[$key]['active'] = true; } else { $valCond[$key]['active'] = false; } } } else { $valCond = $settings['condition'][$keyCond]; } } if (!empty($settings['contact'])) { $conditionArr['contact'] = $settings['contact']; } if (!empty($settings['timer'])) { $conditionArr['timer'] = $settings['timer']; } if (!empty($settings['roulett'])) { $conditionArr['roulett'] = $settings['roulett']; } if (!empty($settings['thimbles'])) { $conditionArr['thimbles'] = $settings['thimbles']; } $conditionArr['service_name'] = $settings['service_name']; } return $conditionArr; } private function getConditionsPreset() { $conditionArr = [ 'active' => false, 'sort' => 500, 'rule' => [] ]; if (\Bitrix\Main\Loader::IncludeModule("statistic")) { $conditionArr['groups'][] = [ 'active' => false, 'id' => 'firstvisit', 'name' => GetMessage("skyweb24.popuppro_CONDITIONS_GROUPSFIRSTVISIT") ]; } $rsSites = \CSite::GetList( $by = "sort", $order = "desc" ); while ($arSite = $rsSites->Fetch()) { $conditionArr['sites'][] = [ 'active' => false, 'id' => $arSite['LID'], 'name' => $arSite['NAME'] ]; } $rsGroups = \CGroup::GetList( $by = "c_sort", $order = "asc", [] ); while ($arGroup = $rsGroups->Fetch()) { $conditionArr['groups'][] = [ 'active' => false, 'id' => $arGroup['ID'], 'name' => $arGroup['NAME'] ]; } if (\Bitrix\Main\Loader::includeModule('sale')) { $conditionArr['saleCountProduct'] = 0; $conditionArr['saleSummBasket'] = 0; $conditionArr['saleIDProdInBasket'] = 0; } return $conditionArr; } public static function getConditionValue($condition, $arName = []) { if($condition['controlId'] == "CondGroup") { if(!empty($condition['children'])) { foreach($condition['children'] as $child) { if($cond = self::getConditionValue($child, $arName)) { return $cond; } } } } else{ if(in_array($condition['controlId'], $arName)) { return $condition; } } } }