Класс для упрощения создания сайта и работы с контентом.
CdevUtils::GetArrString - Создаем массив из строки
CdevUtils::GetArrString($var, $sep, $key = NULL)
Метод из строки делает массив, есть возможность для массива определить ключ.
$var - 1 параметр, входящая строка, пример:
Значение 1 | Значение 2 | Значение 3
$sep - сепаратор (разделитель), именно по нему функция ищет и разделяет строку на элементы массива. Пример:| или ;
$key - не обязательный параметр, нужен для объединения массивов. Создает многомерный массив, ключом верхнего уровня является значение указанное в этом параметре.
namespace Cdev\Help;
use Bitrix\Main\Loader;
Loader::includeModule('iblock');
// use Bitrix\Main;
//CModule::IncludeModule("iblock");
IncludeModuleLangFile(__FILE__);
class CdevUtils
{
static public function GetArrString($var, $sep, $key = NULL)
{
$arrVar = explode($sep, $var);
$out = (isset($key)) ? $arrVar[$key] : $arrVar;
return $out;
}
static public function PhoneNumber($phoneNumder)
{
$phone = preg_replace('![^0-9]+!', '', $phoneNumder);
$phone = "+" . $phone;
return $phone;
}
// static public function BreadCrumbs()
// {
// $out = 0;
// $out = ($APPLICATION->GetDirProperty("breadcrumbs") == "Y") ? $out + 1 : $out;
// return $out;
// }
static public function SocialNetIcons($socName)
{
switch ($socName) {
case 'vk':
$out = '';
break;
case 'wa':
$out = '';
break;
case 'tg':
$out = '';
break;
case 'skype':
$out = '';
break;
default:
# code...
break;
}
return $out;
}
static public function SocialNet($arSocial = [], $style = '', $curPageName = '')
{
if (isset($arSocial) && !empty($arSocial)) {
switch ($style) {
case '1':
#
break;
default:
$start = '' . self::SocialNetIcons($soc['1']) . ' ';
}
$out .= $end;
return $out;
}
}
public static function setSettingsJsonDB($array, $jsonDbUrl)
{
if ($array) {
$array = json_encode($array);
file_put_contents($jsonDbUrl, $array);
}
}
public static function getSettingsJsonDb($jsonDbUrl)
{
$arSettings = file_get_contents($jsonDbUrl);
$arSettings = json_decode($arSettings, true);
return $arSettings;
}
public static function multiMenuArray($arResult)
{
foreach ($arResult as $key => $item) {
$arChild = [];
if ($item['IS_PARENT'] == "1" && $item['DEPTH_LEVEL'] == "1") {
foreach ($arResult as $key1 => $child) {
if ($child['DEPTH_LEVEL'] > "1" && $arResult[$key]['CHAIN']['0'] == $child["CHAIN"]['0']) {
$arChild[] = $child;
}
}
$arResult[$key]['CHILD'] = $arChild;
}
}
$arResult1 = [];
foreach ($arResult as $key => $value) {
if ($value["DEPTH_LEVEL"] == "1") {
$arResult1[$key] = $value;
}
}
$arResult = $arResult1;
return $arResult;
}
public static function SetArrReplace($IBLOCK_TYPE = "tagtext")
{
$arFilter["IBLOCK_TYPE"] = ($IBLOCK_TYPE) ? $IBLOCK_TYPE : false;
$arFilter["ACTIVE"] = "Y";
$arSelect = ["NAME", "CODE"];
$res = \CIBlockElement::GetList(array(), $arFilter, false, array(), $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields[] = $ob->GetFields();
}
$arrFields["IBLOCK_ID"] = $IBLOCK_ID;
$arrFields["IBLOCK_TYPE"] = $IBLOCK_TYPE;
$arrFields["ITEMS"] = $arFields;
$arrFields["RES"] = $res;
return $arrFields;
}
public static function explodeTrim($string)
{
foreach ($string as $key => $value) {
$arPhone = explode('|', $value);
foreach ($arPhone as $key1 => $ph) {
$arPhone[$key1] = trim($ph);
}
$string[$key] = $arPhone;
}
return $string;
}
}
';
break;
}
$out = $start;
foreach ($arSocial as $key => $soc) {
switch ($soc['1']) {
case 'vk':
case 'ok':
case 'tt':
$url = $soc['0'];
break;
case 'wa':
$url = 'https://wa.me/' . $soc['0'] . '?text=' . GetMessage("SEND_TEXT") . urlencode($curPageName);
break;
case 'tg':
$url = 'https://t.me/' . $soc['0'] . '?text=' . GetMessage("SEND_TEXT") . urlencode($curPageName);
break;
case 'skype':
$url = 'skype:' . $soc['0'] . '?chat';
break;
default:
# code...
break;
}
$out .= '