) после выполнения ещё одного бэкапа публичной и административной части 

<? CModule::IncludeModule('yenisite.resizer2'); ?>
<img src='<?=CResizer2Resize::ResizeGD2('image.jpg',1);?>' />
|
<?Cresizer2Resize::ClearCacheByID($set_id);?> |
http://mysite.com/yenisite.resizer2/resizer2GD.php?url=/upload/iblock/072/deeae_pics_056.jpg&set=1 |
CModule::IncludeModule('yenisite.resizer2'); |
CResizer2::ShowResizer2Head(); // подключает выбранные в настройках библиотеки |
CResizer2Settings::GetSettings(); // возвращает ассоциативный массив настроек модуля |
CResizer2Settings::GetSettingByName($name); // возвращает значение настройки по названию |
CResizer2Setting::GetFontList(); // возвращает массив имен файлов из папки /yenisite.resizer2/fonts/ |
CResizer2Setting::imageRotateGD($src_img, $angle) // осуществляет поворот изображения img на угол $angle |
CResizer2Resize::GetCacheID($image_url, $set_id); // возвращает ID кеша изображения в зависимости от параметров |
CResizer2Resize::ClearCacheByID($set_id); // сбрасывает кэш для набора $set_id |
CResizer2Resize::ClearImgCache($image_url, $set_id); // сбрасывает кэш изображения $image_url для набора $set_id |
CResizer2Resize::ResizeGD2($image_url, $set_id); // генерирует новое изображение по заданному набору и возвращает ссылку на него |
CResizer2Set::Update($id, $name, $w = 800, $h = 600, $q = 100, $wm ='N' , $priority = 'WIDTH'); // обновляет параметры набора $id |
CResizer2Set::Add($id, $name, $w = 800, $h = 600, $q = 100, $wm ='N' , $priority = 'WIDTH'); // добавляет набор |
CResizer2Set::GetByID($id;) // возвращает параметры набора $id |
CResizer2Set::GetList(); // возвращает объект CDBResult всех наборов |

Ура! Мы закончили разработку нового модуля — !







