создание ZIP архива на лету и отдача на скачивание bitrix

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

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
// require($_SERVER["DOCUMENT_ROOT"]."/download/createzip.php");
$arrFile = array(
					"/upload/item.jpg", 
					"/upload/item2.jpg", 
					"/upload/slide.jpg",
					"/upload/products/doc/CWSO.pdf",
					"/upload/products/doc/CWSS-C-W.pdf",
					"/upload/products/doc/CWSS-O.pdf",
					"/upload/products/doc/CWST.pdf",
					"/upload/products/doc/DBS1224B4W_manual.pdf",
					"/upload/products/doc/EMA_DBS_Certificate.pdf",
					"/upload/products/doc/EnScape_Certificate.pdf",
					"/upload/products/doc/ExitPoint_Certificate.pdf",
					"/upload/products/doc/ExitPoint_manual.pdf",
					);

createZipAndDownload($arrFile);

function createZipAndDownload($arFiles)
{
	$zip = new ZipArchive();
	$filename = "system_sensor_archive_".date("d.m.Y").".zip";
	var_dump($filename);
	if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
	    exit("Невозможно открыть <$filename>\n");
	}

	foreach ($arFiles as $file) 
	{		
	 	$arr = explode("/", $file);	 	
	 	var_dump($arr);
		$zip->addFile($_SERVER["DOCUMENT_ROOT"].$file, end($arr));
	}
	
	$zip->close();

	file_force_download($filename);
}

function file_force_download($file) {
  if (file_exists($file)) {
    // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
    // если этого не сделать файл будет читаться в память полностью!
    if (ob_get_level()) {
      ob_end_clean();
    }
    // заставляем браузер показать окно сохранения файла
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    // читаем файл и отправляем его пользователю
    readfile($file);

    unlink($file);
    exit;
  }
}

Оригинал тут http://pastebin.com/h8zubtLz

настройка mbstring.func_overload и mbstring.internal_encoding на nic

07.04.2015 Bitrix

Для изменения настроек надо зайти в Веб-сервер -> Управление модулями

настройка mbstring.func_overload и mbstring.internal_encoding на nic

Далее нажать (настроить модуль)

(настроить модуль)

И в самом низу настроить

Все!

Ссылка на мануал http://hosting.nic.ru/support/php_setup.shtml

запрет на нажатие ctrl+c

28.03.2015 javascript

 	function ejs_nodroit() {
		alert('Действие запрещено');
		return(false); 
	}
 	document.oncontextmenu = ejs_nodroit;
	var copyDisabledHandler = function(e) {
		if(e.keyCode == 67 && e.ctrlKey === true) {
			alert('Действие запрещено');
			return false;
		}
	};
	$(document).keyup(copyDisabledHandler).keydown(copyDisabledHandler);	

java in_array

17.03.2015 Java , ,

String arr = {"ololo", "OLOLOLO", "CooL"};
String str = "ololo";
if(Arrays.asList(arr).contains(str)){
  System.out.println(str);
}

jQuery AJAX eval $(data).find(‘script’)

28.01.2015 javascript , , ,

$.ajax({
    url: 'example.html',
    type: 'GET',
    success: function(data) {

        var dom = $(data);

        dom.filter('script').each(function(){
            $.globalEval(this.text || this.textContent || this.innerHTML || '');
        });

        $('#mydiv').html(dom.find('#something').html());

    }
});

Mercurial HG console

24.12.2014 console , ,

hg init //создать репозитарий
hg status //просмотреть статус репозитория
hg st //(сокращенно) просмотреть статус репозитория

m — есть в репозитарии (изменен — modifire)
? — нет в репозитарии

hg add //добавление файлов репозиторий
hg commit - m"описание" -user // создание коммита
hg branch "Имя новой ветки" // создание новой ветки
hg branch // покажет какая активная ветка
hg branches // покажет какие есть ветки
hg up defualt -C // - переход между ветками

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

20.12.2014 Bitrix ,

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

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

ssh посмотреть базы данных

17.11.2014 Bitrix

mysql -u root -h localhost -p
show databases; // выводит все базы какие есть
drop database my_base; // удаляет базу my_base:
CREATE DATABASE new_database; // создает базу new_database;

установить кодировку таблицы

17.11.2014 Bitrix

ALTER TABLE `TABLE_NAME` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

посмотреть кодировку таблицы mysql

17.11.2014 Bitrix

SHOW CREATE TABLE TEBLE_NAME