#bitrix

Отпарвка письма с влоожениями

07.07.2016 Bitrix, php, php скрипты ,

Подробней тут http://www.spravkaweb.ru/php/sovet/mail/file

        $mailFields = array (
		'TITLE' => 'Тема письма ололо',
		'TEXT' => 'Текст ололо',
	);

	$arFile = array (
		0 => $_SERVER['DOCUMENT_ROOT'].'/upload/test.php',
		1 => $_SERVER['DOCUMENT_ROOT'].'/robots.txt',
	);


	function sendMessage($mailFields, $arFile)
	{
		$subject = '=?windows-1251?B?'.base64_encode($mailFields['TITLE']).'?=';
		// Subject: =?<кодировка текста>?<способ кодирования>?<закодированный Subject>?= 
		// Кодировка текста = windows-1251 или koi8-r или .... смотря в какой кодировке был текст когда ты его (Subject) кодировал.
		// Способ кодирования = Q (quoted_printable) или B (base64)
		// Соответственно функции quoted_printable_encode или base64_encode
		// Но лучше не изобретать велосипед, а использовать iconv_mime_encode (благо тут уже все придумано).

		$comment_mail = $mailFields['TEXT'];

		$arAttachment = array();
		
		if (!empty($arFile)) {
			foreach($arFile as $file) {
				$arFile = CFile::MakeFileArray($file);
				if($arFile){				
					$file = fopen($arFile['tmp_name'], "r");
					$text = fread($file, filesize($arFile['tmp_name']));
					fclose($file);					
					$arAttachment[] = array(
						"attachment" => chunk_split(base64_encode($text)),
						"name" => $arFile["name"],
						"type" => $arFile["type"],
						"arFile" => $arFile,
					);
				}
			}
		}
		
		$boundary = '#####' . time();
		$sStartOrEndLetter = '--';
		$sImplode = "\r\n";
		
		$sHeader = '';
		$sHeader.= 'From: "Ололий" <ololo@ololo.com>'.$sImplode;	
		$sHeader.= 'To: ololo@ololo.com'.$sImplode;						
		$sHeader.= 'Subject: '.$subject.$sImplode;		
		$sHeader.= 'Mime-Version: 1.0'.$sImplode;	
		$sHeader.= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$sImplode;	
		
		$sMessage = '';
		$sMessage.= $sStartOrEndLetter.$boundary.$sImplode;
		$sMessage.= 'Content-type: text/plain; charset="windows-1251"'.$sImplode;
		$sMessage.= 'Content-Transfer-Encoding: quoted-printable'.$sImplode;
		$sMessage.= "\n";
		$sMessage.= $comment_mail;
		$sMessage.= "\n\n";
		
		
		if(count($arAttachment) > 0){
		
			foreach($arAttachment as $attachment){
				$sMessage.= $sStartOrEndLetter.$boundary.$sImplode;		
				$sMessage.= 'Content-Type: application/x-rar-compressed; name="'.$attachment['name'].'"'.$sImplode;
				$sMessage.= 'Content-Transfer-Encoding:base64'.$sImplode;
				$sMessage.= 'Content-Disposition:attachment;'.$sImplode;
				$sMessage.= $sImplode;
				$sMessage.= $attachment['attachment'];
				$sMessage.= $sImplode;		
			}
			
		}

		$sMessage.= $sStartOrEndLetter.$boundary.$sStartOrEndLetter.$sImplode;
		
		// echo "<pre>";
			// print_r($sHeader);	
			// print_r($sMessage);
		// echo "</pre>";

		if(mail('ololo@ololo.com', $subject, $sMessage, $sHeader) ){
			print_r('cool');
		}else{
			print_r('bad');
		}
	}

bitrix отключить хлебные крошки

20.12.2014 Bitrix ,

Установить свойство раздела или страницы NOT_SHOW_NAV_CHAIN = Y

$APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");

bitrix изменить значение свойства заказ

13.10.2014 Bitrix , , ,

Bitrix\Main\Loader::includeModule('sale');
Bitrix\Main\Loader::includeModule('iblock');
Bitrix\Main\Loader::includeModule('catalog');
$ORDER_ID = 23;
$db_order = CSaleOrder::GetList(
	array("DATE_UPDATE" => "DESC"),
	array("ID" => $ORDER_ID),
	false,
	false,
	array('ID', 'PERSON_TYPE_ID')
);
if ($arOrder = $db_order->Fetch())
{
   $db_props = CSaleOrderProps::GetList(
        array("SORT" => "ASC"),
        array(
			"PERSON_TYPE_ID" => $arOrder["PERSON_TYPE_ID"], // тип плательщика
			"CODE"			=>	"PAY_SUMM" // код свойства который надо изменить
		)
    );
   while ($arProps = $db_props->Fetch())
   {
		$db_vals = CSaleOrderPropsValue::GetList(
            array("SORT" => "ASC"),
            array(
                    "ORDER_ID" => $ORDER_ID,
                    "ORDER_PROPS_ID" => $arProps["ID"]
                )
        );
		while ($arVals = $db_vals->Fetch()){
			if(!$arVals['VALUE'])
				CSaleOrderPropsValue::Update($arVals['ID'], array("ORDER_ID"=>$arVals['ORDER_ID'], "VALUE"=>"140")); 
		}
   }
}