. Каждый раздел данного ИБ - соответствующий сотрудник (Можно указывать код сотрудника в названии раздела, но я решил сделать более надежно - создал доп. свойство с привязкой к сотруднику для раздела "UF_USER ", т.к. раздел можно назвать как-то удобно для себя, например "ЦЕНТР", если сотрудник обслуживает клиентов, находящихся в центре, а в привязку к сотруднику ставим нужного пользователя сайта).<?
$person_list=array();
if(CModule::IncludeModule("iblock"))
{
$arFilter = Array('IBLOCK_ID'=>intval(55), 'ACTIVE'=>'Y');
$items = CIBlockSection::GetList(Array("sort"=>"ASC"), $arFilter, false,Array("UF_USER", "UF_BALOON"));
while($arItem = $items->GetNext())
{
$person_list[]=array(
"U_ID"=>intval($arItem["UF_USER"]), /* ID ответственного сотрудника*/
"SECT_NAME"=>$arItem["NAME"], /* Название раздела - пригодится при формировании групп точек*/
"SECT_ID"=>$arItem["ID"], /* ID раздела.*/
"BALOONLINK"=>"<img src='".$baloonlink."' /> ", /*Картинка балуна*/
"BALOON"=>CFile::GetPath($arItem["UF_BALOON"]) /*ссылка на балун*/
);
};
}
else
ShowError("Модуль не установлен");
//echo "<pre>";print_r($person_list);echo "</pre>";
?> |
<script type="text/javascript" src="jquery-1.5.2.min.js"></script> <script src="http://api-maps.yandex.ru/1.1/?key=<Ваш ключ>&modules=pmap&wizard=constructor" type="text/javascript"></script> |
<td style="vertical-align:top;"> <div class="YMaps YMaps-cursor-grab" id="YMapsID" style="width:600px;height:600px"> </div> </td> |
<td valign="top">
<ol class="message_list">
<?foreach($person_list as $group):
echo "<li>";
echo "<p class='message_head'><cite>".$group["SECT_NAME"]."</cite></p>";
echo "<div class='message_body' style='display: none'>";
echo "<ul>";
$arSelect = Array("ID", "NAME");
$arFilter = Array("IBLOCK_ID"=>IntVal(<Код ИБ>), "SECTION_ID"=>intval($group["SECT_ID"]), "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("NAME" => "ASC"), $arFilter, false, Array(), $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
//выводим элементы в списке, сразу добавляя ссылки на редактирование/удаление
echo "<li>";?>
<a title="Удалить" href="del.php?id=<?=$mar['id']?>" onclick="if(!confirm('Вы действительно хотите удалить данный элемент?')){return false;}">
<img src="deletered.png">
</a>
<a title="Пройдено" href="set.php?id=<?=$mar['id']?>" onclick="if(!confirm('Вы тут уже были?')){return false;}">
<img src="camera_test.png">
</a>
<a title="Редактировать" href="edt.php?id=<?=$mar['id']?>">
<img src="pencil.png">
</a>
<?echo " ";?>
<?echo $arFields["NAME"]."</li>";
}
echo "</ul>";
echo "</div>";
echo "</li>";
endforeach;?>
</ol>
</td> |
<script type="text/javascript">
// Создание обработчика для события window.onLoad
var map, geoResult;
YMaps.jQuery(function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
map = new YMaps.Map(YMaps.jQuery("#YMapsID"[0]
// Установка для карты ее центра и масштаба
map.setCenter(new YMaps.GeoPoint(<Ваши координаты центра>), <Ваш масштаб>);
|
t.text = "<div style=\"color:#ff0000; font-weight: normal;\">$[description]</div>";
YMaps.Templates.add("my#template", t); |
<?php
reset($person_list);
foreach($person_list as $group):
$gid=$group["U_ID"]?>
var s<?php echo $gid?> = new YMaps.Style();
s<?php echo $gid?>.iconStyle = new YMaps.IconStyle();
s<?php echo $gid?>.iconStyle.offset = new YMaps.Point(-15, -15);
s<?php echo $gid?>.iconStyle.href = "<?php echo $group["BALOON"]?>";
s<?php echo $gid?>.iconStyle.size = new YMaps.Point(30, 30);
s<?php echo $gid?>.balloonContentStyle = new YMaps.BalloonContentStyle("my#template");
<?php
endforeach;
?> |
s<?php echo $gid?> |
map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.MiniMap());
map.addControl(new YMaps.ScaleLine());
map.enableScrollZoom();
map.enableDragging();
/*Создаем панель инструментов*/
var toolbar = new YMaps.ToolBar();
/*Определяем кнопки панели инструментов*/
var pointBootion = new YMaps.ToolBarRadioButton(YMaps.ToolBar.DEFAULT_GROUP, {
icon: "http://api.yandex.ru/i/maps/tools/draw/add_point.png",
width: 20,
hint: "Режим добавления меток"
});
toolbar.add(pointBootion);
map.addControl(toolbar);
// При активной кнопке включаем добавление меток
YMaps.Events.observe(pointBootion, pointBootion.Events.Select, function () {
map.addCursor(YMaps.Cursor.POINTER);
YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
/*var myHtml = "Значение: " + mEvent.getGeoPoint() + "<br />"+'<form id="formadd" name="formadd_point" method="post" action="outpoint.php"><p>Сотрудник: <select name="pointperson">'+$persons+'</select></p><p>Название: <input name="namepoint" type="text" size="20" maxlength="80" /></p><p>Описание: <textarea name="descriptpoint" cols="20" rows="5"></textarea></p><input name="pcoord" type="hidden" value="'+mEvent.getGeoPoint()+'" /><p><input name="subpoint" type="submit" value="Добавить" /></p></form>';
map.openBalloon(mEvent.getGeoPoint(), myHtml);*/
});
})
// При неактивной - выключаем
YMaps.Events.observe(pointBootion, pointBootion.Events.Deselect, function () {
map.removeCursor(YMaps.Cursor.POINTER);
YMaps.jQuery("#formpoint").hide();
})
|
<?php reset($person_list); foreach($person_list as $group):?> <?php $gid=$group["U_ID"]?> collection<?php echo $gid?> = new YMaps.GeoObjectCollection(s<?php echo $gid?>); <?php endforeach; ?> |
<?php
reset($person_list);
foreach($person_list as $group):
$arSelect = Array("ID", "NAME", <Набор полей, которые будем выводить>);
$arFilter = Array("IBLOCK_ID"=>IntVal(<Код ИБ>), "SECTION_ID"=>intval($group["SECT_ID"]), "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("NAME" => "ASC"), $arFilter, false, Array(), $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$DESCR="";
$ID=$arFields['ID'];
$coords=explode(",",$arFields["PROPERTY_CADDR_VALUE"]); //нужно, т.к. битрикс координаты вставляет наоборот
$NAME=htmlspecialchars($arFields["NAME"]);
$DESCR=htmlspecialchars($arFields["PROPERTY_C_FIO_VALUE"])."<br />".htmlspecialchars($arFields["PROPERTY_C_PHONES_VALUE"]);
$DESCR="какое-то описание точки";
?>
var point<?php echo $ID; ?> = new YMaps.GeoPoint(<?php echo $coords['1'], ',', $coords['0']; ?>);
var placemark<?php echo $ID; ?> = new YMaps.Placemark(point<?php echo $ID; ?>, {});
placemark<?php echo $ID; ?>.setBalloonContent('<div style="text-align:center"><strong><?php echo $NAME; ?></strong><br /><br /><?php echo $DESCR; ?></div>');
collection<?php echo $group["U_ID"]?>.add(placemark<?php echo $ID; ?>); //записываем точку в коллекцию
<?php
};
endforeach;
?> |
var groups = [
<?php
reset($person_list);
$colgroups=count($person_list);
foreach($person_list as $i => $item):
?>
<?php echo ($i > 0 ? ', ' : '')?>createGroup("<?php echo $item["BALOONLINK"]?>"+"<?php echo $item["SECT_NAME"]?>", collection<?php echo $item["U_ID"]?>)
<?php
endforeach;
?>
];
// Создание списка групп
for (var i = 0; i < groups.length; i++) {
addMenuItem(groups[i], map, YMaps.jQuery("#menu"));
}
}) |
// Добавление одного пункта в список
function addMenuItem (group, map, menuContainer) {
// Показать/скрыть группу на карте
YMaps.jQuery("<a class=\"title \" href=\"#\">" + group.title + "</a>")
.bind("click", function () {
var link = YMaps.jQuery(this);
// Если пункт меню "неактивный", то добавляем группу на карту,
// иначе - удаляем с карты
if (link.hasClass("active")) {
map.removeOverlay(group);
} else {
map.addOverlay(group);
}
// Меняем "активность" пункта меню
link.toggleClass("active");
return false;
})
// Добавление нового пункта меню в список
.appendTo(
YMaps.jQuery("<li></li>").appendTo(menuContainer)
)
};
// Создание группы
function createGroup (title, objects, style) {
var group = new YMaps.GeoObjectCollection(style);
group.title = title;
group.add(objects);
return group;
};
// Функция для отображения результата геокодирования
// Параметр value - адрес объекта для поиска
function showAddress (value) {
// Удаление предыдущего результата поиска
map.removeOverlay(geoResult);
// Запуск процесса геокодирования
var geocoder = new YMaps.Geocoder(value, {results: 3, boundedBy: map.getBounds(), prefLang: "uk"});
// Создание обработчика для успешного завершения геокодирования
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
// Если объект был найден, то добавляем его на карту
// и центрируем карту по области обзора найденного объекта
if (this.length()) {
geoResult = this.get(0);
map.addOverlay(geoResult);
map.setBounds(geoResult.getBounds());
}else {
alert("Ничего не найдено")
}
});
// Процесс геокодирования завершен неудачно
YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
alert("Произошла ошибка: " + error);
})
} |

