%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.118.142.17 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/lib/update/ |
Upload File : |
<? namespace Bitrix\Main\Update; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Config\Option; Loc::loadMessages(__FILE__); final class UserSelectorStepper extends Stepper { const OPTION_NAME = "main_index_user_selector"; protected static $moduleId = "main"; /** * @inheritdoc */ public function execute(array &$result) { $return = false; $params = Option::get(self::$moduleId, self::OPTION_NAME, ""); $params = ($params !== "" ? @unserialize($params, ['allowed_classes' => false]) : array()); $params = (is_array($params) ? $params : array()); if (empty($params)) { $params = array( "lastId" => 0, "number" => 0, "count" => \Bitrix\Main\UserTable::getCount(), ); } if ($params["count"] > 0) { $result["title"] = Loc::getMessage("MAIN_UPDATE_USER_INDEX_SELECTOR"); $result["progress"] = 1; $result["steps"] = ""; $result["count"] = $params["count"]; $cursor = \Bitrix\Main\UserTable::getList(array( 'order' => array('ID' => 'ASC'), 'filter' => array( '>ID' => $params["lastId"], ), 'select' => array('ID'), 'offset' => 0, 'limit' => 100 )); $found = false; while ($row = $cursor->fetch()) { \Bitrix\Main\UserTable::indexRecordSelector($row['ID']); $params["lastId"] = $row['ID']; $params["number"]++; $found = true; } if ($found) { Option::set(self::$moduleId, self::OPTION_NAME, serialize($params)); $return = true; } $result["progress"] = intval($params["number"] * 100/ $params["count"]); $result["steps"] = $params["number"]; if ($found === false) { Option::delete(self::$moduleId, array("name" => self::OPTION_NAME)); Option::set("main", "user_selector_content_indexed", "Y"); } } return $return; } } ?>