Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
						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+'">';
Exemplo n.º 4
0
    /**
     * функция перед добавлениемредактированием элемента в инфоблок
     * @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="Ваш логин и пароль были высланы ранее при регистрации данного аккаунта";
                }
            }

        }
    }
Exemplo n.º 5
0
         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);
Exemplo n.º 6
0
    ?>
': '<?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)
	{
Exemplo n.º 7
0
	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));
				}
			}
		}
	}
Exemplo n.º 8
0
 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')));
 }
Exemplo n.º 9
0
 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;
 }
Exemplo n.º 10
0
            $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>";
Exemplo n.º 11
0
         }
         $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);
Exemplo n.º 12
0
		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;
 }
Exemplo n.º 14
0
 /**
  * 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;
 }
Exemplo n.º 15
0
			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"]);
        ?>
';
Exemplo n.º 16
0
	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;
	}
Exemplo n.º 17
0
		<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>';
Exemplo n.º 18
0
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");
?>
Exemplo n.º 19
0
    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" => "&nbsp;".GetMessage("FILEMAN_ADMIN_IN")."&nbsp;"
// );
// $arGrActionAr["copy1"] = array(
// "type" => "html",
// "value" => $strHTML
// );
// }
if ($logical != "Y") {
    $lAdmin->AddGroupActionTable($arGrActionAr, array());
}
Exemplo n.º 20
0
			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"];
        ?>
';
Exemplo n.º 21
0
 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 ? "&nbsp;" : " ";
         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;
 }
Exemplo n.º 22
0
            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>
Exemplo n.º 23
0
?>
}

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";
Exemplo n.º 24
0
$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;
Exemplo n.º 25
0
						$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);
Exemplo n.º 26
0
	}
	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"];
Exemplo n.º 27
0
    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, '&amp;');
\tstring = string.replace(/</g, '&lt;');
\tstring = string.replace(/>/g, '&gt;');
\tstring = string.replace(/"/g, '&quot;');

\tif (quote)
\t\tstring = string.replace(/'/g, '&#039;');

\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;
    }
Exemplo n.º 28
0
    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> ";
        }
    }
Exemplo n.º 29
0
             $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";
 }
Exemplo n.º 30
0
		"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" => "&nbsp;".GetMessage("FILEMAN_ADMIN_IN")."&nbsp;"
	// );
	// $arGrActionAr["copy1"] = array(
		// "type" => "html",
		// "value" => $strHTML
	// );