YMaps.Events.observe(pointBootion, pointBootion.Events.Select, function () {
map.addCursor(YMaps.Cursor.POINTER);
YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
var myHtml = "Координаты: " + mEvent.getGeoPoint() + "<br />"+'<form id="formadd" name="formadd_point" method="post" action="add.php"><input name="pcoord" type="hidden" value="'+mEvent.getGeoPoint()+'" /><p><input name="subpoint" type="submit" value="Добавить" /></p></form>';
map.openBalloon(mEvent.getGeoPoint(), myHtml);
});
}) |
global $USER; $uid = $USER->GetID(); |
if(CModule::IncludeModule("iblock"))
{
$arFilter = Array('IBLOCK_ID'=>intval(55), 'ACTIVE'=>'Y');
$items = CIBlockSection::GetList(Array("sort"=>"ASC"), $arFilter, false,Array("UF_USER", "UF_BALOON"));
while($arItem = $items->GetNext())
{
if($arItem["UF_USER"]==$uid){$sectid=$arItem["ID"];}
$person_list[]=array(
"U_ID"=>intval($arItem["UF_USER"]), /* ID ответственного сотрудника*/
"SECT_ID"=>$arItem["ID"], /* ID раздела.*/
"SECT_NAME"=>$arItem["NAME"]
);
};
}
else
ShowError("Модуль не установлен"); |
<?
//получаем координаты:
if(isset($_POST["pcoord"])){
$Coord = $_POST["pcoord"];
$coords = explode(",",$Coord);
$Coord = $coords['1'].','.$coords['0']; //у яндекса и у битрикса разной направленности координаты...
} else {
LocalRedirect("index.php");
}
?> |
<input type="hidden" name="PROPERTY[211][0]" value=<?=$Coord?> /> <?//Записываем координаты?> <input type="hidden" name="PROPERTY[217][0]" value=<?=$uid?> /> <?//Записываем сотрудника?> <input type="hidden" id="SECTION" name="PROPERTY[IBLOCK_SECTION][0]" value=<?=$sectid?> /> <?//Задаем раздел, в котором отображать?> |
. Каждый раздел данного ИБ - соответствующий сотрудник (Можно указывать код сотрудника в названии раздела, но я решил сделать более надежно - создал доп. свойство с привязкой к сотруднику для раздела "UF_USER ", т.к. раздел можно назвать как-то удобно для себя, например "ЦЕНТР", если сотрудник обслуживает клиентов, находящихся в центре, а в привязку к сотруднику ставим нужного пользователя сайта).<?
$person_list=array();
if(CModule::IncludeModule("iblock"))
{
$arFilter = Array('IBLOCK_ID'=>intval(55), 'ACTIVE'=>'Y');
$items = CIBlockSection::GetList(Array("sort"=>"ASC"), $arFilter, false,Array("UF_USER", "UF_BALOON"));
while($arItem = $items->GetNext())
{
$person_list[]=array(
"U_ID"=>intval($arItem["UF_USER"]), /* ID ответственного сотрудника*/
"SECT_NAME"=>$arItem["NAME"], /* Название раздела - пригодится при формировании групп точек*/
"SECT_ID"=>$arItem["ID"], /* ID раздела.*/
"BALOONLINK"=>"<img src='".$baloonlink."' /> ", /*Картинка балуна*/
"BALOON"=>CFile::GetPath($arItem["UF_BALOON"]) /*ссылка на балун*/
);
};
}
else
ShowError("Модуль не установлен");
//echo "<pre>";print_r($person_list);echo "</pre>";
?> |
<script type="text/javascript" src="jquery-1.5.2.min.js"></script> <script src="http://api-maps.yandex.ru/1.1/?key=<Ваш ключ>&modules=pmap&wizard=constructor" type="text/javascript"></script> |
<td style="vertical-align:top;"> <div class="YMaps YMaps-cursor-grab" id="YMapsID" style="width:600px;height:600px"> </div> </td> |
<td valign="top">
<ol class="message_list">
<?foreach($person_list as $group):
echo "<li>";
echo "<p class='message_head'><cite>".$group["SECT_NAME"]."</cite></p>";
echo "<div class='message_body' style='display: none'>";
echo "<ul>";
$arSelect = Array("ID", "NAME");
$arFilter = Array("IBLOCK_ID"=>IntVal(<Код ИБ>), "SECTION_ID"=>intval($group["SECT_ID"]), "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("NAME" => "ASC"), $arFilter, false, Array(), $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
//выводим элементы в списке, сразу добавляя ссылки на редактирование/удаление
echo "<li>";?>
<a title="Удалить" href="del.php?id=<?=$mar['id']?>" onclick="if(!confirm('Вы действительно хотите удалить данный элемент?')){return false;}">
<img src="deletered.png">
</a>
<a title="Пройдено" href="set.php?id=<?=$mar['id']?>" onclick="if(!confirm('Вы тут уже были?')){return false;}">
<img src="camera_test.png">
</a>
<a title="Редактировать" href="edt.php?id=<?=$mar['id']?>">
<img src="pencil.png">
</a>
<?echo " ";?>
<?echo $arFields["NAME"]."</li>";
}
echo "</ul>";
echo "</div>";
echo "</li>";
endforeach;?>
</ol>
</td> |
<script type="text/javascript">
// Создание обработчика для события window.onLoad
var map, geoResult;
YMaps.jQuery(function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
map = new YMaps.Map(YMaps.jQuery("#YMapsID"[0]
// Установка для карты ее центра и масштаба
map.setCenter(new YMaps.GeoPoint(<Ваши координаты центра>), <Ваш масштаб>);
|
t.text = "<div style=\"color:#ff0000; font-weight: normal;\">$[description]</div>";
YMaps.Templates.add("my#template", t); |
<?php
reset($person_list);
foreach($person_list as $group):
$gid=$group["U_ID"]?>
var s<?php echo $gid?> = new YMaps.Style();
s<?php echo $gid?>.iconStyle = new YMaps.IconStyle();
s<?php echo $gid?>.iconStyle.offset = new YMaps.Point(-15, -15);
s<?php echo $gid?>.iconStyle.href = "<?php echo $group["BALOON"]?>";
s<?php echo $gid?>.iconStyle.size = new YMaps.Point(30, 30);
s<?php echo $gid?>.balloonContentStyle = new YMaps.BalloonContentStyle("my#template");
<?php
endforeach;
?> |
s<?php echo $gid?> |
map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.MiniMap());
map.addControl(new YMaps.ScaleLine());
map.enableScrollZoom();
map.enableDragging();
/*Создаем панель инструментов*/
var toolbar = new YMaps.ToolBar();
/*Определяем кнопки панели инструментов*/
var pointBootion = new YMaps.ToolBarRadioButton(YMaps.ToolBar.DEFAULT_GROUP, {
icon: "http://api.yandex.ru/i/maps/tools/draw/add_point.png",
width: 20,
hint: "Режим добавления меток"
});
toolbar.add(pointBootion);
map.addControl(toolbar);
// При активной кнопке включаем добавление меток
YMaps.Events.observe(pointBootion, pointBootion.Events.Select, function () {
map.addCursor(YMaps.Cursor.POINTER);
YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
/*var myHtml = "Значение: " + mEvent.getGeoPoint() + "<br />"+'<form id="formadd" name="formadd_point" method="post" action="outpoint.php"><p>Сотрудник: <select name="pointperson">'+$persons+'</select></p><p>Название: <input name="namepoint" type="text" size="20" maxlength="80" /></p><p>Описание: <textarea name="descriptpoint" cols="20" rows="5"></textarea></p><input name="pcoord" type="hidden" value="'+mEvent.getGeoPoint()+'" /><p><input name="subpoint" type="submit" value="Добавить" /></p></form>';
map.openBalloon(mEvent.getGeoPoint(), myHtml);*/
});
})
// При неактивной - выключаем
YMaps.Events.observe(pointBootion, pointBootion.Events.Deselect, function () {
map.removeCursor(YMaps.Cursor.POINTER);
YMaps.jQuery("#formpoint").hide();
})
|
<?php reset($person_list); foreach($person_list as $group):?> <?php $gid=$group["U_ID"]?> collection<?php echo $gid?> = new YMaps.GeoObjectCollection(s<?php echo $gid?>); <?php endforeach; ?> |
<?php
reset($person_list);
foreach($person_list as $group):
$arSelect = Array("ID", "NAME", <Набор полей, которые будем выводить>);
$arFilter = Array("IBLOCK_ID"=>IntVal(<Код ИБ>), "SECTION_ID"=>intval($group["SECT_ID"]), "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("NAME" => "ASC"), $arFilter, false, Array(), $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$DESCR="";
$ID=$arFields['ID'];
$coords=explode(",",$arFields["PROPERTY_CADDR_VALUE"]); //нужно, т.к. битрикс координаты вставляет наоборот
$NAME=htmlspecialchars($arFields["NAME"]);
$DESCR=htmlspecialchars($arFields["PROPERTY_C_FIO_VALUE"])."<br />".htmlspecialchars($arFields["PROPERTY_C_PHONES_VALUE"]);
$DESCR="какое-то описание точки";
?>
var point<?php echo $ID; ?> = new YMaps.GeoPoint(<?php echo $coords['1'], ',', $coords['0']; ?>);
var placemark<?php echo $ID; ?> = new YMaps.Placemark(point<?php echo $ID; ?>, {});
placemark<?php echo $ID; ?>.setBalloonContent('<div style="text-align:center"><strong><?php echo $NAME; ?></strong><br /><br /><?php echo $DESCR; ?></div>');
collection<?php echo $group["U_ID"]?>.add(placemark<?php echo $ID; ?>); //записываем точку в коллекцию
<?php
};
endforeach;
?> |
var groups = [
<?php
reset($person_list);
$colgroups=count($person_list);
foreach($person_list as $i => $item):
?>
<?php echo ($i > 0 ? ', ' : '')?>createGroup("<?php echo $item["BALOONLINK"]?>"+"<?php echo $item["SECT_NAME"]?>", collection<?php echo $item["U_ID"]?>)
<?php
endforeach;
?>
];
// Создание списка групп
for (var i = 0; i < groups.length; i++) {
addMenuItem(groups[i], map, YMaps.jQuery("#menu"));
}
}) |
// Добавление одного пункта в список
function addMenuItem (group, map, menuContainer) {
// Показать/скрыть группу на карте
YMaps.jQuery("<a class=\"title \" href=\"#\">" + group.title + "</a>")
.bind("click", function () {
var link = YMaps.jQuery(this);
// Если пункт меню "неактивный", то добавляем группу на карту,
// иначе - удаляем с карты
if (link.hasClass("active")) {
map.removeOverlay(group);
} else {
map.addOverlay(group);
}
// Меняем "активность" пункта меню
link.toggleClass("active");
return false;
})
// Добавление нового пункта меню в список
.appendTo(
YMaps.jQuery("<li></li>").appendTo(menuContainer)
)
};
// Создание группы
function createGroup (title, objects, style) {
var group = new YMaps.GeoObjectCollection(style);
group.title = title;
group.add(objects);
return group;
};
// Функция для отображения результата геокодирования
// Параметр value - адрес объекта для поиска
function showAddress (value) {
// Удаление предыдущего результата поиска
map.removeOverlay(geoResult);
// Запуск процесса геокодирования
var geocoder = new YMaps.Geocoder(value, {results: 3, boundedBy: map.getBounds(), prefLang: "uk"});
// Создание обработчика для успешного завершения геокодирования
YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
// Если объект был найден, то добавляем его на карту
// и центрируем карту по области обзора найденного объекта
if (this.length()) {
geoResult = this.get(0);
map.addOverlay(geoResult);
map.setBounds(geoResult.getBounds());
}else {
alert("Ничего не найдено")
}
});
// Процесс геокодирования завершен неудачно
YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
alert("Произошла ошибка: " + error);
})
} |

