uawdijnntqw1x1x1
IP : 3.128.190.174
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
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,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
kirov.axolotls.ru
/
bitrix
/
modules
/
tasks
/
lib
/
util.php
/
/
<? /** * Namespace contains functions\classes for different purposes * See also * tasks/classes/general/tasktools.php * tasks/tools.php */ namespace Bitrix\Tasks; use Bitrix\Main\Application; use Bitrix\Main\Config\Option; class Util { public static function trim($arg) { $arg = (string) $arg; if($arg == '') { return $arg; } $arg = trim($arg); // remove that annoying undying sequences from wysiwyg $pattern = '/(^((\x20)?(\xc2)?\xa0(\x20)?)+|((\x20)?(\xc2)?\xa0(\x20)?)+$)/'; if (LANG_CHARSET == 'UTF-8') { $pattern .= 'u'; } $arg = preg_replace($pattern, '', $arg); return $arg; } public static function escape($arg) { if(is_array($arg)) { foreach($arg as $i => $value) { $arg[$i] = static::escape($value); } return $arg; } else { if(is_numeric($arg) && !is_string($arg)) { return $arg; } else { return htmlspecialcharsbx($arg); } } } // see BX.util.hashCode() public static function hashCode($str) { $str = (string) $str; if($str == '') { return 0; } $hash = 0; for ($i = 0; $i < mb_strlen($str); $i++) { $c = ord($str[$i]); $hash = (($hash << 5) - $hash) + $c; $hash = $hash & $hash; } return $hash; } public static function secureBackUrl($url) { return str_replace(array('//', '/\\'), '', (string) $url); } public static function replaceUrlParameters($url, array $paramsToAdd = array(), array $paramsToDelete = array(), array $options = array()) { // CHTTP::url*Params() functions does not like #placeholders# in url, so a little trick is needed $found = array(); preg_match_all("/#([a-zA-Z0-9_-]+)#/", $url, $found); $match = array(); if(is_array($found[1]) && !empty($found[1])) { foreach($found[1] as $holder) { $match['#'.$holder.'#'] = '__'.$holder.'__'; } } if(!empty($match)) { $url = str_replace(array_keys($match), $match, $url); } // to avoid adding duplicates and delete other params $url = \CHTTP::urlDeleteParams($url, array_merge(array_keys($paramsToAdd), $paramsToDelete)); $url = \CHTTP::urlAddParams($url, $paramsToAdd, $options); if(!empty($match)) { $match = array_flip($match); $url = str_replace(array_keys($match), $match, $url); } return $url; } public static function getParser(array $parameters = array()) { $parser = \Bitrix\Tasks\Integration\Forum::getParser($parameters); if($parser == null) { $parser = \Bitrix\Tasks\Integration\SocialNetwork::getParser($parameters); } if($parser == null) { $parser = new \CTextParser(); } if (isset($parameters["maxStringLen"])) { $parser->maxStringLen = intval($parameters["maxStringLen"]); } return $parser; } /** * Generate v4 UUID * Version 4 UUIDs are pseudo-random. * * @param bool $brackets * @return string */ public static function generateUUID($brackets = true) { $uuid = ''; if ($brackets) { $uuid .= '{'; } $uuid .= sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', // 32 bits for "time_low" mt_rand(0, 0xffff), mt_rand(0, 0xffff), // 16 bits for "time_mid" mt_rand(0, 0xffff), // 16 bits for "time_hi_and_version", // four most significant bits holds version number 4 mt_rand(0, 0x0fff) | 0x4000, // 16 bits, 8 bits for "clk_seq_hi_res", // 8 bits for "clk_seq_low", // two most significant bits holds zero and one for variant DCE1.1 mt_rand(0, 0x3fff) | 0x8000, // 48 bits for "node" mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff) ); if ($brackets) { $uuid .= '}'; } return ($uuid); } public static function getServerTimeZoneOffset() { $localTime = new \DateTime(); return $localTime->getOffset(); } /** * Gets portal create date in unix timestamp. * @return string */ public static function getPortalCreateTimestamp() { return (int)Option::get( 'main', '~controller_date_create' ); } public static function log($info) { $handler = Application::getInstance()->getExceptionHandler(); if(is_subclass_of($info, '\\Bitrix\\Main\\SystemException')) { $handler->writeToLog($info); } else { $handler->writeToLog(new \TasksException((string) $info)); } } public static function setOption($name, $value) { Option::set('tasks', $name, $value); } public static function getOption($name) { return Option::get('tasks', $name); } public static function unSetOption($name) { Option::delete('tasks', array('name' => $name)); } public static function printDebug($data) { if(function_exists('_dump_r')) { //_dump_r($data); } } public static function is_serialized($value, &$result = null) { // Bit of a give away this one if (!is_string($value)) { return false; } // Serialized false, return true. unserialize() returns false on an // invalid string or it could return false if the string is serialized // false, eliminate that possibility. if ($value === 'b:0;') { $result = false; return true; } $length = mb_strlen($value); $end = ''; switch ($value[0]) { case 's': if ($value[$length - 2] !== '"') { return false; } case 'b': case 'i': case 'd': // This looks odd but it is quicker than isset()ing $end .= ';'; case 'a': case 'O': $end .= '}'; if ($value[1] !== ':') { return false; } switch ($value[2]) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: break; default: return false; } case 'N': $end .= ';'; if ($value[$length - 1] !== $end[0]) { return false; } break; default: return false; } if (($result = @unserialize($value)) === false) { $result = null; return false; } return true; } }
/var/www/axolotl/data/www/kirov.axolotls.ru/bitrix/modules/tasks/lib/util.php