public static function register($data) { static::$error = false; $user = new static(); if (!$user->set($data)->success()) { static::$error = 'REGISTER_VALIDATION_FALSE'; return false; } $login = isset($data[static::ROW_LOGIN]) ? $data[static::ROW_LOGIN] : ''; if (!$login) { static::$error = 'REGISTER_NO_LOGIN'; return false; } $found = static::findBy(static::ROW_LOGIN, $login)->getFirst(); if ($found) { static::$error = 'REGISTER_DUBLICATE_USER'; return false; } $password = isset($data[static::ROW_PASSWORD]) ? $data[static::ROW_PASSWORD] : ''; if (!$password) { static::$error = 'REGISTER_NO_PASSWORD'; return false; } $user->{static::ROW_HASH_RESTORE} = static::makeHash(); $user->save(); return $user; }
public static function get_cached_image($image) { $instance = new static(); $instance->cached_image_directory = static::get_cache_directory(); if (!is_string($image)) { $instance->error('Image source given must be a string.'); } $instance->image_src = $image; $instance->pre_set_class_vars(); // If the image hasn't been server up at thi point, fetch, compress, cache, and return if ($instance->cached_file_exists()) { $instance->src_filesize = filesize($instance->image_src); $instance->cached_filesize = filesize($instance->cached_filename); if ($instance->src_filesize < $instance->cached_filesize) { return $instance->docroot_to_url($instance->image_src . '?' . md5_file($instance->image_src)); } return $instance->docroot_to_url(); } if ($instance->is_remote) { $instance->download_image(); } if (!$instance->fetch_image()) { $instance->error('Could not copy image resource.'); } $instance->src_filesize = filesize($instance->image_src); $instance->cached_filesize = filesize($instance->cached_filename); if ($instance->src_filesize < $instance->cached_filesize) { return $instance->docroot_to_url($instance->image_src . '?' . md5_file($instance->image_src)); } return $instance->docroot_to_url(); }
/** * Apply a configuration array * * @param array $configuration */ public static function setUp(array $configuration) { self::reset(); foreach ($configuration as $k => $v) { switch ($k) { case 'returnSize': static::$returnSize = $v; break; case 'reportedSize': static::$reportedSize = $v; break; case 'url': static::$url = $v; break; case 'errno': static::$errno = $v; break; case 'error': static::$error = $v; break; case 'httpstatus': static::$httpstatus = $v; break; } } }
/** * Helper method to set an internal error message. * * @param int $errorNumber Number of the error * @param string $errorMessage Description of the error * @return void */ protected static function _setError($errorNumber, $errorMessage) { if (static::$error === false) { static::$error = array(); } static::$error[$errorNumber] = $errorMessage; static::$lastError = $errorNumber; }
/** * Bind a callback when an error occurs. * @param callable $callback The callback to be binded to the route. If omitted triggers the callback. */ public static function error(callable $callback = null) { $callback ? is_callable($callback) && (static::$error = $callback) : static::$error && call_user_func(static::$error); }
/** * Decodes a NEON string. * @param string * @return mixed */ public static function decode($input) { if (!is_string($input)) { throw new Nette\InvalidArgumentException("Argument must be a string, " . gettype($input) . " given."); } if (!self::$tokenizer) { self::$tokenizer = new Tokenizer(self::$patterns, 'mi'); } $input = str_replace("\r", '', $input); self::$tokenizer->tokenize($input); $parser = new static(); $res = $parser->parse(0); while (isset(self::$tokenizer->tokens[$parser->n])) { if (self::$tokenizer->tokens[$parser->n][0] === "\n") { $parser->n++; } else { $parser->error(); } } return $res; }
/** * @param $mailingChainId * @return string */ public static function chainSend($mailingChainId) { static::$error = null; $mailingChainPrimary = array('ID' => $mailingChainId); $mailingChainDb = MailingChainTable::getById($mailingChainPrimary); $arMailingChain = $mailingChainDb->fetch(); if ($arMailingChain && $arMailingChain['STATUS'] == MailingChainTable::STATUS_SEND) { if (\COption::GetOptionString("sender", "auto_method") === 'cron') { $maxMailCount = 0; $timeout = 0; } else { $maxMailCount = \COption::GetOptionInt("sender", "max_emails_per_hit"); $timeout = \COption::GetOptionInt("sender", "interval"); } try { $postingSendStatus = PostingManager::send($arMailingChain['POSTING_ID'], $timeout, $maxMailCount); } catch (Exception $e) { static::$error = $e; } if (empty(static::$error) && $postingSendStatus !== PostingManager::SEND_RESULT_CONTINUE) { if ($arMailingChain['REITERATE'] == 'Y') { MailingChainTable::update($mailingChainPrimary, array('POSTING_ID' => null, 'STATUS' => MailingChainTable::STATUS_WAIT, 'AUTO_SEND_TIME' => null)); } else { MailingChainTable::update($mailingChainPrimary, array('STATUS' => MailingChainTable::STATUS_END)); } } else { return static::getAgentName($mailingChainId); } } return ""; }
/** * @param $mailingChainId * @return string */ public static function chainSend($mailingChainId) { static::$error = null; $mailingChainPrimary = array('ID' => $mailingChainId); $mailingChainDb = MailingChainTable::getById($mailingChainPrimary); $mailingChain = $mailingChainDb->fetch(); if ($mailingChain && $mailingChain['STATUS'] == MailingChainTable::STATUS_SEND) { if (\COption::GetOptionString("sender", "auto_method") === 'cron') { $maxMailCount = 0; $timeout = 0; } else { $maxMailCount = \COption::GetOptionInt("sender", "max_emails_per_hit"); $timeout = \COption::GetOptionInt("sender", "interval"); } $postingSendStatus = ''; if (!empty($mailingChain['POSTING_ID'])) { try { $postingSendStatus = PostingManager::send($mailingChain['POSTING_ID'], $timeout, $maxMailCount); } catch (Exception $e) { static::$error = $e; $postingSendStatus = PostingManager::SEND_RESULT_ERROR; } } if (empty(static::$error) && $postingSendStatus !== PostingManager::SEND_RESULT_CONTINUE) { if ($mailingChain['REITERATE'] == 'Y') { $mailingChainFields = array('STATUS' => MailingChainTable::STATUS_WAIT, 'AUTO_SEND_TIME' => null, 'POSTING_ID' => null); if ($mailingChain['IS_TRIGGER'] == 'Y') { $postingDb = PostingTable::getList(array('select' => array('ID', 'DATE_CREATE'), 'filter' => array('STATUS' => PostingTable::STATUS_NEW, 'MAILING_CHAIN_ID' => $mailingChain['ID']), 'order' => array('DATE_CREATE' => 'ASC'), 'limit' => 1)); if ($posting = $postingDb->fetch()) { $mailingChainFields['AUTO_SEND_TIME'] = $posting['DATE_CREATE']->add($mailingChain['TIME_SHIFT'] . ' minutes'); $mailingChainFields['STATUS'] = MailingChainTable::STATUS_SEND; $mailingChainFields['POSTING_ID'] = $posting['ID']; } } MailingChainTable::update($mailingChainPrimary, $mailingChainFields); $eventData = array('MAILING_CHAIN' => $mailingChain); $event = new \Bitrix\Main\Event('sender', 'OnAfterMailingChainSend', array($eventData)); $event->send(); } else { MailingChainTable::update($mailingChainPrimary, array('STATUS' => MailingChainTable::STATUS_END)); } } else { return static::getAgentName($mailingChainId); } } return ""; }
/** * Remove directory on FTP server * * @param string $directory * @return bool */ public function rmdir($directory = null) { // attempt remove dir if (ftp_rmdir(static::$_stream, $directory)) { // success return true; // fail } else { static::$error = "Failed to remove directory \"{$directory}\""; return false; } }
/** * Set the error messages array - probably translations * * @param array $errorMessages * @see \Validator::$error */ public static function setMessages(array $errorMessages) { static::$error = $errorMessages; }
public static function error($err) { static::$error = $err; }