关键词:
<?php
/**
* This file is part of the Studio Fact package.
* @package citfact
* @copyright 2017 Studio Fact
*/
use Bitrix\Main;
use Bitrix\Main\Application;
use Bitrix\Main\Localization\Loc;
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
class CitfactMyComponent extends CBitrixComponent
/**
* Fatal error list.
* @var string[] Array of fatal errors.
*/
protected $errorsFatal = [];
/**
* Non-fatal error list.
* @var string[] Array of non-fatal errors.
*/
protected $errorsNonFatal = [];
public function __construct($component = null)
parent::__construct($component);
Loc::loadMessages(__FILE__);
/**
* Function checks and prepares all the parameters passed. Everything about $arParam modification is here.
* @param mixed[] $arParams List of unchecked parameters
* @return mixed[] Checked and valid parameters
*/
public function onPrepareComponentParams($arParams)
$this->tryParseInt($arParams['PARAM1'], 30);
$this->tryParseString($arParams['PARAM2'], 'deafult');
return $arParams;
/**
* Prepare all required data.
* @return void
* @throws User\Exception\NotFoundException
*/
protected function prepareData()
/**
* Move data to $arResult
* @return void
*/
protected function makeResult()
$arResult = [];
$this->arResult = $arResult;
/**
* Function implements all the life cycle of our component
* @return void
*/
public function executeComponent()
try
$this->setFrameMode(false);
$this->prepareData();
$this->makeResult();
catch (Exception $e)
$this->errorsFatal[$e->getCode()] = $e->getMessage();
$this->formatResultErrors();
$this->includeComponentTemplate();
/**
* Move all errors to $arResult, if there were any
* @return void
*/
protected function formatResultErrors()
$errors = array();
if (!empty($this->errorsFatal))
$errors['FATAL'] = $this->errorsFatal;
if (!empty($this->errorsNonFatal))
$errors['NONFATAL'] = $this->errorsNonFatal;
if (!empty($errors))
$this->arResult['ERRORS'] = $errors;
// backward compatiblity
$error = each($this->errorsFatal);
if (!empty($error['value']))
$this->arResult['ERROR_MESSAGE'] = $error['value'];
/**
* Function reduces input value to integer type, and, if gets null, passes the default value
* @param mixed $fld Field value
* @param int $default Default value
* @param int $allowZero Allows zero-value of the parameter
* @return int Parsed value
*/
public static function tryParseInt(&$fld, $default, $allowZero = null)
$fld = intval($fld);
if(!$allowZero && !$fld && isset($default))
$fld = $default;
return $fld;
/**
* Function processes string value and, if gets null, passes the default value to it
* @param mixed $fld Field value
* @param string $default Default value
* @return string parsed value
*/
public static function tryParseString(&$fld, $default)
$fld = trim((string)$fld);
if(!strlen($fld) && isset($default))
$fld = htmlspecialcharsbx($default);
return $fld;
phpwordpressназаглушки的заменяетбитыессылкинакратинки。удобно,напримернатестовомсайте,чтобынеперенос(代
查看详情
php帖子поискпонесколькимкастомфлдамвыгребаетпостыопределенноготипаитаксономиисопределеннымикастомфилд(
查看详情
phpсброситькешинфоблокапослеизменениясвойства(代码片段)
查看详情
phpподключениестилейиjsвшаблонахкомпонентов(代码片段)
查看详情
cssкогдатекстразбиваетсянаколонки,тобраузерпытаетсяравномернораспределитьсодержимоеблокапоуказанном(
查看详情
phpнавешиваемлейблеслиустановленчекбокс(代码片段)
查看详情
scssзацикленнаяанимациядляспиннера。$b$bсоздаемпсевдо-элемент。здесьдостаточнонавешиватькласснаоб(代码片段
查看详情
phpотправкаписьмапридобавленииэлементаинфоблока(代码片段)
查看详情
scss容器中儿童的纵横比恒定$b$bсозданиеблокаспостояннымсоотношениемсторон,напсевдоэлементе,посуществублокнуле(代码
查看详情
scss容器中儿童的纵横比恒定$b$bсозданиеблокаспостояннымсоотношениемсторон,напсевдоэлементе,посуществублокнуле(代码
查看详情
shдлякаждойсделаннойправкибезкоммитапоказатьизмененныйучастоккодаиспросить,должнолиэтоизменениепопа(
查看详情
kazakhcyrillic-arabicconverter
М??сызболса?,м?нс?зболса?,онда?м?рд??м?н?не?Н?рсызболса?,??нсызболса?,онда?лкен??г?ме.-М?хтаршахановCyrillic=>ArabicArabic=>Cyrillic 查看详情
textблокскнопкамисоциальныхсетей(代码片段)
查看详情
phpфункцияскачиванияфайла$b$bпростоотправляемнаурлсобработчиком,передаваяссылкунафайл(代码片段)
查看详情
textшаблондляпроектаsublimetext(включениессылокнафайлы)(代码片段)
查看详情
phpраспределениешаблоновотображенияконтентавзависимостиотразделасайта。更多信息,请访问我们(代码片段)
查看详情
2018-2019всероссийскаякоманднаяолимпиадашкольниковпопрограммированию,интернет-тур+отборыре(代码片段)
A:水。1#include<bits/stdc++.h>23usingnamespacestd;45typedeflonglongll;67constllINFLL=0x3f3f3f3f3f3f3f3f;89lln,m,h,w;1011llsolve()1213llcnt=0;14lltn=n,tm=m;15while(tn>h)1617tn=(tn+1)>>1; 查看详情
swiftзапроснаконсультацию。последовательноеполучениекартинокизpffileдлямассиваобъектовpfobject(代码片段)
查看详情