static function onBeforeElementAddHandler($arFields) { $IBLOCK_ID = Config\Option::get("citfact.replaceurl", "IBLOCK_ID", ""); $SECTION_ID = Config\Option::get("citfact.replaceurl", "SECTION_BREND_ID", "BRENDI"); $CODE_PROP = Config\Option::get("citfact.replaceurl", "PROPERTY_CODE_BRENDI", "BRENDI"); if ($IBLOCK_ID == $arFields["IBLOCK_ID"]) { $propertyBrand = \CIBlockProperty::GetByID($CODE_PROP, $arFields["IBLOCK_ID"]); if ($arResultProperty = $propertyBrand->GetNext()) { $propertyBrandValue = \CIBlockPropertyEnum::GetByID($arFields["PROPERTY_VALUES"][$arResultProperty["ID"]][0]["VALUE"]); } $rqParentSection = \CIBlockSection::GetByID($SECTION_ID); if ($arParentSection = $rqParentSection->GetNext()) { $arFilter = array('IBLOCK_ID' => $arParentSection['IBLOCK_ID'], '>LEFT_MARGIN' => $arParentSection['LEFT_MARGIN'], '<RIGHT_MARGIN' => $arParentSection['RIGHT_MARGIN'], '>DEPTH_LEVEL' => $arParentSection['DEPTH_LEVEL']); // выберет потомков без учета активности $rqSectChild = \CIBlockSection::GetList(array('left_margin' => 'asc'), $arFilter); while ($arSectChild = $rqSectChild->GetNext()) { $arSections[$arSectChild["NAME"]] = $arSectChild["ID"]; } } if (array_key_exists($propertyBrandValue["VALUE"], $arSections)) { $arFields["IBLOCK_SECTION"][] = $arSections[$propertyBrandValue["VALUE"]]; } else { $arParams = array("replace_space" => "-", "replace_other" => "-"); $trans = \Cutil::translit($propertyBrandValue["VALUE"], "ru", $arParams); $bs = new \CIBlockSection(); $arFieldsNewSection = array("ACTIVE" => "Y", "IBLOCK_SECTION_ID" => $SECTION_ID, "IBLOCK_ID" => $IBLOCK_ID, "NAME" => $propertyBrandValue["VALUE"], "CODE" => $trans); $resultAdd = $bs->Add($arFieldsNewSection); $arFields["IBLOCK_SECTION"][] = $resultAdd; } } return true; }
public static function GeneratePassword($login, $name) { $name = strtolower(trim($name)); $arParams = array("replace_space" => "-", "replace_other" => "-"); $name = Cutil::translit($name, "ru", $arParams); $pass = substr($name, 0, 3) . substr($login, -3); $pass = str_pad($pass, 6, "0"); return $pass; }
oRow = imgTable.insertRow(-1); } else oRow = imgTable.insertRow(-1); oRow.vAlign = 'top'; oCell = oRow.insertCell(-1); oCell.vAlign = 'top'; oCell.innerHTML = my_html; <?php if ($_GET["htmlEditor"] == "Y") { ?> var editorId = '<?php echo Cutil::JSEscape($_GET["editorId"]); ?> '; if(editorId) { var pMainObj = window.opener.GLOBAL_pMainObj[editorId]; if(pMainObj) { imageSrc = window.opener.document.getElementById(<?php echo $arResult["Image"]["ID"]; ?> ).src; _str = '<img __bxtagname="blogImage" __bxcontainer="<?php echo $arResult["Image"]["ID"]; ?> " src="'+imageSrc+'">';
/** * функция перед добавлениемредактированием элемента в инфоблок * @param $arFields поля элемента ифоблока * для страницы Объявления * создает нового пользователя * отправляет логини и пароль по почтовому шаблону * добавляет цену и количество в Торговый каталог */ function OnBeforeIBlockElementAddHandler(&$arFields) { if ( (( ($arFields["IBLOCK_ID"] == 2) || ($arFields["IBLOCK_ID"] == 15) || ($arFields["IBLOCK_ID"] == 14) || ($arFields["IBLOCK_ID"] == 16) || ($arFields["IBLOCK_ID"] == 19) ) && (strstr($_SERVER['REQUEST_URI'],'/personal/moy-magazin/'))) && ((!$_REQUEST['active'])&&(!$_REQUEST['deactive'])) || ( ($arFields["IBLOCK_ID"] == 16) && (strstr($_SERVER['REQUEST_URI'],'/obyavleniya/add-ads/'))) && ((!$_REQUEST['active'])&&(!$_REQUEST['deactive'])) ) { $rsUser = CUser::GetByID(CUser::GetID()); $arUser = $rsUser->Fetch(); $ID=$arUser['ID']; $arSelect = Array("ID", "IBLOCK_ID", "NAME","PROPERTY_*"); $arFilter = Array("IBLOCK_ID"=>9, "ACTIVE"=>"Y","PROPERTY_PARTNER"=>intval($ID)); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1), $arSelect); while($ob = $res->GetNextElement()){ $arFields_partner = $ob->GetFields(); $id_block_partner=$arFields_partner['ID']; } if($id_block_partner){ switch($arFields["IBLOCK_ID"]){ case 2: $arFields["PROPERTY_VALUES"][59]["VALUE"]=$id_block_partner; break; case 14: $arFields["PROPERTY_VALUES"][66]["VALUE"]=$id_block_partner; break; case 15: $arFields["PROPERTY_VALUES"][71]["VALUE"]=$id_block_partner; break; case 16: $arFields["PROPERTY_VALUES"][104]["VALUE"]=$id_block_partner; break; case 19: $arFields["PROPERTY_VALUES"][105]["VALUE"]=$id_block_partner; break; } } } if ( ( (($arFields["IBLOCK_ID"] == 16)) ) && CModule::IncludeModule("catalog") && CModule::IncludeModule("sale") && ((strstr($_SERVER['REQUEST_URI'],'/obyavleniya/add-ads/'))) && ((!$_REQUEST['active'])&&(!$_REQUEST['deactive'])) ) { if(($arFields['PROPERTY_VALUES'][81]==7)||($arFields['PROPERTY_VALUES'][81]=="Y")){ //$arFields['PROPERTY_VALUES'][81]=40; //$_SESSION['field_after2']="первый"; }elseif($arFields['PROPERTY_VALUES'][81]==9){ //$_SESSION['field_after1']="второй"; //$arFields['PROPERTY_VALUES'][81]=46; } $arSelect16 = Array("ID", "IBLOCK_ID", "NAME","PROPERTY_*"); $arFilter16 = Array("IBLOCK_ID"=>18,"ACTIVE"=>"Y","CODE "=>"standart-ads"); $res16 = CIBlockElement::GetList(Array(), $arFilter16, false, Array("nPageSize"=>1), $arSelect16); while($ob16 = $res16->GetNextElement()){ $arProps16 = $ob16->GetProperties(); $interval_day_ads=$arProps16['INTERVAL_ADS']['VALUE']; } if($interval_day_ads){ $arFields['ACTIVE_TO']=date("d.m.Y H:i:s",mktime(0,0,0,date("m"),date("d")+$interval_day_ads,date("Y"))); } $_SESSION['field_after3']=$arFields; if(!CUser::IsAuthorized()){ $chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; $max=10; $size=StrLen($chars)-1; $password=null; while($max--) $password.=$chars[rand(0,$size)]; $user = new CUser; $arFieldsUser = Array( "NAME" => $arFields["PROPERTY_VALUES"][89], "EMAIL" => $arFields["PROPERTY_VALUES"][88], "LOGIN" => $arFields["PROPERTY_VALUES"][88], "PERSONAL_MOBILE" => $arFields["PROPERTY_VALUES"][91], "LID" => "ru", "ACTIVE" => "Y", "GROUP_ID" => array(3,4,5), "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password ); $ID = $user->Add($arFieldsUser); } if(($ID)||(CUser::IsAuthorized())){ if(CUser::IsAuthorized()){ $rsUser = CUser::GetByID(CUser::GetID()); $arUser = $rsUser->Fetch(); $ID=$arUser['ID']; } $arFields["CREATED_BY"]=$ID; $arFields["PROPERTY_VALUES"][83]=$ID; $_SESSION['NEW_USER_ID']=$ID; } if($ID){ if (strlen($arFields["NAME"]) > 0 && strlen($arFields["CODE"]) <= 0) { $arParams = array( "max_len" => "100", // обрезаем символьный код до 100 символов "change_case" => "L", // приводим к нижнему регистру "replace_space" => "-", // меняем пробелы на тире "replace_other" => "-", // меняем плохие символы на тире "delete_repeat_replace" => "true", // удаляем повторяющиеся тире "use_google" => "false", // отключаем использование google ); $arFields["CODE"] = Cutil::translit($arFields["NAME"], "ru", $arParams); } unset($_SESSION['VIP_ID']); if(($arFields["PROPERTY_VALUES"][81][0]=='40')){ $_SESSION['VIP_ID']=40; } if(($arFields["PROPERTY_VALUES"][81][0]=='46')){ $_SESSION['VIP_ID']=46; } if((!$_REQUEST['CODE'])&&(!CUser::IsAuthorized())){ $arEventFields = Array( "NAME" => $arFields["PROPERTY_VALUES"][89], "EMAIL" => $arFields["PROPERTY_VALUES"][88], "LOGIN" => $arFields["PROPERTY_VALUES"][88], "PERSONAL_MOBILE" => $arFields["PROPERTY_VALUES"][91], "PASSWORD" => $password, ); $event = new CEvent; $event->SendImmediate("MAIN_USER_INFOTEHNOLOG", SITE_ID, $arEventFields); }else{ } } } if (($arFields["IBLOCK_ID"] == 11) &&($arFields["ACTIVE"] == "Y")){ $_SESSION['active_block'] = $arFields; $params = Array( "max_len" => "100", // обрезает символьный код до 100 символов "change_case" => "L", // буквы преобразуются к нижнему регистру "replace_space" => "_", // меняем пробелы на нижнее подчеркивание "replace_other" => "_", // меняем левые символы на нижнее подчеркивание "delete_repeat_replace" => "true", // удаляем повторяющиеся нижние подчеркивания "use_google" => "false", // отключаем использование google ); $el = new CIBlockElement; $PROP = array(); $PROP[108] = $arProps['F_EMAIL']['VALUE']; $PROP[60] = $arProps['F_TELEPHONE']['VALUE']; $PROP[100] = $arUserLogin['ID']; $arElem= Array( "CREATED_BY"=>$arUserLogin['ID'], "IBLOCK_ID" => 9, "NAME" => $arProps['F_NAMECOMPANY']['VALUE'], "CODE" => CUtil::translit($arProps['F_NAMECOMPANY']['VALUE'], "ru" , $params), "ACTIVE" => "Y", "PROPERTY_VALUES"=> $PROP, ); if($PRODUCT_ID = $el->Add($arElem)) { if($new_partner){ $lg_psswrd="Ваши регистрационные данные: <br> Логин:".$arProps['F_EMAIL']['VALUE']."<br> Пароль:".$password."<br>"; }else{ $lg_psswrd="Ваш логин и пароль были высланы ранее при регистрации данного аккаунта"; } } } }
if ($res["AUTHOR_ID"] > 0) { if (!empty($arParams["URL_TEMPLATES_PROFILE_VIEW"])) { $res["AUTHOR_URL"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $res["AUTHOR_ID"], "USER_ID" => $res["AUTHOR_ID"], "ID" => $res["AUTHOR_ID"])); } // avatar $id = $arParams['SHOW_AVATAR'] == 'Y' ? $res["AVATAR"] > 0 ? $res["AVATAR"] : $res["PERSONAL_PHOTO"] : ($arParams['SHOW_AVATAR'] == 'PHOTO' ? $res["PERSONAL_PHOTO"] : 0); if ($id > 0) { $res["AVATAR"] = array("ID" => $id, "FILE" => CFile::ResizeImageGet($id, array("width" => 30, "height" => 30), BX_RESIZE_IMAGE_EXACT, false)); if (!empty($res["AVATAR"]["FILE"])) { $res["AVATAR"]["HTML"] = CFile::ShowImage($res["AVATAR"]["FILE"]['src'], 30, 30, "border=0 align='right'"); } } } /************** Author info/****************************************/ // For quote JS $res["FOR_JS"] = array("AUTHOR_NAME" => Cutil::JSEscape($res["AUTHOR_NAME"]), "POST_MESSAGE_TEXT" => Cutil::JSEscape(htmlspecialcharsbx($res["POST_MESSAGE_TEXT"]))); $arMessages[$res["ID"]] = $res; } } /************** Attach files ***************************************/ if (!empty($arMessages)) { $res = array_keys($arMessages); $arFilter = array("FORUM_ID" => $arParams["FORUM_ID"], "TOPIC_ID" => $arResult["FORUM_TOPIC_ID"]); if ($arResult["USER"]["RIGHTS"]["MODERATE"] != "Y") { $arFilter["APPROVED"] = "Y"; } $arFilterProps = $arFilter; if (min($res) > 1) { $arFilterProps[">ID"] = $arFilter[">MESSAGE_ID"] = intval(min($res) - 1); } $arFilterProps["<ID"] = $arFilter["<MESSAGE_ID"] = intval(max($res) + 1);
?> ': '<?php echo Cutil::JSEscape($p["LDAP"]); ?> '<?php } ?> }; var arMasName = {'_': '' <?php foreach ($arSyncFields as $k => $p) { ?> , '<?php echo Cutil::JSEscape($k); ?> ': '<?php echo Cutil::JSEscape($p["NAME"]); ?> '<?php } ?> }; function __UFChange(id) { var oSelect = document.getElementById("MAP["+id+"][USER]"); var oInput = document.getElementById("MAP["+id+"][LDAP]"); var name = oSelect.value; oInput.value = arMas[name]; } function __UFDel(id) {
public static function Edit($Params) { global $APPLICATION; $name = CFileMan::SecurePathVar($Params['name']); $title = $Params['title']; $description = $Params['description']; $path = CFileMan::SecurePathVar($Params['path']); $template = CFileMan::SecurePathVar($Params['template']); $site = $Params['site']; $code = $Params['code']; $contPath = $_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/templates/".$template."/snippets"; $thumb = $Params['thumb'] === false ? false : CFileMan::SecurePathVar($Params['thumb']); if (!file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/templates/".$template)) { ?><script>alert('Error: Incorrect template Id: <?php echo CUtil::JSEscape($template); ?> ');</script><? return; } if ($Params['bNew']) { $location = CUtil::addslashes(CFileMan::SecurePathVar($Params["location"])); $newGroup = CUtil::addslashes(CFileMan::SecurePathVar($Params["newGroup"])); $path = trim(($location ? $location.'/' : '').($newGroup ? $newGroup.'/' : ''), ' /'); if ($name == '') { $name = CSnippets::GetDefaultFileName($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/templates/".$template."/snippets/".$path); ?><script>window.__bx_res_sn_filename = "<?php echo CUtil::JSEscape($name); ?> ";</script><? } $name = $name.'.snp'; } $key = $path.($path != '' ? '/' : '').$name; // 1. Save new snippet with new content if ($code) $APPLICATION->SaveFileContent($contPath.'/'.$key, $code); // 2. Rewrite title & description in .content.php if ($title || $description) { if (file_exists($contPath."/.content.php")) @include($contPath."/.content.php"); else $SNIPPETS = array(); if ($title) $SNIPPETS[$key]['title'] = $title; if ($description) $SNIPPETS[$key]['description'] = $description; $contentSrc = '<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>'.chr(10); $contentSrc .= '<?'.chr(10).'$SNIPPETS = Array();'.chr(10); foreach ($SNIPPETS as $k=>$_arSn) { if (CSnippets::CheckFile(array('site' => $Params["site"], 'template' => $Params['template'], 'path' => $k))) $contentSrc .= '$SNIPPETS[\''.CUtil::addslashes($k).'\'] = Array("title"=>\''.Cutil::addslashes($_arSn['title']).'\', "description"=>\''.Cutil::addslashes($_arSn['description']).'\');'.chr(10); } $contentSrc .= '?>'; $APPLICATION->SaveFileContent($contPath."/.content.php", $contentSrc); } CSnippets::ClearCache(); // 3. Handle thumbnail if ($thumb !== false) { if (substr($thumb,0,1) == '/') $thumb = substr($thumb,1); $pos = strrpos($name,"."); if ($pos === FALSE) return true; //delete existent thumbnail $f_name = substr($name, 0, $pos); $img_path1 = BX_PERSONAL_ROOT.'/templates/'.$template.'/snippets/images/'.$path.($path == '' ? '' : '/').$f_name; $DOC_ROOT = CSite::GetSiteDocRoot($site); $arExt = array("gif", "jpg", "jpeg", "png", "bmp"); for ($i = 0, $c = count($arExt); $i < $c; $i++) { $p_ = $img_path1.".".$arExt[$i]; if(file_exists($DOC_ROOT.$p_)) CFileman::DeleteFile(Array($site, $p_)); } if (empty($thumb) || strrpos($thumb, '.') === FALSE) return true; // Copy Thumbnail $path_from_1 = $DOC_ROOT."/".$thumb; $path_from = '/'.$thumb; if (file_exists($path_from_1)) { $pos = strrpos($thumb,"."); $f_ext = ($pos !== FALSE) ? strtolower(substr($thumb, $pos + 1)) : ''; if (in_array($f_ext, $arExt)) { $path_to = $img_path1.'.'.$f_ext; $strWarning_tmp = CFileMan::CopyEx(Array($site, $path_from), Array($site, $path_to)); } } } }
private function setDefaultArParamsIblockType() { $this->arParamsIblockType = array('SECTIONS' => 'N', 'IN_RSS' => 'N', 'SORT' => '500', 'EDIT_FILE_BEFORE' => '', 'EDIT_FILE_AFTER' => '', 'LANG' => array('ru' => array('NAME' => $this->iblockTypeName, 'ELEMENT_NAME' => 'Элементы', 'SECTION_NAME' => 'Разделы'), 'en' => array('NAME' => Cutil::translit($this->iblockTypeName, "ru"), 'ELEMENT_NAME' => 'Elemments', 'SECTION_NAME' => 'Sections'))); }
static function UpdateElementsBadCode() { $el = new CIBlockElement(); $arSelect = array("ID", "CODE", "NAME"); $arFilter = array("IBLOCK_ID" => self::$IBLOCK_ID); $obj = $el->GetList(array("id" => "ASC"), $arFilter, false, false, $arSelect); while ($arItem = $obj->GetNext()) { if (empty($arItem["CODE"]) || preg_match('/^[0-9]+$/', $arItem["CODE"]) || $arItem["CODE"] == "0.00") { $new_code = Cutil::translit(trim($arItem["NAME"]), "ru"); $arFields = array("CODE" => $new_code); // echo "<pre>"; // var_dump($arItem["ID"]); // var_dump($arFields); // echo "</pre>"; $el->Update($arItem["ID"], $arFields); } } return true; }
$arUser["Perms"] = CForumNew::GetUserPermission($arMessage["FORUM_ID"], $arUser["Groups"]); if ($arUser["Perms"] <= "Q" && COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y") { $arUser["Rank"] = CForumUser::GetUserRank($arMessage["AUTHOR_ID"], LANGUAGE_ID); } if (intVal($arMessage["POINTS"]) > 0) { $arUser["Points"] = array("POINTS" => $arMessage["POINTS"], "DATE_UPDATE" => $arMessage["DATE_UPDATE"]); } else { $arUser["Points"] = false; } $UserInfo[$arMessage["AUTHOR_ID"]] = $arUser; } elseif ($arMessage["AUTHOR_ID"] > 0 && isset($UserInfo[$arMessage["AUTHOR_ID"]])) { $arUser = $UserInfo[$arMessage["AUTHOR_ID"]]; } $arMessage["AUTHOR_ID"] = intVal($arMessage["AUTHOR_ID"]); $arMessage["FOR_JS"]["AUTHOR_NAME"] = Cutil::JSEscape(htmlspecialchars($arMessage["AUTHOR_NAME"])); $arMessage["FOR_JS"]["POST_MESSAGE"] = Cutil::JSEscape(htmlspecialchars($arMessage["POST_MESSAGE"])); ?> <tr valign="top" class="forumbody"> <td align="left" rowspan="2" width="140" class="forumbrd" style="border-right:none;"> <a name="message<?php echo $arMessage["ID"]; ?> "></a> <font class="forumbodytext"><b><?php echo htmlspecialcharsEx($arMessage["AUTHOR_NAME"]); ?> </b> <?php if ($arMessage["AUTHOR_ID"] > 0) { if ($arUser["Perms"] == "Q") { echo "<br><font class=\"forumheadcolor\">" . GetMessage("FR_MODERATOR") . "</font>";
} $res["AUTHOR_PHOTO"] = $arAvatars[$res["AUTHOR_ID"]]; /************** Author info/*************************************** */ // For quote JS $res["FOR_JS"]["AUTHOR_NAME"] = Cutil::JSEscape($res["AUTHOR_NAME"]); $res["FOR_JS"]["POST_MESSAGE_TEXT"] = Cutil::JSEscape(htmlspecialcharsbx($res["POST_MESSAGE_TEXT"])); $res["FOR_JS"]["POST_MESSAGE"] = Cutil::JSEscape(htmlspecialcharsbx($res["~POST_MESSAGE"])); // Forum store name of author permamently // When name of author changes => in comments we see old name // So, we just get dynamically name on every request (except cache) $res['AUTHOR_DYNAMIC_NAME_AS_ARRAY'] = false; $rc = CUser::GetByID($res['AUTHOR_ID']); if ($arDynName = $rc->Fetch()) { $res['AUTHOR_DYNAMIC_NAME_AS_ARRAY'] = array('LOGIN' => $arDynName['LOGIN'], 'NAME' => $arDynName['NAME'], 'SECOND_NAME' => $arDynName['SECOND_NAME'], 'LAST_NAME' => $arDynName['LAST_NAME']); } $res["FOR_JS"]["AUTHOR_DYNAMIC_NAME"] = Cutil::JSEscape(tasksFormatName($res['AUTHOR_DYNAMIC_NAME_AS_ARRAY']['NAME'], $res['AUTHOR_DYNAMIC_NAME_AS_ARRAY']['LAST_NAME'], $res['AUTHOR_DYNAMIC_NAME_AS_ARRAY']['LOGIN'], $res['AUTHOR_DYNAMIC_NAME_AS_ARRAY']['SECOND_NAME'], $arParams['NAME_TEMPLATE'], true)); $arMessages[$res["ID"]] = $res; } } /* * ************ Attach files ************************************** */ if (!empty($arMessages)) { $res = array_keys($arMessages); $arFilter = array("FORUM_ID" => $arParams["FORUM_ID"], "TOPIC_ID" => $arResult["FORUM_TOPIC_ID"], "APPROVED" => "Y", ">MESSAGE_ID" => intVal(min($res)) - 1, "<MESSAGE_ID" => intVal(max($res)) + 1); $db_files = CForumFiles::GetList(array("MESSAGE_ID" => "ASC"), $arFilter); if ($db_files && ($res = $db_files->Fetch())) { do { $res["SRC"] = CFile::GetFileSRC($res); if ($arMessages[$res["MESSAGE_ID"]]["~ATTACH_IMG"] == $res["FILE_ID"]) { // attach for custom $arMessages[$res["MESSAGE_ID"]]["~ATTACH_FILE"] = $res; $arMessages[$res["MESSAGE_ID"]]["ATTACH_IMG"] = CFile::ShowFile($res["FILE_ID"], 0, $arParams["IMAGE_SIZE"], $arParams["IMAGE_SIZE"], true, "border=0", false);
if (!documentType) return; BX.ajax.post( '/bitrix/tools/bizproc_activity_ajax.php', { 'site_id': BX.message('SITE_ID'), 'sessid' : BX.bitrix_sessid(), 'document_type' : <?php echo Cutil::PhpToJSObject($paramDocumentType); ?> , 'activity': 'CreateListsDocumentActivity', 'lists_document_type': documentType, 'form_name': <?php echo Cutil::PhpToJSObject($formName); ?> , 'content_type': 'html' }, function(response) { if (response) container.innerHTML = response; } ); }; </script>
public static function translit($str) { $arParams = array("replace_space" => "-", "replace_other" => "-"); $trans = Cutil::translit($str, "ru", $arParams); return $trans; }
/** * Removes snippet * * @param array - list of params (template, path) * @return bool - result */ public static function Remove($params = array()) { global $APPLICATION; $res = false; $template = CFileMan::SecurePathVar($params['template']); $path = CFileMan::SecurePathVar($params["path"]); $contPath = $_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $template . "/snippets"; $snippetPath = $contPath . ($path == '' ? '' : '/' . $path); $io = CBXVirtualIo::GetInstance(); if (!$io->ValidatePathString($snippetPath) || IsFileUnsafe($snippetPath) || HasScriptExtension($snippetPath)) { return false; } //Delete snippet file if ($io->FileExists($snippetPath)) { $res = $io->Delete($snippetPath); } $SNIPPETS = array(); if ($io->FileExists($contPath . "/.content.php")) { @(include $contPath . "/.content.php"); } $contentSrc = '<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>' . chr(10); $contentSrc .= '<?' . chr(10) . '$SNIPPETS = Array();' . chr(10); foreach ($SNIPPETS as $k => $snip) { if ($io->FileExists(CFileMan::SecurePathVar($contPath . '/' . $k))) { $contentSrc .= '$SNIPPETS[\'' . CUtil::addslashes($k) . '\'] = Array('; if (isset($snip['title']) && $snip['title'] !== '') { $contentSrc .= '\'title\' => \'' . Cutil::addslashes($snip['title']) . '\''; if (isset($snip['description']) && $snip['description'] !== '') { $contentSrc .= ', '; } } if (isset($snip['description']) && $snip['description'] !== '') { $contentSrc .= '\'description\' => \'' . Cutil::addslashes($snip['description']) . '\''; } $contentSrc .= ');' . chr(10); } } $contentSrc .= '?>'; $APPLICATION->SaveFileContent($contPath . "/.content.php", $contentSrc); CSnippets::ClearCache(); return $res; }
window.parent.document.getElementById("div_USER_ID").innerHTML='<i><?php echo GetMessage("PM_NOT_FINED"); ?> </i>'; <?php } elseif ($arResult["SHOW_MODE"] == "light") { ?> window.parent.document.getElementById("div_USER_ID").innerHTML='<?php echo GetMessage("PM_IS_FINED"); ?> '; <?php } elseif ($arResult["SHOW_MODE"] == "full") { ?> window.parent.document.getElementById("div_USER_ID").innerHTML='<?php echo Cutil::JSEscape("[<a href=\"" . $arResult["profile_view"] . "\">" . htmlspecialchars($arResult["SHOW_NAME"]) . "</a>]"); ?> '; <?php } else { ?> opener.switcher='<?php echo CUtil::JSEscape($arResult["SHOW_NAME"]); ?> '; var handler = opener.document.getElementById('USER_ID'); if (handler) handler.value = '<?php echo CUtil::JSEscape($arResult["UID"]); ?> ';
public static function ShowParameterField($type, $name, $values, $arParams = Array()) { /* "string" => "Строка", "text" => "Многострочный текст", "int" => "Целое число", "double" => "Число", "select" => "Список", "bool" => "Да/Нет", "date" => "Дата", "datetime" => "Дата/Время", "user" => "Пользователь", */ if(strlen($arParams['id'])>0) $id = $arParams['id']; else $id = md5(uniqid()); if($type == "text") { $s = '<table><tr><td><textarea '; $s .= 'rows="'.($arParams['rows']>0?intval($arParams['rows']):5).'" '; $s .= 'cols="'.($arParams['cols']>0?intval($arParams['cols']):50).'" '; $s .= 'name="'.htmlspecialcharsbx($name).'" '; $s .= 'id="'.htmlspecialcharsbx($id).'" '; $s .= '>'.htmlspecialcharsbx($values); $s .= '</textarea></td>'; $s .= '<td style="vertical-align: top !important"><input type="button" value="..." onclick="BPAShowSelector(\''.Cutil::JSEscape(htmlspecialcharsbx($id)).'\', \''.Cutil::JSEscape($type).'\');"></td></tr></table>'; } elseif($type == "user") { $s = '<nobr><textarea onkeydown="if(event.keyCode==45)BPAShowSelector(\''.Cutil::JSEscape(htmlspecialcharsbx($id)).'\', \''.Cutil::JSEscape($type).'\');" '; $s .= 'rows="'.($arParams['rows']>0?intval($arParams['rows']):3).'" '; $s .= 'cols="'.($arParams['cols']>0?intval($arParams['cols']):45).'" '; $s .= 'name="'.htmlspecialcharsbx($name).'" '; $s .= 'id="'.htmlspecialcharsbx($id).'">'.htmlspecialcharsbx($values).'</textarea>'; $s .= '<input type="button" value="..." title="'.GetMessage("BIZPROC_AS_SEL_FIELD_BUTTON").' (Insert)'.'" onclick="BPAShowSelector(\''.Cutil::JSEscape(htmlspecialcharsbx($id)).'\', \''.Cutil::JSEscape($type).'\');"></nobr>'; } elseif($type == "bool") { $s = '<select name="'.htmlspecialcharsbx($name).'"><option value=""></option><option value="Y"'.($values=='Y'?' selected':'').'>'.GetMessage('MAIN_YES').'</option><option value="N"'.($values=='N'?' selected':'').'>'.GetMessage('MAIN_NO').'</option>'; $s .= '<input type="text" '; $s .= 'size="20" '; $s .= 'name="'.htmlspecialcharsbx($name).'_X" '; $s .= 'id="'.htmlspecialcharsbx($id).'" '; $s .= 'value="'.($values=="Y" || $values=="N"?"":htmlspecialcharsbx($values)).'"> '; $s .= '<input type="button" value="..." onclick="BPAShowSelector(\''.Cutil::JSEscape(htmlspecialcharsbx($id)).'\', \''.Cutil::JSEscape($type).'\');">'; } else { $s = '<input type="text" '; $s .= 'size="'.($arParams['size']>0?intval($arParams['size']):70).'" '; $s .= 'name="'.htmlspecialcharsbx($name).'" '; $s .= 'id="'.htmlspecialcharsbx($id).'" '; $s .= 'value="'.htmlspecialcharsbx($values).'"> '; $s .= '<input type="button" value="..." onclick="BPAShowSelector(\''.Cutil::JSEscape(htmlspecialcharsbx($id)).'\', \''.Cutil::JSEscape($type).'\');">'; } return $s; }
<script> <?php if (!empty($arResult["Image"])) { ?> var imgTable = top.BX('blog-post-image'); if (imgTable) { imgTable.innerHTML += '<div class="blog-post-image-item"><div class="blog-post-image-item-border"><?php echo $arResult["ImageModified"]; ?> </div>' + '<div class="blog-post-image-item-input"><input name=IMAGE_ID_title[<?php echo $arResult["Image"]["ID"]; ?> ] value="<?php echo Cutil::JSEscape($arResult["Image"]["TITLE"]); ?> "></div>' + '<div><input type=checkbox name=IMAGE_ID_del[<?php echo $arResult["Image"]["ID"]; ?> ] id=img_del_<?php echo $arResult["Image"]["ID"]; ?> > <label for=img_del_<?php echo $arResult["Image"]["ID"]; ?> ><?php echo GetMessage("BLOG_DELETE"); ?> </label></div></div>';
echo !empty($lastResults) ? GetMessage("SEC_SCANNER_PROBLEMS_COUNT") . count($lastResults) . GetMessage("SEC_SCANNER_CRITICAL_PROBLEMS_COUNT") . $criticalResultsCount : ""; ?> </div> <div id="last_activity" style="width: 100%; text-align: right;"><?php echo $lastDate != "" ? GetMessage("SEC_SCANNER_TEST_DATE", array("#DATE#" => $lastDate)) : ""; ?> </div> <div style="clear:both;"></div> </div> <div id="results" class="adm-security-third-step" <?php echo empty($lastResults) ? "style=\"display:none;\"" : ""; ?> ></div> </div> <?$tabControl->End();?> </form> <script> BX.message(<?php echo CUtil::PhpToJSObject(IncludeModuleLangFile(__FILE__, false, true)); ?> ); var results = <?php echo Cutil::PhpToJsObject($lastResults); ?> ; var securityScanner = new JCSecurityScanner(results); </script> <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); ?>
if (!CFileMan::IsWindows()) { // $arGrActionAr["server_access"] = array( // "action" => "setAccess('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', true)", // "value" => "server_access", // "name" => GetMessage('FILEMAN_ADMIN_ACCESS_PERMS') // ); } } if ($USER->CanDoFileOperation('fm_create_new_' . $type, $arPath)) { //$arGrActionAr["copy"] = GetMessage("FILEMAN_ADM_COPY"); $arGrActionAr["copy"] = array("action" => "setCopyMove('" . Cutil::JSEscape($site) . "', '" . Cutil::JSEscape($path) . "', true, " . CUtil::PhpToJSObject($arrIsDir) . ")", "value" => "copy", "name" => GetMessage("FILEMAN_ADM_COPY")); $arGrActionAr["pack"] = array("action" => "setPackUnpack('" . Cutil::JSEscape($site) . "', '" . Cutil::JSEscape($path) . "', true, " . CUtil::PhpToJSObject($arrIsDir) . ")", "value" => "pack", "name" => GetMessage("FILEMAN_ADMIN_ARC_PACK")); } if ($USER->CanDoFileOperation('fm_create_new_' . $type, $arPath) && $USER->CanDoFileOperation('fm_delete_' . $type, $arPath)) { //$arGrActionAr["move"] = GetMessage("FILEMAN_ADM_MOVE"); $arGrActionAr["move"] = array("action" => "setCopyMove('" . Cutil::JSEscape($site) . "', '" . Cutil::JSEscape($path) . "', false, " . CUtil::PhpToJSObject($arrIsDir) . ")", "value" => "move", "name" => GetMessage("FILEMAN_ADM_MOVE")); } // if($USER->CanDoFileOperation('fm_create_new_'.$type, $arPath)) // { // $arGrActionAr["copy2"] = array( // "type" => "html", // "value" => " ".GetMessage("FILEMAN_ADMIN_IN")." " // ); // $arGrActionAr["copy1"] = array( // "type" => "html", // "value" => $strHTML // ); // } if ($logical != "Y") { $lAdmin->AddGroupActionTable($arGrActionAr, array()); }
window.parent.document.getElementById("div_USER_ID").innerHTML='<i><?php echo GetMessage("PM_NOT_FINED"); ?> </i>'; <?php } elseif ($arResult["SHOW_MODE"] == "light") { ?> window.parent.document.getElementById("div_USER_ID").innerHTML='<?php echo GetMessage("PM_IS_FINED"); ?> '; <?php } elseif ($arResult["SHOW_MODE"] == "full") { ?> window.parent.document.getElementById("div_USER_ID").innerHTML='<?php echo Cutil::JSEscape("[<a href=\"" . $arResult["profile_view"] . "\">" . $arResult["SHOW_NAME"] . "</a>]"); ?> '; <?php } else { ?> opener.switcher='<?php echo $arResult["SHOW_NAME"]; ?> '; var handler = opener.document.getElementById('USER_ID'); if (handler) handler.value = '<?php echo $arResult["UID"]; ?> ';
public function SetTitle($className, $forHint = false) { if (!self::$optUse) { return false; } $arCodes = self::$codes->GetCodeByClassName($className); if (!is_array($arCodes)) { return false; } $retHtml = ""; foreach ($arCodes as $arCode) { if (!$arCode["TITLE_OBJ"]) { continue; } $arHK = $this->GetByCodeID($arCode["ID"]); $space = $forHint ? " " : " "; if (!is_array($arHK)) { continue; } $retHtml .= "<script type='text/javascript'> var d = BX('" . $arCode["TITLE_OBJ"] . "'); if (!d) d=BX.findChild(document, {attribute: {'name': '" . $arCode["TITLE_OBJ"] . "'}}, true ); if(d) d.title+=' (" . $space . Cutil::JSEscape($this->ShowHKAsChar($arHK["KEYS_STRING"])) . $space . ") ';</script>"; } return $retHtml; }
echo Cutil::JSEscape(htmlspecialcharsbx($arBlock["EDIT_URL"])); ?> '); return false;" title="<?php echo GetMessage("BPWC_WICT_EDIT"); ?> "><span style="display:none">Edit</span></a><a rel="nofollow" href="javascript:if(confirm('<?php echo GetMessage("BPWC_WICT_DELETE_PROMT"); ?> '))jsUtils.Redirect([], '<?php echo Cutil::JSEscape(htmlspecialcharsbx($arBlock["DELETE_URL"])); ?> ')" class="bpcw-item-menu-delete" onclick="jsUtils.PreventDefault(event); if(confirm('<?php echo GetMessage("BPWC_WICT_DELETE_PROMT"); ?> '))jsUtils.Redirect([], '<?php echo Cutil::JSEscape(htmlspecialcharsbx($arBlock["DELETE_URL"])); ?> '); return false;" title="<?php echo GetMessage("BPWC_WICT_DELETE"); ?> "><span style="display:none">Delete</span></a></div></div> <?php } ?> <div class="bpcw-item-info-container"> <div style="height:160px;"> <?php echo CFile::ShowImage($arBlock["PICTURE"], 150, 150, null, $arBlock["LIST_URL"]); ?> </div>
?> } setTimeout("start()", 0); </script> <form> <div id="wf1" style="border-bottom: 2px #efefef dotted; background-color: white; border: solid 1px #DCE7ED; padding: 16px;" ></div> <div id="bizprocsavebuttons"> <br> <input type="button" onclick="BCPSaveTemplate(true);" value="<?php echo GetMessage("BIZPROC_WFEDIT_SAVE_BUTTON"); ?> "> <input type="button" onclick="BCPSaveTemplate();" value="<?php echo GetMessage("BIZPROC_WFEDIT_APPLY_BUTTON"); ?> "> <input type="button" onclick="window.location='<?php echo Cutil::addslashes(htmlspecialcharsbx($back_url)); ?> ';" value="<?php echo GetMessage("BIZPROC_WFEDIT_CANCEL_BUTTON"); ?> "> </div> </form> <?php require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
$arParams["SEO_USER"] = in_array($arParams["SEO_USER"], array("Y", "N", "TEXT")) ? $arParams["SEO_USER"] : "******"; $arParams["USER_TMPL"] = '<noindex><a rel="nofollow" href="#URL#" title="' . GetMessage("F_USER_PROFILE") . '">#NAME#</a></noindex>'; if ($arParams["SEO_USER"] == "N") { $arParams["USER_TMPL"] = '<a href="#URL#" title="' . GetMessage("F_USER_PROFILE") . '">#NAME#</a>'; } elseif ($arParams["SEO_USER"] == "TEXT") { $arParams["USER_TMPL"] = '#NAME#'; } if ($arResult["SHOW_SELF_CLOSE"] == "Y") { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><body> <script type="text/javascript"> <?php echo $_REQUEST["search_insert"] == "Y" ? "opener" : "top"; ?> .document.getElementById("div_USER_ID").innerHTML = '<?php echo $arResult["SHOW_MODE"] == "none" ? "<i>" . GetMessageJS("PM_NOT_FINED") . "</i>" : ($arResult["SHOW_MODE"] == "light" ? GetMessageJS("PM_IS_FINED") : "[" . Cutil::JSEscape(str_replace(array("#URL#", "#NAME#"), array($arResult["profile_view"], $arResult["SHOW_NAME"]), $arParams["USER_TMPL"])) . "]"); ?> '; <?php echo $_REQUEST["search_insert"] == "Y" ? "opener" : "top"; ?> .document.getElementById('USER_ID').value = '<?php echo $arResult["UID"]; ?> '; self.close(); </script> </body> </html> <?php die;
$id, array("width" => 30, "height" => 30), BX_RESIZE_IMAGE_EXACT, false ) ); if (!empty($res["AVATAR"]["FILE"])) $res["AVATAR"]["HTML"] = CFile::ShowImage($res["AVATAR"]["FILE"]['src'], 30, 30, "border=0 align='right'"); } } /************** Author info/****************************************/ // For quote JS $res["FOR_JS"] = array( "AUTHOR_NAME" => Cutil::JSEscape($res["AUTHOR_NAME"]), "POST_MESSAGE_TEXT" => Cutil::JSEscape(htmlspecialcharsbx($res["POST_MESSAGE_TEXT"])) ); $arMessages[$res["ID"]] = $res; } } /************** Attach files ***************************************/ if (!empty($arMessages)) { $res = array_keys($arMessages); $arFilter = array("FORUM_ID" => $arParams["FORUM_ID"], "TOPIC_ID" => $arResult["FORUM_TOPIC_ID"]); if ($arResult["USER"]["RIGHTS"]["MODERATE"] != "Y") $arFilter["APPROVED"] = "Y"; $arFilterProps = $arFilter; if (min($res) > 1) $arFilterProps[">ID"] = $arFilter[">MESSAGE_ID"] = intval(min($res) - 1);
} if ($bResult == true) $arGroups = __array_merge($arGroups, $res); } $arResult["GROUPS_FORUMS"] = $arGroups; /************** Topics *********************************************/ if ($arResult["TID"] > 0) { $res = CForumTopic::GetByIDEx($arResult["TID"]); if (!empty($res) && $res["STATE"] != "L" && !empty($arResult["FORUMS"][$res["FORUM_ID"]])) { $arResult["TOPIC"] = $res; $arResult["FORUM"] = $arResult["FORUMS"][$res["FORUM_ID"]]; $arResult["TOPIC"]["~TITLE"] = $arResult["TOPIC"]["TITLE"]; $arResult["TOPIC"]["TITLE"] = Cutil::JSEscape($arResult["TOPIC"]["TITLE"]); $arResult["TOPIC"]["LINK"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $arResult["FORUM"]["ID"], "TID" => $arResult["TOPIC"]["ID"], "MID" => "s")); $arResult["FORUM"]["LINK"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_LIST"], array("FID" => $arResult["FORUM"]["ID"])); } } elseif (strlen($_REQUEST["search_template"]) > 0) { $arFilter = array("@FORUM_ID" => array_keys($arResult["FORUMS"])); if (intVal($_REQUEST["FID"]) > 0) $arFilter["FORUM_ID"] = intVal($_REQUEST["FID"]); if (($_REQUEST["search_field"] == "title") || ($_REQUEST["search_field"] == "description")) $arFilter[strToUpper($_REQUEST["search_field"])] = $_REQUEST["search_template"]; else $arFilter["TITLE_ALL"] = $_REQUEST["search_template"];
public function GetJSFunctionsForFields($parameterDocumentType, $objectName, $arDocumentFields = array(), $arDocumentFieldTypes = array()) { if (!is_array($arDocumentFields) || count($arDocumentFields) <= 0) { $arDocumentFields = self::GetDocumentFields($parameterDocumentType); } if (!is_array($arDocumentFieldTypes) || count($arDocumentFieldTypes) <= 0) { $arDocumentFieldTypes = self::GetDocumentFieldTypes($parameterDocumentType); } list($moduleId, $entity, $documentType) = CBPHelper::ParseDocumentId($parameterDocumentType); if (strlen($moduleId) > 0) { CModule::IncludeModule($moduleId); } $documentFieldsString = ""; foreach ($arDocumentFields as $fieldKey => $arFieldValue) { if (strlen($documentFieldsString) > 0) { $documentFieldsString .= ","; } $documentFieldsString .= "'" . Cutil::JSEscape($fieldKey) . "':{"; $documentFieldsString .= "'Name':'" . CUtil::JSEscape($arFieldValue["Name"]) . "',"; $documentFieldsString .= "'Type':'" . CUtil::JSEscape($arFieldValue["Type"]) . "',"; $documentFieldsString .= "'Multiple':'" . CUtil::JSEscape($arFieldValue["Multiple"] ? "Y" : "N") . "',"; $documentFieldsString .= "'Complex':'" . CUtil::JSEscape($arFieldValue["Complex"] ? "Y" : "N") . "',"; $documentFieldsString .= "'Options':"; if (array_key_exists("Options", $arFieldValue)) { if (is_array($arFieldValue["Options"])) { $documentFieldsString .= "{"; $flTmp = false; foreach ($arFieldValue["Options"] as $k => $v) { if ($flTmp) { $documentFieldsString .= ","; } $documentFieldsString .= "'" . CUtil::JSEscape($k) . "':'" . CUtil::JSEscape($v) . "'"; $flTmp = true; } $documentFieldsString .= "}"; } else { $documentFieldsString .= "'" . CUtil::JSEscape($arFieldValue["Options"]) . "'"; } } else { $documentFieldsString .= "''"; } $documentFieldsString .= "}"; } $fieldTypesString = ""; $ind = -1; foreach ($arDocumentFieldTypes as $typeKey => $arTypeValue) { $ind++; if (strlen($fieldTypesString) > 0) { $fieldTypesString .= ","; } $fieldTypesString .= "'" . CUtil::JSEscape($typeKey) . "':{"; $fieldTypesString .= "'Name':'" . CUtil::JSEscape($arTypeValue["Name"]) . "',"; $fieldTypesString .= "'BaseType':'" . CUtil::JSEscape($arTypeValue["BaseType"]) . "',"; $fieldTypesString .= "'Complex':'" . CUtil::JSEscape($arTypeValue["Complex"] ? "Y" : "N") . "',"; $fieldTypesString .= "'Index':" . $ind . ""; $fieldTypesString .= "}"; } $documentTypeString = CUtil::PhpToJSObject($parameterDocumentType); $bitrixSessId = bitrix_sessid(); $result = <<<EOS <script type="text/javascript"> var {$objectName} = {}; {$objectName}.arDocumentFields = { {$documentFieldsString} }; {$objectName}.arFieldTypes = { {$fieldTypesString} }; {$objectName}.AddField = function(fldCode, fldName, fldType, fldMultiple, fldOptions) { \tthis.arDocumentFields[fldCode] = {}; \tthis.arDocumentFields[fldCode]["Name"] = fldName; \tthis.arDocumentFields[fldCode]["Type"] = fldType; \tthis.arDocumentFields[fldCode]["Multiple"] = fldMultiple; \tthis.arDocumentFields[fldCode]["Options"] = fldOptions; } {$objectName}._PrepareResponse = function(v) { \tv = v.replace(/^\\s+|\\s+\$/g, ''); \twhile (v.length > 0 && v.charCodeAt(0) == 65279) \t\tv = v.substring(1); \tif (v.length <= 0) \t\treturn undefined; \teval("v = " + v); \treturn v; } {$objectName}.GetFieldInputControl4Type = function(type, value, name, subtypeFunctionName, func) { \tthis.GetFieldInputControlInternal( \t\ttype, \t\tvalue, \t\tname, \t\tfunction(v) \t\t{ \t\t\tvar p = v.indexOf('<!--__defaultOptionsValue:'); \t\t\tif (p >= 0) \t\t\t{ \t\t\t\tp = p + '<!--__defaultOptionsValue:'.length; \t\t\t\tvar p1 = v.indexOf('-->', p); \t\t\t\ttype['Options'] = v.substring(p, p1); \t\t\t} \t\t\tvar newPromt = ""; \t\t\tp = v.indexOf('<!--__modifyOptionsPromt:'); \t\t\tif (p >= 0) \t\t\t{ \t\t\t\tp = p + '<!--__modifyOptionsPromt:'.length; \t\t\t\tp1 = v.indexOf('-->', p); \t\t\t\tnewPromt = v.substring(p, p1); \t\t\t} \t\t\tfunc(v, newPromt); \t\t}, \t\tfalse, \t\tsubtypeFunctionName, \t\t'Type' \t); } {$objectName}.GetFieldInputControl4Subtype = function(type, value, name, func) { \t{$objectName}.GetFieldInputControlInternal(type, value, name, func, false, '', ''); } {$objectName}.GetFieldInputControl = function(type, value, name, func, als) { \t{$objectName}.GetFieldInputControlInternal(type, value, name, func, als, '', ''); } {$objectName}.GetFieldInputControlInternal = function(type, value, name, func, als, subtypeFunctionName, mode) { \tif (typeof name == "undefined" || name.length <= 0) \t\tname = "BPVDDefaultValue"; \tif (typeof type != "object") \t\ttype = {'Type' : type, 'Multiple' : 0, 'Required' : 0, 'Options' : null}; \tif (typeof name != "object") \t\tname = {'Field' : name, 'Form' : null}; \tBX.ajax.post( \t\t'/bitrix/tools/bizproc_get_field.php', \t\t{ \t\t\t'DocumentType' : {$documentTypeString}, \t\t\t'Field' : name, \t\t\t'Value' : value, \t\t\t'Type' : type, \t\t\t'Als' : als ? 1 : 0, \t\t\t'rnd' : Math.random(), \t\t\t'Mode' : mode, \t\t\t'Func' : subtypeFunctionName, \t\t\t'sessid' : '{$bitrixSessId}' \t\t}, \t\tfunc \t); } {$objectName}.GetFieldValueByTagName = function(tag, name, form) { \tvar fieldValues = {}; \tvar ar; \tif (form && (form.length > 0)) \t{ \t\tvar obj = document.getElementById(form); \t\tif (!obj) \t\t{ \t\t\tfor (var i in document.forms) \t\t\t{ \t\t\t\tif (document.forms[i].name == form) \t\t\t\t{ \t\t\t\t\tobj = document.forms[i]; \t\t\t\t\tbreak; \t\t\t\t} \t\t\t} \t\t} \t\tif (!obj) \t\t\treturn; \t\tar = obj.getElementsByTagName(tag); \t} \telse \t{ \t\tar = document.getElementsByTagName(tag); \t} \tfor (var i in ar) \t{ \t\tif (ar[i] && ar[i].name && (ar[i].name.length >= name.length) && (ar[i].name.substr(0, name.length) == name)) \t\t{ \t\t\tif (ar[i].type.substr(0, "select".length) == "select") \t\t\t{ \t\t\t\tif (ar[i].multiple) \t\t\t\t{ \t\t\t\t\tvar newName = ar[i].name.replace(/\\[\\]/g, ""); \t\t\t\t\tfor (var j = 0; j < ar[i].options.length; j++) \t\t\t\t\t{ \t\t\t\t\t\tif (ar[i].options[j].selected) \t\t\t\t\t\t{ \t\t\t\t\t\t\tif ((typeof(fieldValues[newName]) != 'object') || !(fieldValues[newName] instanceof Array)) \t\t\t\t\t\t\t{ \t\t\t\t\t\t\t\tif (fieldValues[newName]) \t\t\t\t\t\t\t\t\tfieldValues[newName] = [fieldValues[newName]]; \t\t\t\t\t\t\t\telse \t\t\t\t\t\t\t\t\tfieldValues[newName] = []; \t\t\t\t\t\t\t} \t\t\t\t\t\t\tfieldValues[newName][fieldValues[newName].length] = ar[i].options[j].value; \t\t\t\t\t\t} \t\t\t\t\t} \t\t\t\t} \t\t\t\telse \t\t\t\t{ \t\t\t\t\tif (ar[i].selectedIndex >= 0) \t\t\t\t\t\tfieldValues[ar[i].name] = ar[i].options[ar[i].selectedIndex].value; \t\t\t\t} \t\t\t} \t\t\telse \t\t\t{ \t\t\t\tif (ar[i].name.indexOf("[]", 0) >= 0) \t\t\t\t{ \t\t\t\t\tvar newName = ar[i].name.replace(/\\[\\]/g, ""); \t\t\t\t\tif ((typeof(fieldValues[newName]) != 'object') || !(fieldValues[newName] instanceof Array)) \t\t\t\t\t{ \t\t\t\t\t\tif (fieldValues[newName]) \t\t\t\t\t\t\tfieldValues[newName] = [fieldValues[newName]]; \t\t\t\t\t\telse \t\t\t\t\t\t\tfieldValues[newName] = []; \t\t\t\t\t} \t\t\t\t\tfieldValues[newName][fieldValues[newName].length] = ar[i].value; \t\t\t\t} \t\t\t\telse \t\t\t\t{ \t\t\t\t\tfieldValues[ar[i].name] = ar[i].value; \t\t\t\t} \t\t\t} \t\t} \t} \treturn fieldValues; } {$objectName}.GetFieldInputValue = function(type, name, func) { \tif (typeof name == "undefined" || name.length <= 0) \t\tname = "BPVDDefaultValue"; \tif (typeof type != "object") \t\ttype = {'Type' : type, 'Multiple' : 0, 'Required' : 0, 'Options' : null}; \tif (typeof name != "object") \t\tname = {'Field' : name, 'Form' : null}; \tvar s = { \t\t'DocumentType' : {$documentTypeString}, \t\t'Field' : name, \t\t'Type' : type, \t\t'rnd' : Math.random(), \t\t'sessid' : '{$bitrixSessId}' \t}; \tif (type != null && type['Type'] != "F") \t{ \t\tvar ar = this.GetFieldValueByTagName('input', name['Field'], name['Form']); \t\tfor (var v in ar) \t\t\ts[v] = ar[v]; \t\tar = this.GetFieldValueByTagName('select', name['Field'], name['Form']); \t\tfor (var v in ar) \t\t\ts[v] = ar[v]; \t\tar = this.GetFieldValueByTagName('textarea', name['Field'], name['Form']); \t\tfor (var v in ar) \t\t\ts[v] = ar[v]; \t\tar = this.GetFieldValueByTagName('hidden', name['Field'], name['Form']); \t\tfor (var v in ar) \t\t\ts[v] = ar[v]; \t} \tBX.ajax.post('/bitrix/tools/bizproc_set_field.php', s, function(v){v = {$objectName}._PrepareResponse(v); func(v);}); } {$objectName}.HtmlSpecialChars = function(string, quote) { \tstring = string.toString(); \tstring = string.replace(/&/g, '&'); \tstring = string.replace(/</g, '<'); \tstring = string.replace(/>/g, '>'); \tstring = string.replace(/"/g, '"'); \tif (quote) \t\tstring = string.replace(/'/g, '''); \treturn string; } {$objectName}.GetGUITypeEdit = function(type) { \treturn ""; } {$objectName}.SetGUITypeEdit = function(type) { \treturn ""; } function __dump_bx(arr, limitLevel, txt) { \tif (limitLevel == undefined) \t\tlimitLevel = 3; \tif (txt == undefined) \t\ttxt = ""; \telse \t\ttxt += ":\\n"; \talert(txt+__dumpInternal_bx(arr, 0, limitLevel)); } function __dumpInternal_bx(arr, level, limitLevel) { \tvar dumped_text = ""; \tif(!level) level = 0; \tif (level > limitLevel) \t\treturn ""; \tvar level_padding = ""; \tfor(var j=0;j<level+1;j++) level_padding += " "; \tif(typeof(arr) == 'object') { \t\tfor(var item in arr) { \t\t\tvar value = arr[item]; \t\t\tif(typeof(value) == 'object') { \t\t\t\tdumped_text += level_padding + "'" + item + "' ...\\n"; \t\t\t\tdumped_text += __dumpInternal_bx(value, level+1, limitLevel); \t\t\t} else { \t\t\t\tdumped_text += level_padding + "'" + item + "' => '" + value + "'\\n"; \t\t\t} \t\t} \t} else { \t\tdumped_text = "===>"+arr+"<===("+typeof(arr)+")"; \t} \treturn dumped_text; } </script> EOS; if (class_exists($entity) && method_exists($entity, "GetJSFunctionsForFields")) { $result .= call_user_func_array(array($entity, "GetJSFunctionsForFields"), array($documentType, $objectName, $arDocumentFields, $arDocumentFieldTypes)); } else { if (!is_array($arDocumentFields) || count($arDocumentFields) <= 0) { $arDocumentFields = $this->GetDocumentFields($parameterDocumentType); } if (!is_array($arDocumentFieldTypes) || count($arDocumentFieldTypes) <= 0) { $arDocumentFieldTypes = $this->GetDocumentFieldTypes($parameterDocumentType); } $result .= CBPHelper::GetJSFunctionsForFields($objectName, $arDocumentFields, $arDocumentFieldTypes); } return $result; }
public function import($list_value) { $added = 0; $fail = 0; $update = 0; $tempReport = 1; //ID инфоблка путём обрезки из выбронного поля списка $IBlockId = str_replace('[', '', explode("]", $list_value)[0]); $IBlock = $this->getBlockByID($IBlockId); if (isset($_FILES['file']) && $_FILES['file']['size'] > 0) { $fileSrc = $_FILES['file']['tmp_name']; $xlsx = new \XLSXReader($fileSrc); //Используем методы класса XLSXReader $sheetNames = $xlsx->getSheetNames(); foreach ($sheetNames as $sheetName) { $sheet = $xlsx->getSheet($sheetName); $arSheetList[$sheetName] = $sheet->getData(); //Массив с ключами элементов $arRowNames = $arSheetList[$sheetName][0]; foreach ($arSheetList[$sheetName] as $row) { for ($i = 0; $i < count($row); $i++) { $arTemp[$arRowNames[$i]] = $row[$i]; } $arListRows[] = $arTemp; } unset($arListRows[0]); //Удаляем массив с ключами $arList[$sheetName] = $arListRows; //Форматированный массив файла .xlsx $arListRows = array(); //обнуляем массив для для случая с несколькими листами } $arResult['LIST'] = $arList; $el = new \CIBlockElement(); ?> <div class="report_detail"> <button class="close_show_list" id="closeReportDetail" onclick="closeReportDetail();">X</button> <?php foreach ($arResult['LIST'] as $arItem) { ?> <?php foreach ($arItem as $item) { if (!$item['CODE']) { $arParams = array("replace_space" => "-", "replace_other" => "-"); $item['CODE'] = Cutil::translit($item['NAME'], "ru", $arParams); } global $USER; $arLoadProductArray = array("MODIFIED_BY" => $USER->GetID(), "IBLOCK_SECTION_ID" => false, "IBLOCK_ID" => $IBlock['ID'], "NAME" => $item['NAME'], "CODE" => $item['CODE'], "ACTIVE" => $item['ACTIVE'], "PREVIEW_TEXT" => $item['PREVIEW_TEXT'], "DETAIL_TEXT" => $item['DETAIL_TEXT']); $IBlockElement = $this->getBlockElementByCode($item['CODE']); if ($PRODUCT_ID = $el->Add($arLoadProductArray)) { echo $tempReport . ": Added: " . $item['CODE'] . "<br/>"; $added++; $tempReport++; } elseif (isset($IBlockElement)) { if ($arLoadProductArray != array_intersect_key($IBlockElement, $arLoadProductArray)) { $el->Update($IBlockElement['ID'], $arLoadProductArray); echo $tempReport . ": Update: " . $IBlockElement['CODE'] . "<br/>"; $update++; $tempReport++; } } else { echo $tempReport . ": Error: " . $el->LAST_ERROR; $fail++; $tempReport++; } } } if ($tempReport == 1) { echo "Пусто"; } ?> </div> <div class="report">Added: <?php echo $added; ?> ; Updated: <?php echo $update; ?> ; Fail: <?php echo $fail; ?> ;</div> <button class="show_logs">Show Logs</button><?php } else { echo "<span class='error_mes'><b>Файл не выбран!</b></span> "; } }
$bVote = $bVote ? $bVote : $GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W"; $arUData["VOTING"] = $bVote ? "VOTE" : ($bUnVote ? "UNVOTE" : "N"); } // data $arUData["DATE_REG"] = CForumFormat::DateFormat($arParams["DATE_FORMAT"], MakeTimeStamp($res["DATE_REG"], CSite::GetDateFormat())); // Another data $arUData["DESCRIPTION"] = $parser->wrap_long_words($res["DESCRIPTION"]); if (!empty($res["SIGNATURE"])) { $arUData["SIGNATURE"] = $parser->convert($res["~SIGNATURE"], array_merge($arAllow, array("SMILES" => "N"))); } $UserInfo[$res["AUTHOR_ID"]] = $arUData; } $res = array_merge($res, $UserInfo[$res["AUTHOR_ID"]]); } $res["FOR_JS"]["AUTHOR_NAME"] = Cutil::JSEscape(htmlspecialcharsbx($res["~AUTHOR_NAME"])); $res["FOR_JS"]["POST_MESSAGE"] = Cutil::JSEscape(htmlspecialcharsbx($res["~POST_MESSAGE_TEXT"])); /************** Author info/****************************************/ /************** Panels *********************************************/ $res["PANELS"] = array("MODERATE" => $arResult["PANELS"]["MODERATE"], "DELETE" => $arResult["PANELS"]["DELETE"], "SUPPORT" => $arResult["PANELS"]["SUPPORT"] == "Y" && $res["AUTHOR_ID"] > 0 ? "Y" : "N", "EDIT" => $arResult["PANELS"]["EDIT"], "STATISTIC" => $arResult["PANELS"]["STATISTIC"] == "Y" && intVal($res["GUEST_ID"]) > 0 ? "Y" : "N", "MAIN" => $arResult["PANELS"]["MAIN"] == "Y" && $res["AUTHOR_ID"] > 0 ? "Y" : "N", "MAIL" => $arResult["PANELS"]["MAIL"], "VOTES" => $res["VOTING"] != "N" ? "Y" : "N"); // here should be a trigger for turning off edit right for the archive group even for message author if ($arResult["USER"]["RIGHTS"]["ADD_MESSAGE"] == "Y" && $res["PANELS"]["EDIT"] != "Y" && $USER->IsAuthorized() && $res["AUTHOR_ID"] == $USER->GetId() && (COption::GetOptionString("forum", "USER_EDIT_OWN_POST", "N") == "Y" || $arResult["TOPIC"]["iLAST_TOPIC_MESSAGE"] == intVal($res["ID"]))) { $res["PANELS"]["EDIT"] = "Y"; } $res["SHOW_PANEL"] = in_array("Y", $res["PANELS"]) ? "Y" : "N"; if ($arParams["PERMISSION_ORIGINAL"] >= "Q") { $bIP = preg_match("/^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\$/", $res["~AUTHOR_IP"]) ? true : false; $res["AUTHOR_IP"] = $bIP ? GetWhoisLink($res["~AUTHOR_IP"], "") : $res["AUTHOR_IP"]; $bIP = preg_match("/^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\$/", $res["~AUTHOR_REAL_IP"]) ? true : false; $res["AUTHOR_REAL_IP"] = $bIP ? GetWhoisLink($res["~AUTHOR_REAL_IP"], "") : $res["AUTHOR_REAL_IP"]; $res["IP_IS_DIFFER"] = $res["AUTHOR_IP"] != $res["AUTHOR_REAL_IP"] ? "Y" : "N"; }
"value" => "copy", "name" => GetMessage("FILEMAN_ADM_COPY") ); $arGrActionAr["pack"] = array( "action" => "setPackUnpack('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', true)", "value" => "pack", "name" => GetMessage("FILEMAN_ADMIN_ARC_PACK"), ); } if($USER->CanDoFileOperation('fm_create_new_'.$type, $arPath) && $USER->CanDoFileOperation('fm_delete_'.$type,$arPath)) { //$arGrActionAr["move"] = GetMessage("FILEMAN_ADM_MOVE"); $arGrActionAr["move"] = array( "action" => "setCopyMove('".Cutil::JSEscape($site)."', '".Cutil::JSEscape($path)."', false)", "value" => "move", "name" => GetMessage("FILEMAN_ADM_MOVE") ); } // if($USER->CanDoFileOperation('fm_create_new_'.$type, $arPath)) // { // $arGrActionAr["copy2"] = array( // "type" => "html", // "value" => " ".GetMessage("FILEMAN_ADMIN_IN")." " // ); // $arGrActionAr["copy1"] = array( // "type" => "html", // "value" => $strHTML // );