YMaps.Events.observe(pointBootion, pointBootion.Events.Select, function () {
map.addCursor(YMaps.Cursor.POINTER);
YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
var myHtml = "Координаты: " + mEvent.getGeoPoint() + "<br />"+'<form id="formadd" name="formadd_point" method="post" action="add.php"><input name="pcoord" type="hidden" value="'+mEvent.getGeoPoint()+'" /><p><input name="subpoint" type="submit" value="Добавить" /></p></form>';
map.openBalloon(mEvent.getGeoPoint(), myHtml);
});
}) |
. Необходимо провести небольшую правку шаблона данного компонента.global $USER; $uid = $USER->GetID(); |
if(CModule::IncludeModule("iblock"))
{
$arFilter = Array('IBLOCK_ID'=>intval(55), 'ACTIVE'=>'Y');
$items = CIBlockSection::GetList(Array("sort"=>"ASC"), $arFilter, false,Array("UF_USER", "UF_BALOON"));
while($arItem = $items->GetNext())
{
if($arItem["UF_USER"]==$uid){$sectid=$arItem["ID"];}
$person_list[]=array(
"U_ID"=>intval($arItem["UF_USER"]), /* ID ответственного сотрудника*/
"SECT_ID"=>$arItem["ID"], /* ID раздела.*/
"SECT_NAME"=>$arItem["NAME"]
);
};
}
else
ShowError("Модуль не установлен"); |
<?
//получаем координаты:
if(isset($_POST["pcoord"])){
$Coord = $_POST["pcoord"];
$coords = explode(",",$Coord);
$Coord = $coords['1'].','.$coords['0']; //у яндекса и у битрикса разной направленности координаты...
} else {
LocalRedirect("index.php");
}
?> |
<input type="hidden" name="PROPERTY[211][0]" value=<?=$Coord?> /> <?//Записываем координаты?> <input type="hidden" name="PROPERTY[217][0]" value=<?=$uid?> /> <?//Записываем сотрудника?> <input type="hidden" id="SECTION" name="PROPERTY[IBLOCK_SECTION][0]" value=<?=$sectid?> /> <?//Задаем раздел, в котором отображать?> |
<?foreach($elem["PROPERTIES"]["U_FILE"]["VALUE"]as $ar_File): $rsFile = CFile::GetByID($ar_File); $arFile = $rsFile->Fetch(); $descr=$arFile["ORIGINAL_NAME"]; echo "<a href=filedownload.php?file=".$ar_File." >".$descr."</a>"; endforeach;?> |
$arFile["ORIGINAL_NAME"] |
echo "<a href=filedownload.php?file=".$ar_File." >".$descr."</a>"; |
<?//возможность скачать файла залитого в свойство ИБ с его первоначальным именем
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
function rus2translit($string)
{
$converter = array(
'а' => 'a', 'б' => 'b', 'в' => 'v',
'г' => 'g', 'д' => 'd', 'е' => 'e',
'ё' => 'e', 'ж' => 'zh', 'з' => 'z',
'и' => 'i', 'й' => 'y', 'к' => 'k',
'л' => 'l', 'м' => 'm', 'н' => 'n',
'о' => 'o', 'п' => 'p', 'р' => 'r',
'с' => 's', 'т' => 't', 'у' => 'u',
'ф' => 'f', 'х' => 'h', 'ц' => 'c',
'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch',
'ь' => "_", 'ы' => 'y', 'ъ' => "_",
'э' => 'e', 'ю' => 'yu', 'я' => 'ya',
'А' => 'A', 'Б' => 'B', 'В' => 'V',
'Г' => 'G', 'Д' => 'D', 'Е' => 'E',
'Ё' => 'E', 'Ж' => 'Zh', 'З' => 'Z',
'И' => 'I', 'Й' => 'Y', 'К' => 'K',
'Л' => 'L', 'М' => 'M', 'Н' => 'N',
'О' => 'O', 'П' => 'P', 'Р' => 'R',
'С' => 'S', 'Т' => 'T', 'У' => 'U',
'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sch',
'Ь' => "_", 'Ы' => 'Y', 'Ъ' => "_",
'Э' => 'E', 'Ю' => 'Yu', 'Я' => 'Ya',
);
return strtr($string, $converter);
}
if(isset($_GET['file'])){
$F_ID=$_GET['file'];
$rsFile = CFile::GetByID($F_ID);
$arFile = $rsFile->Fetch();
$fName = $arFile["ORIGINAL_NAME"];
// далее от греха подальше нужно провести транслитерацию русских символов на английские
$fName=rus2translit($fName);
//определяем тип файла
$c_Type=$arFile["CONTENT_TYPE"];
// опредеяем путь к файлу
$file = CFile::GetPath($F_ID);
$file=$_SERVER['DOCUMENT_ROOT'].$file;
//проверяем, а есть ли вообще этот файл
if(!file_exists($file))
{
die("Error: $file not found.");
}
else
{
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".$fName);
header("Content-Type: $c_Type");
header("Content-Transfer-Encoding: binary");
// Read the file from disk
readfile($file);
};
} else {die("ОШИБКА: Не указан ID файла");};
?>
|
<? if(isset($_GET['file'])){ |
$file = CFile::GetPath($F_ID); $file=$_SERVER['DOCUMENT_ROOT'].$file; |
header("Content-Disposition: attachment; filename=".$fName); |
header("Content-Type: $c_Type"); |
readfile($file); |
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); |
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); |
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |


<?$SUBSCRIBE_TEMPLATE_RESULT = $APPLICATION->IncludeComponent( "bitrix:subscribe.news"... |
<?$SUBSCRIBE_TEMPLATE_RESULT = $APPLICATION->IncludeComponent( "subscribe.news"... |
"SECTION_ID" => array(
"NAME" => GetMessage("CP_BSN_SORT_SECTION_ID"),
"TYPE" => "LIST",
),
|
$arFilter['SECTION_ID'] = $arParams["SECTION_ID"]; |
<?$SUBSCRIBE_TEMPLATE_RESULT = $APPLICATION->IncludeComponent( "subscribe.news", "", Array( "SITE_ID" => "идентификатор сайта", "IBLOCK_TYPE" => "тип инфоблока", "ID" => "id инфоблока", "SECTION_ID" => "id раздела", "SORT_BY" => "ACTIVE_FROM", "SORT_ORDER" => "DESC", ), null, array( "HIDE_ICONS" => "Y", ) );?> |