FCLT#63770 refactoring & alg_gebouw_image vervangt nu definitief de 'gebouwimage_flex_key'

svn path=/Website/trunk/; revision=60439
This commit is contained in:
2023-05-16 18:10:28 +00:00
parent a4dedf74b4
commit fc65403c32
20 changed files with 380 additions and 496 deletions

View File

@@ -49,7 +49,8 @@ function model_mld_stdmeldinggroep()
},
"symbolname": {
"dbs": "mld_stdmeldinggroep_image",
"typ": "varchar",
"typ": "symbol",
"module": "MLDG",
"label": L("lcl_mld_symbol_name")
},
"color": {

View File

@@ -207,7 +207,7 @@ function model_mld_typeopdr()
},
"symbolname": {
"dbs": "mld_typeopdr_image",
"typ": "varchar",
"typ": "icon",
"label": L("lcl_mld_symbol_name")
},
"accept": {

View File

@@ -14,6 +14,7 @@
*/%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../shared/iface.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"],
@@ -46,17 +47,11 @@ var adres_key = getQParamInt("adres_key", -1);
$(".seperator").hide();
if ($(".col").children().find("div:visible").length > 0) {
$("div[class*='icmenu']").hide();
$(".icmenu"+key).find("img").each(function() {
$(this).attr("src", $(this).attr("thesrc"));
});
$(".icmenu"+key).fadeIn(150);
} else {
if ($(".icmenu"+key).is(":visible")) {
$("div[class*='icmenu']").hide();
} else {
$(".icmenu"+key).find("img").each(function() {
$(this).attr("src", $(this).attr("thesrc"));
});
$(".icmenu"+key).fadeIn(150);
}
}
@@ -125,7 +120,6 @@ var adres_key = getQParamInt("adres_key", -1);
});
if (anyFound)
{
$(this).find("img:not([src])").attr("src", $(this).find("img").attr("thesrc")); // Set the <img> src
$(this).show(); // Show me
var menuid = $(this).attr("data-menuid");
$(".seperator[data-menuid="+menuid+"]").show(); // Show my header
@@ -192,54 +186,17 @@ var main_menu_html = "";
var sub_menu_html = "";
while (!oRs.Eof)
{
var url = "";
var icon = "";
if (last_srtgroep != oRs("groep").Value)
{ // Vakgroep header. Is denkbaar dat we hier het aantal items tonen?
menuid++;
main_menu_html += '<div onclick="showIconMenu(' + menuid + ')" tabindex="0" onkeypress="this.click()" class="bes-menu-button"><h3><a>' + I("fa-chevron-right" + (S("fac_betafeatures") & 2 ? " fa-2x" : "")) + '&nbsp;' + safe.html( oRs("groep").Value) + '</a></h3></div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '"><span>' + safe.html(oRs("groep").Value) + '</span></div>';
}
// Wel erg hard...
if (oRs("foto").Value)
{
icon = oRs("foto").Value;
if (icon.indexOf("/") == -1) // Nog geen enkele slash? Dan moet het wel lokaal zijn.
icon = S("bes_image_path") + icon;
l_icon = icon;
var l_index = l_icon.lastIndexOf('.');
if (l_index != -1)
{
l_icon = l_icon.substr(l_index + 1);
isFA = false;
if (l_icon.toUpperCase() == 'PDF')
{
icon = "fa-file-pdf";
isFA = true;
}
}
url = icon;
}
sub_menu_html += '<div style="display: none;" tabindex="0" onkeypress="this.click()" class="col-6 col-lg-4 col-xl-3 col-xxl-2 besicmenu icmenu' + menuid + '" data-menuid="' + menuid + '" onclick="run_create_bes(' + safe.html(oRs("disc_key").Value) + ',' + safe.html(oRs("product_key").Value) +');">'
+ ' <div class="iconitem">'
+ ' <div class="bes-icon-wrapper">';
if (url)
{
if (isFA) // gebruik een font-awesome icon
{
sub_menu_html += I(icon + " fa-5x");
}
else
{
sub_menu_html += ' <img thesrc="' + safe.htmlattr(url) + '" alt="' + safe.htmlattr(oRs("product").value) + '">';
}
}
else
{
sub_menu_html += I("fa-question fa-5x");
}
sub_menu_html += ' </div>' /* sluit bes-icon-wrapper */
+ ' <div class="bes-icon-wrapper">'
+ SYMBOL(oRs("foto").Value, { "module": "BESPH", "key": oRs("product_key").Value, "defVal": "fa-question" })
+ ' </div>'
+ ' <div class="bes-iconlabel">'
+ (disc_key == -1 ? '<span class="iprdvg">'+safe.html(oRs("vakgroep").value) + '</span>' : '')
+ ' <span class="iprd">'+safe.html(oRs("product").value) + '</span>'

View File

@@ -17,48 +17,11 @@
*/
%>
<!--#include file="fac.inc" -->
<!--#include file="../Shared/FlexFiles.inc" -->
<%
var MENU = { PERS: 0, PROF: 1, MGT: 2, MOB: 3, TAB: 5, FAV: 6, APP: 7, WGT_PAGE: 8, WGT: 9 };
// Zoekt een plaatje onder S("menu_image_path") met fallback naar ../Pictures
var fso = Server.CreateObject("Scripting.FileSystemObject");
function findImage(filename)
{
filename = safe.filename(filename);
if (fso.FileExists(Server.MapPath(S("menu_image_path")) + "/" + filename))
return S("menu_image_path") + filename;
if (fso.FileExists(Server.MapPath("../Pictures/") + "/" + filename))
return "../Pictures/" + filename;
return "";
}
function showImage (img, xtracls, itm)
{
if (!img) return "";
// note: xtracls bevat nu zowel fa-styling (zoals fa-2x) als generieke styling (zoals micon). We zetten deze hier allebei op de span, wat werkt, maar
// niet helemaal zuiver is. Oplossing zou zijn de parameters te verbeteren.
var action = "";
if (itm && itm.href) {
action = " onclick=\"FcltMgr.stopPropagation(event);" + safe.htmlattr("menu(event,'" + safe.jsstring(itm.href) + "', '" + safe.jsstring(itm.name) + "', " + (itm.menu_key||-1) + ");") + "\"";
xtracls += " withaction";
}
// fontawesome
if (img.match(/^fa-/))
{
return "<span" + (xtracls ? " class='"+xtracls+"'" : "") + (S("portalmenu_combine_single") == 1 ? "" : action) + ">" + I(img) + "</span>";
}
// image
var newimg = findImage(img);
if (!newimg)
return "<span title='{0}'{1}{2}>".format(safe.htmlattr(img), action, (xtracls ? " class='"+xtracls+"'" : ""))+ I("fa-question fa-rotate-180") +"</span>";
else
{
// nieuwe authenticated url: newimg = newimg.replace(/cust\/UWVA\/flexfiles\/menu/i, "api2/files/menu");
return "<img class='{0}' alt='{1}' src='{2}' {3}>".format(xtracls, (itm && itm.label ? itm.label : safe.htmlattr(L("lcl_photos"))), safe.htmlattr(newimg), action);
}
}
// Maak een lijstje met items onder een kopje
// Als er meer dan 1 items meer dan max_lines zijn verschijnt een More...-regel
// Het aantal zichtbare regels is dus altijd maximaal max_lines+1.
@@ -94,10 +57,7 @@ function CreateItems(menuItems, pmode, start_collapsed, max_lines)
if (itm.infomsg)
infomsg = " infomsg='" + safe.htmlattr(itm.infomsg) + "'";
var showtxt = ""; // Het zichtbare deel
if (itm.image)
showtxt = showImage(itm.image, 'mimg');
showtxt += (itm.level < 1? itm.name : safe.html(itm.name));
showtxt = (itm.level < 1? itm.name : safe.html(itm.name));
if (Application("otap_environment") == "O")
{
@@ -181,12 +141,13 @@ function CreateMenuGroep(Koppen, pmode)
{
if (menuKop.image && menuKop.image != "")
{
showtxt = showImage(menuKop.image, 'micon fa-2x');
Response.Write(showtxt);
Response.Write("<span class='micon'>"
+ SYMBOL(menuKop.image, { "module": "MENU" })
+ "</span>");
}
else
{
%> <span class="nomicon"> </span><% // invisible but take up the same space as an image
%> <span class="nomicon"></span><% // invisible but take up the same space as an image
}
} %>
<span class="menukop"><%= safe.html(menuKop.label) %></span>
@@ -209,10 +170,10 @@ function CreateMenuGroep(Koppen, pmode)
} else {
Response.Write(safe.htmlattr("FcltMgr.openDetail('" + safe.jsstring(menuKop.href) + "', '" + safe.jsstring(menuKop.label) + "')"));
} %>
"><% /* Einde <li> */ %>
<%=showImage(menuKop.image, "fa-2x", { "label": menuKop.label })%>
">
<span class="micon"><%=SYMBOL(menuKop.image, { "module": "MENU" })%></span>
<% if (iconImg) { %>
<span class="menukop"><%= safe.html(menuKop.label) %></span>
<span class="menukop"><%= safe.html(menuKop.label) %></span>
<% } %>
</li>
<% }
@@ -254,7 +215,7 @@ function generatePortalmenu(koppen, asWidget)
if (!hasOneItem)
{ %>
<span class="menuimg"<%=ttl%>>
<%=showImage(menuKop.image, 'mklogo fa-4x')%>
<%=SYMBOL(menuKop.image, { "module": "MENU" })%>
</span>
<% } %>
<div class='<%=(asWidget ? "widget-menu-kop" : "portalmenukop" + (hasOneItem ? " withimg" : ""))%>'>
@@ -263,8 +224,12 @@ function generatePortalmenu(koppen, asWidget)
</span>
<% if (hasOneItem)
{ %>
<span class="menuimg"<%=ttl%>>
<%=showImage(menuKop.image, "mklogo fa-4x", menuKop.Items[0])%>
<span class="menuimg<%=(menuKop.Items[0].href ? " withaction" : "")%>"<%=ttl%>
<% if (menuKop.Items[0].href) {
Response.Write(" onclick=\"FcltMgr.stopPropagation(event);" + safe.htmlattr("menu(event,'" + safe.jsstring(menuKop.Items[0].href) + "', '" + safe.jsstring(menuKop.Items[0].name) + "', " + (menuKop.Items[0].menu_key||-1) + ");") + "\"");
} %>
>
<%=SYMBOL(menuKop.image, { "module": "MENU", "alt": menuKop.Items[0].label })%>
</span>
<% }
if (!hasOneItem || S("portalmenu_combine_single")<2)
@@ -294,7 +259,7 @@ function generatePortalmenu(koppen, asWidget)
{
%> <a onclick='<%=safe.htmlattr("FcltMgr.openDetail('" + safe.jsstring(menuKop.href) + "', '" + safe.jsstring(menuKop.label) + "')")%>'><%
}
%> <%=showImage(menuKop.image, "mklogo fa-4x")%>
%> <%=SYMBOL(menuKop.image, { "module": "MENU" })%>
</a>
</div>
</div>
@@ -336,8 +301,12 @@ function generatePortalmenuitem(kop)
<span class="menulabel"<%=ttl%>>
<%=safe.html(item.name)%>
</span>
<span class="menuimg"<%=ttl%>>
<%=showImage(item.img || kop.image, "milogo fa-4x", item)%>
<span class="menuimg<%=(item.href ? " withaction" : "")%>"<%=ttl%>
<% if (item.href) {
Response.Write(" onclick=\"FcltMgr.stopPropagation(event);" + safe.htmlattr("menu(event,'" + safe.jsstring(item.href) + "', '" + safe.jsstring(item.name) + "', " + (item.menu_key||-1) + ");") + "\"");
} %>
>
<%=SYMBOL(item.img, { "module": "MENU" })%>
</span>
</div>
</div>
@@ -368,16 +337,6 @@ function fillMenuArray(portalOnly, mobileOnly, appOnly, submenuId, params)
// Voor de functies MET disciplines-autorisaties kunnen we beter direct bijjoinen, vond ik.
// TODO: (in menufunctions.inc): de diepere levels beter/anders supporten (openklapbaar)
/* var selectImage = (mobileOnly
? ", fac_menuitems_image" // evt image
+", fac_menu_image" // evt overrule
: ", COALESCE (fac_menu_image, fac_menuitems_image) image"
);
*/
// waarom bovenstaand verschil? Dit moet toch gewoon kunnen?
var selectImage = ", COALESCE (fac_menu_image, fac_menuitems_image) image";
var sql = "SELECT * FROM ("
+ " SELECT fac_menu_key"
+ " , " + lcl.xsql2('COALESCE (fac_menu_altlabel, fac_menuitems_label)', 'FAC_MENU_ALTLABEL', 'fac_menu_key') + " label"
@@ -388,7 +347,7 @@ function fillMenuArray(portalOnly, mobileOnly, appOnly, submenuId, params)
+ " url "
+ " , fac_menu_filter filter"
+ " , fac_menu_advfilter advfilter"
+ selectImage
+ " , COALESCE (fac_menu_image, fac_menuitems_image) image"
+ " , COALESCE (fac_menu_altgroep, fac_menuitems_groep) groep"
+ " , fac_menu_level "
+ " , fac_menu_portal"
@@ -1133,12 +1092,14 @@ function generateMenu (pmode, groep, menukop_key) // Groep alleen voor mode 3
}
colcnt ++;
actions += "\n<div class='ui-block-" + colnr + " micon" + (itm.hasSubmenu ? " has-submenu" :"") + "'>"
+ "<a href='" + safe.htmlattr(itm.href) + "' data-ajax='false'>"
+ showImage(itm.img, "miconimg")
+ "</a>"
+ "<div class='imgCaption'>" + safe.html(itm.name) + "</div>"
+ "</div>";
actions += "<div class='ui-block-" + colnr + " micon" + (itm.hasSubmenu ? " has-submenu" :"") + "'>"
+ " <a href='" + safe.htmlattr(itm.href) + "' data-ajax='false'>"
+ " <div class='miconimg'>"
+ SYMBOL(itm.img, { "module": "MENU" })
+ " </div>"
+ " </a>"
+ " <div class='imgCaption'>" + safe.html(itm.name) + "</div>"
+ "</div>";
} // End for-loop
actions += "</div>";
}

View File

@@ -17,7 +17,8 @@
*/%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../shared/iface.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<!-- #include file="mld_fe_menu.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"],
@@ -56,7 +57,7 @@ if (srtdisc_key_arr.length > 0)
<% if (aanvrager_key > 0)
{ %>
url += "&prs_key=<%=aanvrager_key%>";
<% }
<% }
if (sametab == 1) {
%>
window.location.href = "../"+ url;
@@ -73,17 +74,11 @@ if (srtdisc_key_arr.length > 0)
$(".seperator").hide();
if ($(".col").children().find("div:visible").length > 0) {
$("div[class*='icmenu']").hide();
$(".icmenu"+key).find("img").each(function( index ) {
$(this).attr("src", $(this).attr("thesrc"));
});
$(".icmenu"+key).fadeIn(150);
} else {
if ($(".icmenu"+key).is(":visible")) {
$("div[class*='icmenu']").hide();
} else {
$(".icmenu"+key).find("img").each(function( index ) {
$(this).attr("src", $(this).attr("thesrc"));
});
$(".icmenu"+key).fadeIn(150);
}
}
@@ -148,7 +143,6 @@ if (srtdisc_key_arr.length > 0)
return new_html.replace(/\n/g, "\n<br>");
});
$(this).find("img:not([src])").attr("src", $(this).find("img").attr("thesrc")); // Set the <img> src
$(this).show(); // Show me
var menuid = $(this).attr("data-menuid");
@@ -156,7 +150,6 @@ if (srtdisc_key_arr.length > 0)
}
if(findStr2.toLowerCase().indexOf(searchStr.toLowerCase()) !== -1)
{
$(this).find("img:not([src])").attr("src", $(this).find("img").attr("thesrc")); // Set the <img> src
$(this).show(); // Show me
var menuid = $(this).attr("data-menuid");
@@ -173,43 +166,6 @@ if (srtdisc_key_arr.length > 0)
<body class="menumode">
<%
PAGE_START();
// geleend uit fac_menu.inc
// Zoekt een plaatje onder S("mlds_image_path") met fallback naar ../Pictures
var fso = Server.CreateObject("Scripting.FileSystemObject");
function findImage(filename)
{
filename = safe.filename(filename);
__Log(S("mlds_image_path") + filename);
if (fso.FileExists(Server.MapPath(S("mlds_image_path")) + "/" + filename))
return S("mlds_image_path") + filename;
if (fso.FileExists(Server.MapPath("../Pictures/") + "/" + filename))
return "../Pictures/" + filename;
return "";
}
// toont afbeelding, ondersteunt ook fontawesome icons en doet vraagtekens bij onbekend en spinning bij filenotfound
function showImage(img, params)
{
params = params || {};
if (!img || img.match(/^fa-/)) {
if (S("fac_betafeatures") & 2 && params.header) params.size = 2;
return I((img || "fa-chevron-right") + (params.size ? " fa-" + params.size + "x" : ""));
}
if (params.header)
return I("fa-chevron-right");
// een echt plaatje. Merk op dat deze pas bij openklappen worden geladen, vandaar thesrc ipv src
var newimg = findImage(img);
if (!newimg)
{
return "<span title='{0}'>".format(safe.htmlattr(img)) + I("fa-question fa-5x") + "</span>";
}
else
{
return "<img loading='lazy' alt='" + safe.htmlattr(L("lcl_photos")) + "' thesrc='{0}'>".format(safe.htmlattr(newimg));
}
}
function colorString2Array(pcolorstr)
{
@@ -258,9 +214,19 @@ while (!oRs.Eof)
if (last_stdmgroep_key != oRs("mld_stdmeldinggroep_key").Value)
{ // Meldinggroep header
menuid++;
main_menu_html += '<div onclick="showIconMenu(' + menuid + ');" tabindex="0" onkeypress="this.click()" class="mld-menu-button"><h3><a>' + showImage(oRs("mld_stdmeldinggroep_image").Value, { header: true }) + L("lcl_fe_menu_stdmeldinggroep") + ' ' + safe.html(oRs("mld_stdmeldinggroep_naam").Value) + '</a></h3></div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '"><span>' + oRs("mld_stdmeldinggroep_naam").Value + '</span></div>';
main_menu_html += '<div onclick="showIconMenu(' + menuid + ');" tabindex="0" onkeypress="this.click()" class="mld-menu-button">'
+ ' <h3>'
+ ' <span>'
+ SYMBOL(oRs("mld_stdmeldinggroep_image").Value, { "module": "MLDG", "defVal": "fa-chevron-right" })
+ L("lcl_fe_menu_stdmeldinggroep") + ' ' + safe.html(oRs("mld_stdmeldinggroep_naam").Value)
+ ' </span>'
+ ' </h3>'
+ '</div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '">'
+ ' <span>'
+ oRs("mld_stdmeldinggroep_naam").Value
+ ' </span>'
+ '</div>';
}
break;
}
@@ -270,8 +236,19 @@ while (!oRs.Eof)
menuid++;
var srtdiscipline_color = colorString2Array(oRs("ins_srtdiscipline_color").Value);
var colorattr = (srtdiscipline_color.length ? " style='background-color: "+safe.html(srtdiscipline_color[0])+"'" : "");
main_menu_html += '<div ' + colorattr + ' onclick="showIconMenu(' + menuid + ');" tabindex="0" onkeypress="this.click()" class="mld-menu-button"><h3><a>' + showImage(oRs("ins_srtdiscipline_image").Value, { header: true }) + L("lcl_fe_menu_srtdiscipline") + ' ' + safe.html(oRs("ins_srtdiscipline_omschrijving").Value) + '</a></h3></div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '"><span>' + oRs("ins_srtdiscipline_omschrijving").Value + '</span></div>';
main_menu_html += '<div ' + colorattr + ' onclick="showIconMenu(' + menuid + ');" tabindex="0" onkeypress="this.click()" class="mld-menu-button">'
+ ' <h3>'
+ ' <span>'
+ SYMBOL(oRs("ins_srtdiscipline_image").Value, { "module": "MLDSD", "defVal": "fa-chevron-right" })
+ L("lcl_fe_menu_srtdiscipline") + ' ' + safe.html(oRs("ins_srtdiscipline_omschrijving").Value)
+ ' </span>'
+ ' </h3>'
+ '</div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '">'
+ ' <span>'
+ oRs("ins_srtdiscipline_omschrijving").Value
+ ' </span>'
+ '</div>';
}
break;
}
@@ -281,8 +258,19 @@ while (!oRs.Eof)
menuid++;
var discipline_color = colorString2Array(oRs("ins_discipline_color").Value);
var colorattr = (discipline_color.length ? " style='background-color: "+safe.html(discipline_color[0])+"'" : "");
main_menu_html += '<div ' + colorattr + ' onclick="showIconMenu(' + menuid + ');" tabindex="0" onkeypress="this.click()" class="mld-menu-button"><h3><a>' + showImage(oRs("ins_discipline_image").Value, { header: true }) + L("lcl_fe_menu_discipline") + ' ' + safe.html(oRs("full_discname").Value) + '</a></h3></div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '"><span>' + oRs("full_discname").Value + '</span></div>';
main_menu_html += '<div ' + colorattr + ' onclick="showIconMenu(' + menuid + ');" tabindex="0" onkeypress="this.click()" class="mld-menu-button">'
+ ' <h3>'
+ ' <span>'
+ SYMBOL(oRs("ins_discipline_image").Value, { "module": "MLDD", "defVal": "fa-chevron-right" })
+ L("lcl_fe_menu_discipline") + ' ' + safe.html(oRs("full_discname").Value)
+ ' </span>'
+ ' </h3>'
+ '</div>';
sub_menu_html += '<div class="seperator" style="display: none;" data-menuid="' + menuid + '">'
+ ' <span>'
+ oRs("full_discname").Value
+ ' </span>'
+ '</div>';
}
}
}
@@ -295,7 +283,7 @@ while (!oRs.Eof)
+ ' onclick="run_create_mld(' + oRs("ins_srtdiscipline_key").Value + ',' + oRs("mld_stdmelding_key").Value + ',\'' + safe.jsstring(oRs("mld_stdmelding_externurl").Value) + '\');">'
+ ' <div class="iconitem">'
+ ' <div class="mld-icon-wrapper" style="' + (colors[0] ? 'background-color: ' + safe.html(colors[0]) + ';' : '') + ' ' + (colors[1] ? 'color: ' + safe.html(colors[1]) + ';' : '') + '">'
+ showImage(oRs("mld_stdmelding_image").Value, { size: 5 })
+ SYMBOL(oRs("mld_stdmelding_image").Value, { "module": "MLDS", "defVal": "fa-question" })
+ ' </div>'
+ ' <div class="mld-iconlabel" title="' + safe.htmlattr(oRs("mld_stdmelding_omschrijving").value) + '" style="' + (colors[2] ? 'background-color: ' + safe.html(colors[2]) + ';' : '') + ' ' + (colors[3] ? 'color: ' + safe.html(colors[3]) + ';' : '')+ '">'
+ safe.html(oRs("mld_stdmelding_omschrijving").value)

View File

@@ -65,7 +65,7 @@ div.ui-controlgroup {
box-sizing: border-box;
}
span.miconimg {
.miconimg {
font-size: 4em;
color: var(--mobileiconcolor, inherit);
text-shadow: 1px 1px #FFF;
@@ -76,7 +76,7 @@ span.listiconimg {
text-shadow: 1px 1px #FFF;
padding-right: 3px;
}
/* als groter (bv landscape) dan groter */
@media all and (min-width: 480px) {
.ui-grid-b img {
@@ -85,7 +85,7 @@ span.listiconimg {
.ui-grid-b .imgCaption {
font-size: 13px;
}
span.miconimg {
.miconimg {
font-size: 5em;
}
}
@@ -96,7 +96,7 @@ span.listiconimg {
.ui-grid-b .imgCaption {
font-size: 14px;
}
span.miconimg {
.miconimg {
font-size: 6em;
}
}
@@ -109,7 +109,7 @@ span.listiconimg {
font-size: 15px;
line-height: 2em;
}
span.miconimg {
.miconimg {
font-size: 7em;
}
}
@@ -255,6 +255,9 @@ div.subheader {
left: 3.125em;
transform: translate(-50%, -50%);
}
.pda-list-icon i {
font-size: 2em;
}
.c1, .n1 {
color: var(--mobilelisttextcolor, inherit);
font-size: 0.8em !important;
@@ -530,6 +533,10 @@ div.dbezet .plantime {
text-align: center;
color: var(--mobileicontextcolor, inherit) !important;
}
.micon a {
display: flex;
justify-content: center;
}
.selfie {
border-radius: 20px;
@@ -1056,8 +1063,7 @@ ul#stdmldtable li h3 {
display: list-item !important;
}
.has-submenu
{
.has-submenu {
text-decoration: underline;
}
.miconimg {

View File

@@ -369,13 +369,13 @@ function ICON_GRID_HTML(items)
{
var result = "<div class='container-fluid ui-grid-b'>"
+ " <div class='row'>";
for (x in items)
for (var x in items)
{
var item = items[x];
result += "<div class='col-4 micon'>"
+ " <a href='" + safe.htmlattr(item.href) + "'" + (item.color ? " style='color: " + safe.htmlattr(item.color) + ";'" : "") + " data-ajax='false'>"
+ " <span class='miconimg'>"
+ (item.img.match(/^fa-/) ? I(item.img) : "<img alt='" + safe.htmlattr(item.desc) + "' src='" + safe.htmlattr(item.img) + "'>")
+ " <a href='" + safe.htmlattr(item.href) + "' data-ajax='false'>"
+ " <span class='miconimg'" + (item.color ? " style='color: " + safe.htmlattr(item.color) + ";'" : "") + ">"
+ item.img
+ " </span>"
+ " </a>"
+ " <div class='imgCaption'>"
@@ -777,6 +777,35 @@ function CATLIST_ARTIKEL(p_cat_id, params)
}
}
function SYMBOL(name, params) {
params = params || {};
var symbol = name || params.defVal;
if (symbol) {
return symbol.match(/^fa-/) !== null ? I(symbol, params)
: IMG(symbol, params);
}
return "";
}
function IMG(fileName, params) {
if ("module" in params) {
var fso = Server.CreateObject("Scripting.FileSystemObject");
var flexParams = {};
if ("key" in params) {
flexParams.getFiles = true;
} else if (fileName) {
flexParams.getFile = fileName;
}
var fileProps = flexProps(params.module, params.key || null, null, null, flexParams);
if (fileProps.files.length && fso.FileExists(fileProps.AttachPath + fileProps.files[0].name)) {
return "<img loading='lazy' src='" + safe.htmlattr(fileProps.files[0].deepurl) + "' alt='" + safe.htmlattr(params.alt || L("lcl_photos")) + "'>";
} else {
return "<span title='{0}'>".format(safe.htmlattr(fileName || "")) + I("fa-question") + "</span>";
}
}
return "";
}
// Returns an icon to be displayed. icon can be an image (e.g. "notfound.png") or a fontawesome icon-name (e.g. "fa-user")
// trailing fa-qualifiers (e.g. "fa-2x fa-rotate-180" are preserved
// The optional params provides some options

View File

@@ -19,6 +19,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<!-- #include file="./iface.inc" -->
<!-- #include file="../mld/mld_fe_menu.inc" -->
@@ -51,13 +52,13 @@ function findImage(filename)
<%
PAGE_START();
var page_title;
var page_title, imgModule;
switch (lvl) {
case 0: page_title = L("lcl_mobile_selectmeldingtype"); break;
case 1: page_title = L("lcl_mobile_selectmldisc"); break;
case 2: page_title = L("lcl_mobile_selectmldgroep"); break;
case 0: page_title = L("lcl_mobile_selectmeldingtype"); imgModule = "MLDSD"; break;
case 1: page_title = L("lcl_mobile_selectmldisc"); imgModule = "MLDD"; break;
case 2: page_title = L("lcl_mobile_selectmldgroep"); imgModule = "MLDG"; break;
case 9:
default: page_title = L("lcl_mobile_selectmelding"); break;
default: page_title = L("lcl_mobile_selectmelding"); imgModule = "MLDS"; break;
}
HEADER({ title: page_title, home: true, back: true, location: false });
@@ -70,15 +71,13 @@ function findImage(filename)
var oRs = Oracle.Execute(sql);
var items = [];
while (!oRs.eof)
{
while (!oRs.eof) {
if (lvl == 9)
{
var img = oRs("mld_stdmelding_image").Value || "";
items.push({
"href": (oRs("mld_stdmelding_externurl").Value || "melding_new.asp?urole=" + urole + "&stdm=" + oRs("mld_stdmelding_key").Value),
"desc": oRs("mld_stdmelding_omschrijving").Value || "",
"img": findImage(img) || (img.match(/^fa-/) ? img : "fa-question fa-rotate-180"),
"img": SYMBOL(oRs("mld_stdmelding_image").Value, { "module": imgModule, "alt": oRs("mld_stdmelding_omschrijving").Value, "defVal": "fa-question fa-rotate-180" }),
"color": oRs("mld_stdmelding_color").Value || ""
});
oRs.MoveNext();
@@ -99,18 +98,11 @@ function findImage(filename)
items.push({
"href": "melding_menu.asp?lvl=9" + qs,
"desc": oRs("descr").Value || "",
"img": oRs("image").Value || "fa-question fa-rotate-180",
"img": SYMBOL(oRs("image").Value, { "module": imgModule, "alt": oRs("descr").Value, "defVal": "fa-question fa-rotate-180" }),
"color": oRs("color").Value || ""
});
oRs.MoveNext();
}
/* 1 optie gevonden -> direct door
if (oRs.eof && items.length == 1)
{
oRs.Close();
Response.Redirect(items[0].href);
}
Bevinding; direct door is onoverzichtelijk */
}
oRs.Close();

View File

@@ -636,9 +636,9 @@ var canAdd = addparams && addparams.ALGwritelevel;
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++)
{
var xflag = getQParam("flag" + flagkey, "x");
if (xflag == "on")
if (xflag == "on")
url+= "&flag" + flagkey + "=on";
else if (xflag == "off")
else if (xflag == "off")
url += "&flag" + flagkey + "=off";
}
}
@@ -669,7 +669,7 @@ var canAdd = addparams && addparams.ALGwritelevel;
var tekst = (oRs("ins_srtdiscipline_prefix").Value || "") + oRs("mld_melding_key").Value;
if (S("mld_num_prefix_mode") > 0 && oRs("mld_prefix").Value)
tekst = oRs("mld_prefix").Value + "#" + tekst;
tekst = (oRs("mld_stdmelding_image").Value ? "<span class='listiconimg'>" + I(oRs("mld_stdmelding_image").Value) + "</span>" : "") + tekst;
tekst = ((oRs("mld_stdmelding_image").Value || "").match(/fa-/) ? "<span class='listiconimg'>" + I(oRs("mld_stdmelding_image").Value) + "</span>" : "") + tekst;
return tekst;
};
@@ -686,21 +686,21 @@ var canAdd = addparams && addparams.ALGwritelevel;
var flagkey = (S("mld_melding_flags") > 0 && urole!="fe" && oRs("mld_melding_flag").Value)||0;
var actiecode = oRs("mld_melding_actiecode").Value;
return "<div class='listbodykop'>"
+ (oRs("melder").Value != oRs("behandelaar").Value
? I("fa-user") + "&nbsp;" + safe.html(oRs("melder").Value)
+ (oRs("melder").Value != oRs("behandelaar").Value
? I("fa-user") + "&nbsp;" + safe.html(oRs("melder").Value)
: ""
)
+ (actiecode & 128 ? "<span class='ac128'>" + I("fa-bell", { fastyle: "fas" }) + "&nbsp;" + L("lcl_mld_actiecodeATT") + "</span>" : "")
+ (actiecode & 2 ? "<span class='ac2'>" + I("fa-user-circle", { fastyle: "fas" }) + "&nbsp;" + L("lcl_mld_actiecodeFE") + "</span>" : "")
+ (oRs("melder").Value != oRs("behandelaar").Value || actiecode & 128 || actiecode & 2 ? "<br>" : "")
+ (oRs("plaatsmelding").Value? I("fa-map-marker") + "&nbsp;" + safe.html(oRs("plaatsmelding").Value) + "<br>" : "")
+ (oRs("mld_stdmelding_planbaar").Value&2 != 2
+ (oRs("mld_stdmelding_planbaar").Value&2 != 2
? I("fa-clock") + "&nbsp;" + toDateTimeString(oRs("mld_melding_einddatum").Value, false, false, true) + "<br>"
: ""
)
+ (flagkey ? "<span class='mldflag"+flagkey+"'>" + I("fa-fclt-flag") + "</span>&nbsp;" + L("lcl_mld_flag" + flagkey)+ "<br>" : "")
+ (oRs("behandelaar").Value
? I("fa-hand-point-right") + "&nbsp;" + safe.html(oRs("behandelaar").Value)
+ (flagkey ? "<span class='mldflag"+flagkey+"'>" + I("fa-fclt-flag") + "</span>&nbsp;" + L("lcl_mld_flag" + flagkey)+ "<br>" : "")
+ (oRs("behandelaar").Value
? I("fa-hand-point-right") + "&nbsp;" + safe.html(oRs("behandelaar").Value)
: ""
)
+ "</div>"

View File

@@ -20,6 +20,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<!-- #include file="./iface.inc" -->
<!-- #include file="./resultset_table.inc" -->
<!-- #include file="../res/res_rsv_deel_by_placetime.inc" -->
@@ -94,8 +95,6 @@ var thema_key = getQParamInt("thema_key", 12);
var themaI_key = getQParamInt("themaI_key", 13);
var bordlabel_key= getQParamInt("bordlabel_key", 13);
var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijdelijk alternatief voor alg_gebouw_image
var daylimit = getQParamInt("daylimit", 12); // na daylimit kun je voor de eerste dag niet meer reserveren, default 12:00, werkt niet icm offset
var afternoon = new Date().getHours() >= daylimit;
var dateoffset = getQParamInt("offset", afternoon?1:0); // 12:00 default morgen ipv vandaag
@@ -214,35 +213,11 @@ if (datelimit == -1)
}
function fnGebouwIcon(oRs)
{
var icon = "fa-building";
if (oRs.Fields("alg_gebouw_image").Value != null)
{
icon = oRs.Fields("alg_gebouw_image").Value;
if (!icon.match(/^http/))
icon = safe.htmlattr(S("alg_image_path") + "gebouw/" + icon);
}
else if (gebouwimage_flex_key != null)
{
var sql_bld_afb = "SELECT fac_bijlagen_key"
+ " FROM fac_bijlagen"
+ " WHERE fac_bijlagen_refkey = " + oRs("alg_gebouw_key").Value
+ " AND fac_bijlagen_module = 'ALG'"
+ " AND fac_bijlagen_kenmerk_key = " + gebouwimage_flex_key
+ " AND fac_bijlagen_verwijder IS NULL";
oRs_bld_afb = Oracle.Execute(sql_bld_afb);
// take the first image
if (!oRs_bld_afb.eof)
{
icon = protectQS.create(HTTP.urlzelf() + "/appl/shared/BijlagenStream.asp"
+ "?bijlagen_key=" + oRs_bld_afb("fac_bijlagen_key").Value + "&module=ALG");
}
oRs_bld_afb.close();
}
if (icon == "fa-building") icon = '<div class="buildingavatar">' + safe.html((oRs("alg_locatie_code").Value).substr(0,2).toUpperCase()) + "</div>";
return icon;
return SYMBOL(oRs("alg_gebouw_image").Value, { "module": "ALGPHG", "key": oRs("alg_gebouw_key").Value })
|| ('<div class="buildingavatar">' + safe.html((oRs("alg_locatie_code").Value).substr(0,2).toUpperCase()) + '</div>');
}
var sql = rdpt.mijn_verdiepingen_met_resdelen_sql(res_disc_key_arr, -1, ALGwritelevel, dateoffset, gebouwimage_flex_key);
var sql = rdpt.mijn_verdiepingen_met_resdelen_sql(res_disc_key_arr, -1, ALGwritelevel, dateoffset);
var rst = new ResultsetTable({ sql: sql
, tableTitle: fav > 0 ? L("lcl_mobile_gebouwen") : ""
, keyColumn: "alg_gebouw_key"

View File

@@ -18,6 +18,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<!-- #include file="./iface.inc" -->
<!-- #include file="./resultset_table.inc" -->
<!-- #include file="../res/res_rsv_ruimte_by_placetime.inc" -->
@@ -78,7 +79,6 @@ if (datelimit == -1)
var thema_key = getQParamInt("thema_key", 12);
var themaI_key = getQParamInt("themaI_key", 13);
var bordlabel_key = getQParamInt("bordlabel_key", 13);
var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijdelijk alternatief voor alg_gebouw_image
%>
<html>
<head>
@@ -208,31 +208,7 @@ var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijde
}
function fnGebouwIcon(oRs)
{
var icon = "fa-building";
if (oRs.Fields("alg_gebouw_image").Value != null)
{
icon = oRs.Fields("alg_gebouw_image").Value;
if (!icon.match(/^http/))
icon = safe.htmlattr(S("alg_image_path") + "gebouw/" + icon);
}
else if (gebouwimage_flex_key != null)
{
var sql_bld_afb = "SELECT fac_bijlagen_key"
+ " FROM fac_bijlagen"
+ " WHERE fac_bijlagen_refkey = " + oRs("alg_gebouw_key").Value
+ " AND fac_bijlagen_module = 'ALG'"
+ " AND fac_bijlagen_kenmerk_key = " + gebouwimage_flex_key
+ " AND fac_bijlagen_verwijder IS NULL";
oRs_bld_afb = Oracle.Execute(sql_bld_afb);
// take the first image
if (!oRs_bld_afb.eof)
{
icon = protectQS.create(HTTP.urlzelf() + "/appl/shared/BijlagenStream.asp"
+ "?bijlagen_key=" + oRs_bld_afb("fac_bijlagen_key").Value + "&module=ALG");
}
oRs_bld_afb.close();
}
return icon;
return SYMBOL(oRs("alg_gebouw_image").Value, { "module": "ALGPHG", "key": oRs("alg_gebouw_key").Value, "defVal": "fa-building" });
}
var sql = rrpt.mijn_verdiepingen_met_resruimten_sql(res_disc_key_arr, act_key, geb_key, authparams.ALGwritelevel, dateoffset);
@@ -499,7 +475,7 @@ var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijde
{
icon = oRs.Fields("res_ruimte_image").Value;
if (!icon.match(/^http/))
icon = safe.htmlattr(S("res_image_path") + "ruimte/" + icon);
icon = safe.htmlattr(S("res_image_path") + icon);
}
return icon;
}

View File

@@ -238,27 +238,25 @@ function __rsMakeTableRow(oRs, cnt)
var line = "";
var addedI = false;
if (this.prefixColumn)
{
line += __fnContent(this.prefixColumn)(oRs, this.prefixColumn);
if (this.prefixColumn) {
line += __fnContent(this.prefixColumn)(oRs, this.prefixColumn);
}
if (this.iconColumn)
{
var icon = __fnContent(this.iconColumn)(oRs, this.processParams)
var icon = __fnContent(this.iconColumn)(oRs, this.processParams)
if (icon) {
if (icon.match(/^fa-/))
{
if (icon.match(/^<img/)) { // Ik ben al een plaatje :)
line += icon;
} else if (icon.match(/^fa-/)) {
line += '<span class="pda-list-icon">' + I(icon + " fa-2x") + '</span>';
addedI = true;
}
else if (icon.match(/^</)) // safe html, bv een <div> of <i>
{
} else if (icon.match(/^</)) { // safe html, bv een <div> of <i>
line += '<span class="pda-list-icon">' + icon + '</span>';
addedI = true;
}
else
} else {
line += '<img loading="lazy" src="' + safe.htmlattr(icon) + '" alt="' + L("lcl_photos") + '">';
}
}
}

View File

@@ -43,6 +43,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<!-- #include file="../shared/iface.inc" -->
<!-- #include file="../res/res_rsv_deel_by_placetime.inc" -->
<%
@@ -98,7 +99,7 @@ var catalogusnaam = "??";
while (!oRs.eof)
{
if (oRs("authorized_for_disc").Value == 1) { // Alleen als je er rechten op hebt
res_disc_key_arr.push(oRs("ins_discipline_key").value);
res_disc_key_arr.push(oRs("ins_discipline_key").Value);
ins_discipline_min_level = oRs("ins_discipline_min_level").Value;
catalogusnaam = oRs("ins_discipline_omschrijving").Value;
}
@@ -122,7 +123,6 @@ var avail_flrs = getQParamIntArray("avail_flrs", []);
var res_deel_key = getQParamInt("wsp_key", -1);
var showAll = getQParamInt("showall", 0) == 1;
var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijdelijk alternatief voor alg_gebouw_image
var fac_usrrap_key = getQParamInt("usrrap_key", -1); // wordt doorgegeven naar het infobord
var daylimit = getQParamInt("daylimit", 12); // na daylimit kun je voor de eerste dag niet meer reserveren, default 12:00, werkt niet icm offset
@@ -169,7 +169,7 @@ var link2res = getQParamInt("link2res", 1);
var deel2res = 1; // het is een reserveerbaar deel
// ik twijfel of geb_key en floor_key hier in moeten, voor de zekerheid nu ff 2 versies dan maar
var transitParam1 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'act_key', 'res_disc', 'contmode', 'floorselect', 'date', 'link2res', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY', 'gebouwimage_flex_key'],
var transitParam1 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'act_key', 'res_disc', 'contmode', 'floorselect', 'date', 'link2res', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY'],
{ 'res_disc': res_disc_key_arr}); // res_disc_key_arr is specifieker dan res_disc
var transitParam2 = buildTransitParam(['daylimit', 'offset', 'limit', 'selectmode', 'act_key', /*'res_disc',*/ 'contmode', 'floorselect', 'date', 'link2res', 'geb_key', 'floor_key', 'wsp_key', 'dagcapaciteit', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'bordlabel_key', 'themaI_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY']);
@@ -271,15 +271,7 @@ if (datelimit == -1)
accord.accordion({collapsible: true,
active: false,
heightStyle: "content",
activate: function () { FcltMgr.resized(); },
beforeActivate: function(event, ui)
{ // delay load images
$("img", ui.newPanel).each(function ()
{
this.src = this.getAttribute("theSrc");
}
);
}
activate: function () { FcltMgr.resized(); }
});
// flex-box fix for Internet Explorer
@@ -377,8 +369,8 @@ if (datelimit == -1)
<%
while (!oRs.eof)
{
var licon = I((oRs("ins_discipline_image").value ? oRs("ins_discipline_image").value : "fa-circle")+ " fa-2x");
var t_fav = (oRs("alg_locatie_plaats").value?oRs("alg_locatie_plaats").Value+"-" :"")
var licon = I((oRs("ins_discipline_image").Value || "fa-circle")+ " fa-2x");
var t_fav = (oRs("alg_locatie_plaats").Value?oRs("alg_locatie_plaats").Value+"-" :"")
+ oRs("alg_gebouw_naam").Value + " "
//+ oRs("alg_verdieping_omschrijving").Value + " "
+ oRs("res_deel_omschrijving").Value;
@@ -400,7 +392,7 @@ if (datelimit == -1)
oRs.Close();
}
var sql = rdpt.mijn_verdiepingen_met_resdelen_sql(res_disc_key_arr, -1, ALGwritelevel, dateoffset, gebouwimage_flex_key);
var sql = rdpt.mijn_verdiepingen_met_resdelen_sql(res_disc_key_arr, -1, ALGwritelevel, dateoffset);
var oRs = Oracle.Execute(sql)
while (!oRs.Eof)
@@ -409,59 +401,27 @@ if (datelimit == -1)
{ // Catalogus-header; niet noodzakelijk als het er maar eentje is, maar hoort ook dan bij de accordeon
catalogus_header("bld", {act: oRs("ins_discipline_omschrijving").Value});
}
var gebkey = oRs("alg_gebouw_key").Value; // dan weet ik hem nog na de close
var bld_icon = "fa-building";
if (oRs.Fields("alg_gebouw_image").Value != null)
{
bld_icon = oRs.Fields("alg_gebouw_image").Value;
if (!bld_icon.match(/^http/))
bld_icon = S("alg_image_path") + "gebouw/" + bld_icon;
}
else if (gebouwimage_flex_key != null)
{
var sql_bld_afb = "SELECT fac_bijlagen_key"
+ " FROM fac_bijlagen"
+ " WHERE fac_bijlagen_refkey = " + oRs("alg_gebouw_key").Value
+ " AND fac_bijlagen_module = 'ALG'"
+ " AND fac_bijlagen_kenmerk_key = " + gebouwimage_flex_key
+ " AND fac_bijlagen_verwijder IS NULL";
oRs_bld_afb = Oracle.Execute(sql_bld_afb);
// take the first image
if (!oRs_bld_afb.eof)
{
bld_icon = protectQS.create(HTTP.urlzelf() + "/appl/shared/BijlagenStream.asp"
+ "?bijlagen_key=" + oRs_bld_afb("fac_bijlagen_key").Value + "&module=ALG");
}
oRs_bld_afb.close();
}
var bld_icon_html;
if (bld_icon.match(/^fa-/))
{
bld_icon_html = I(bld_icon + " fa-4x");
}
else
{
bld_icon_html = '<img loading="lazy" alt="' + safe.htmlattr(L("alg_gebouw")) + '" theSrc="{0}">'.format(safe.htmlattr(bld_icon));
}
%>
<div class='iconmenu'
title='<%=safe.htmlattr(oRs("alg_locatie_plaats").Value)%>'
onclick='continue_with_bld(<%=oRs("alg_gebouw_key").Value%>,-1,-1);'>
<div class="iconitem">
<div class="iconimg iconbld" ><%=bld_icon_html%></div>
<div class="res-iconlabel">
<% var thisbuilding = oRs("alg_gebouw_naam").value
Response.write(safe.html((oRs("alg_locatie_plaats").value?oRs("alg_locatie_plaats").value+"-" :"")+oRs("alg_gebouw_naam").value))
Response.write("<br>"+safe.html(oRs("aantal").value +" "+oRs("ins_discipline_omschrijving").Value).toLowerCase())
title='<%=safe.htmlattr(oRs("alg_locatie_plaats").Value)%>'
onclick='continue_with_bld(<%=oRs("alg_gebouw_key").Value%>,-1,-1);'>
<div class="iconitem">
<div class="iconimg iconbld">
<%=SYMBOL(oRs.Fields("alg_gebouw_image").Value, { "module": "ALGPHG", "key": oRs("alg_gebouw_key").Value, "defVal": "fa-building", "alt": L("alg_gebouw") })%>
</div>
<div class="res-iconlabel">
<% var thisbuilding = oRs("alg_gebouw_naam").Value;
Response.write(safe.html((oRs("alg_locatie_plaats").Value ? oRs("alg_locatie_plaats").Value+"-" :"")+oRs("alg_gebouw_naam").Value))
Response.write("<br>"+safe.html(oRs("aantal").Value +" "+oRs("ins_discipline_omschrijving").Value).toLowerCase())
oRs.MoveNext();
while (!oRs.eof && oRs("alg_gebouw_naam").Value == thisbuilding)
{
Response.write("<br>"+safe.html(oRs("aantal").Value +" "+oRs("ins_discipline_omschrijving").Value).toLowerCase())
oRs.MoveNext();
while (!oRs.eof && oRs("alg_gebouw_naam").value == thisbuilding)
{
Response.write("<br>"+safe.html(oRs("aantal").value +" "+oRs("ins_discipline_omschrijving").Value).toLowerCase())
oRs.MoveNext();
}
}
%>
</div>
</div>
</div>
</div>
</div>
<%
pos ++;
@@ -520,8 +480,8 @@ if (datelimit == -1)
{
Response.write("</div></td></tr></table></div>");
}
// ander icon ook wellicht
var licon = I((oRs("ins_discipline_image").value ? oRs("ins_discipline_image").value : "fa-circle")+ " fa-2x");
// Ander icon ook wellicht
var licon = I((oRs("ins_discipline_image").Value || "fa-circle") + " fa-2x");
catalogus_header("day", {bld: gebouw_naam, disc: oRs("ins_discipline_omschrijving").Value});
prevdisc = oRs("ins_discipline_omschrijving").Value
}
@@ -547,13 +507,13 @@ if (datelimit == -1)
{
var beschikbaarheid = ((1 - (oRs("gevuld").Value/(calc_dagcapaciteit*aantalitems)))*100).toFixed(0); // 0..100
}
var bcls = rdpt.bezettings_class(oRs("gevuld").value, calc_dagcapaciteit*aantalitems, minimumbeschikbaarheid*aantalitems);
if (oRs("vrijedag").value > 0)
var bcls = rdpt.bezettings_class(oRs("gevuld").Value, calc_dagcapaciteit*aantalitems, minimumbeschikbaarheid*aantalitems);
if (oRs("vrijedag").Value > 0)
{
bcls += " vrijedag";
reserveerbaredag = false;
}
if (oRs("weekdag").value == 1 || oRs("weekdag").value == 7)
if (oRs("weekdag").Value == 1 || oRs("weekdag").Value == 7)
{
if (werkdagen)
{
@@ -594,7 +554,7 @@ if (datelimit == -1)
%>
<div id='accordion'>
<%
var sql = rdpt.mijn_verdiepingen_met_resdelen_sql(res_disc_key_arr, geb_key, ALGwritelevel, dateoffset, gebouwimage_flex_key, resdate);
var sql = rdpt.mijn_verdiepingen_met_resdelen_sql(res_disc_key_arr, geb_key, ALGwritelevel, dateoffset, resdate);
var oRs = Oracle.Execute(sql)
var pos = 0;
var avail_flrs = [];
@@ -608,7 +568,7 @@ if (datelimit == -1)
if (pos == 0)
{ // Catalogus-header; niet noodzakelijk als het er maar eentje is, maar hoort ook dan bij de accordeon
catalogus_header( "flr"
, { bld: oRs("alg_gebouw_naam").value
, { bld: oRs("alg_gebouw_naam").Value
, disc: oRs("ins_discipline_omschrijving").Value
, resdate: resdate
, keys: {'gebkey': gebkey, 'flrkey': flrkey, 'disckey': disckey}
@@ -621,15 +581,15 @@ if (datelimit == -1)
var sql2 = rdpt.dagbezetting_resdelen_in_gebouw_sql(res_disc_key_arr, gebkey, flrkey, dateoffset, datelimit, resdate);
var oRs2 = Oracle.Execute(sql2)
var beschikbaarheid = ((1 - (oRs2("gevuld").Value/(dagcapaciteit*aantalitems)))*100); // 0..100
var fcls = rdpt.bezettings_class(oRs2("gevuld").value, dagcapaciteit*aantalitems, minimumbeschikbaarheid*aantalitems);
var fcls = rdpt.bezettings_class(oRs2("gevuld").Value, dagcapaciteit*aantalitems, minimumbeschikbaarheid*aantalitems);
%>
<div class='iconmenu'
title='<%=safe.htmlattr(oRs("alg_locatie_plaats").Value+"-"+oRs("alg_gebouw_naam").value)%>'
title='<%=safe.htmlattr(oRs("alg_locatie_plaats").Value+"-"+oRs("alg_gebouw_naam").Value)%>'
onclick='continue_with_bld(<%=oRs("alg_gebouw_key").Value%>,<%=oRs("alg_verdieping_key").Value%>,<%=oRs("ins_discipline_key").Value%>);'>
<div class="iconitem">
<div class="iconimg iconbld <%=fcls%>"><%=flr_icon%></div>
<div class="res-iconlabel" ><%=safe.html(oRs("alg_verdieping_omschrijving").value) +"<br>"+safe.html(oRs("aantal").value +" "+oRs("ins_discipline_omschrijving").Value).toLowerCase() %><br><%=L("lcl_mobile_resbeschikbaar")+" "+safe.html(beschikbaarheid.toFixed(0) +"%") %></div>
<div class="res-iconlabel" ><%=safe.html(oRs("alg_verdieping_omschrijving").Value) +"<br>"+safe.html(oRs("aantal").Value +" "+oRs("ins_discipline_omschrijving").Value).toLowerCase() %><br><%=L("lcl_mobile_resbeschikbaar")+" "+safe.html(beschikbaarheid.toFixed(0) +"%") %></div>
</div>
</div>
<%
@@ -780,36 +740,21 @@ if (datelimit == -1)
function fnIntervallen(oRs)
{
var res = rdpt.getIntervalString(oRs("res_deel_key").value, resdate, bloktijden);
var res = rdpt.getIntervalString(oRs("res_deel_key").Value, resdate, bloktijden);
if (res =="") res = L("lcl_res_intervalbezet");
return res;
}
function fnResDeelPhoto(oRs)
{
var icon = "fa-th-list";
if (oRs.Fields("res_deel_image").Value != null)
{
icon = oRs.Fields("res_deel_image").Value;
if (!icon.match(/^http/))
icon = safe.htmlattr(S("res_image_path") + "deel/" + icon);
}
if (icon.match(/^fa-/))
{
return I(icon + " fa-2x");
}
else
{
return '<img loading="lazy" alt="' + safe.htmlattr(L("res_deel_image")) + '" src="' + safe.htmlattr(icon) + '">';
}
return SYMBOL(oRs("res_deel_image").Value, { "module": "RESPHD", "defVal": "fa-th-list fa-2x" });
}
function fnResDeelIcon(oRs)
{
// een gekleurde indicatie
var lcls = rdpt.bezettings_class(oRs("bezet").value, dagcapaciteit, minimumbeschikbaarheid);
var licon = oRs("ins_discipline_image").value ? I(oRs("ins_discipline_image").value + " fa-2x") : I("fa-circle fas fa-2x");
var lcls = rdpt.bezettings_class(oRs("bezet").Value, dagcapaciteit, minimumbeschikbaarheid);
var licon = I((oRs("ins_discipline_image").Value || "fa-circle") + " fa-2x");
return ('<span class="{0}">' + licon + '</span>').format(lcls, licon);
}
@@ -820,7 +765,7 @@ if (datelimit == -1)
// als voordeel heeft dat ook bezetting buiten de intervallen mee telt. Wat goed of fout kan zijn.
// Gedachte is een globaal array te maken met voor elke plek het aantal intervallen, dat alleen wordt berekend
// als dat nog niet eerder gebeurde.
return rdpt.bezettings_class(oRs("bezet").value, dagcapaciteit, minimumbeschikbaarheid);
return rdpt.bezettings_class(oRs("bezet").Value, dagcapaciteit, minimumbeschikbaarheid);
}
sql = rdpt.res_deel_bezetting_op_dag_sql(res_disc_key_arr, geb_key, floor_key, resdate, (onlyfree ? dagcapaciteit - minimumbeschikbaarheid : null));

View File

@@ -75,7 +75,7 @@ rdpt = {
// Selecteer gebouwen of verdiepingen waarop res_delen van deze disciplines voorkomen, met wat gegevens
// Als gebouw_key -1 is worden gebouwen geselecteerd, als er een gebouw_key gegeven is, dan de verdiepingen
mijn_verdiepingen_met_resdelen_sql: function(p_res_disc_key_arr, p_gebouw_key, p_alglevel, p_dateoffset, p_fleximage_key, p_resdate)
mijn_verdiepingen_met_resdelen_sql: function(p_res_disc_key_arr, p_gebouw_key, p_alglevel, p_dateoffset, p_resdate)
{
var lsql = " SELECT l.alg_locatie_plaats"

View File

@@ -28,6 +28,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../res/res.inc" -->
<!-- #include file="../Shared/FlexFiles.inc" -->
<!-- #include file="../shared/iface.inc" -->
<!-- #include file="../res/res_rsv_ruimte_by_placetime.inc" -->
<%
@@ -109,7 +110,6 @@ var disc_keys = getQParamIntArray("discs", []);
var geb_key = getQParamInt("geb_key", -1);
var floor_key = getQParamInt("floor_key", -1);
var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijdelijk alternatief voor alg_gebouw_image
var fac_usrrap_key = getQParamInt("usrrap_key", -1); // wordt doorgegeven naar het infobord
var daylimit = getQParamInt("daylimit", 17); // na daylimit kun je voor de eerste dag niet meer reserveren, default 12:00, werkt niet icm offset
@@ -142,7 +142,7 @@ var iconmenu_height = Math.floor(100/S("iconcolumns")*0.6);
var werkdagen = true;
// ik twijfel of geb_key en floor_key hier in moeten, voor de zekerheid nu ff 2 versies dan maar
var transitParam1 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'floorselect', 'date', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY', 'discs', 'gebouwimage_flex_key'],
var transitParam1 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'floorselect', 'date', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY', 'discs'],
{ 'res_disc': discArr }); // discArr is specifieker dan res_disc
var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', 'limit', 'selectmode', 'res_disc', 'floorselect', 'date', 'geb_key', 'floor_key', 'minbes', 'onlyfree', 'sametab', 'thema_key', 'label_key', 'fotos', 'zoomScale', 'zoomDWGX', 'zoomDWGY', 'discs']);
%>
@@ -220,15 +220,7 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
accord.accordion({collapsible: true,
active: false,
heightStyle: "content",
activate: function () { FcltMgr.resized(); },
beforeActivate: function(event, ui)
{ // delay load images
$("img", ui.newPanel).each(function ()
{
this.src = this.getAttribute("theSrc");
}
);
}
activate: function () { FcltMgr.resized(); }
});
// flex-box fix for Internet Explorer
@@ -320,65 +312,31 @@ var transitParam2 = buildTransitParam(['activiteit_key', 'daylimit', 'offset', '
var gebkey = oRs("alg_gebouw_key").Value;
var alglocatieplaats = oRs("alg_locatie_plaats").Value;
var alggebouwnaam = oRs("alg_gebouw_naam").Value;
var bld_icon = "fa-building";
if (oRs.Fields("alg_gebouw_image").Value != null)
{
bld_icon = oRs.Fields("alg_gebouw_image").Value;
if (!bld_icon.match(/^http/))
bld_icon = S("res_image_path") + "deel/" + bld_icon; // deel?
//icon = S("res_image_path") + icon;
}
else if (gebouwimage_flex_key != null)
{
var sql_bld_afb = "SELECT fac_bijlagen_key"
+ " FROM fac_bijlagen"
+ " WHERE fac_bijlagen_refkey = " + oRs("alg_gebouw_key").Value
+ " AND fac_bijlagen_module = 'ALG'"
+ " AND fac_bijlagen_kenmerk_key = " + gebouwimage_flex_key
+ " AND fac_bijlagen_verwijder IS NULL";
oRs_bld_afb = Oracle.Execute(sql_bld_afb);
// take the first image
if (!oRs_bld_afb.eof)
{
bld_icon = protectQS.create(HTTP.urlzelf() + "/appl/shared/BijlagenStream.asp"
+ "?bijlagen_key=" + oRs_bld_afb("fac_bijlagen_key").Value + "&module=ALG");
}
oRs_bld_afb.close();
}
var bld_icon_html;
if (bld_icon.match(/^fa-/))
{
bld_icon_html = I(bld_icon + " fa-4x");
}
else
{
bld_icon_html = '<img loading="lazy" alt="' + safe.htmlattr(L("alg_gebouw")) + '" theSrc="{0}">'.format(safe.htmlattr(bld_icon));
}
var alg_gebouw_image = oRs("alg_gebouw_image").Value;
var aanwezigeresruimtesoorten = "";
var totaalaantal = 0;
// Doorloop dit gebouw voor de verschillende categorieen
while (!oRs.Eof) // && gebkey == oRs("alg_gebouw_key").Value
{
if (oRs("alg_gebouw_key").Value == gebkey)
{
while (!oRs.Eof) {
if (oRs("alg_gebouw_key").Value == gebkey) {
aanwezigeresruimtesoorten += oRs("aantal").Value +" x "+ oRs("ins_discipline_omschrijving").Value+"\n";
totaalaantal += oRs("aantal").Value;
oRs.MoveNext();
} else {
break;
}
else {
break;
}
}
%>
<div class='iconmenu'
title='<%=safe.htmlattr(aanwezigeresruimtesoorten)%>'
onclick='continue_with_bld(<%=gebkey%>,-1);'>
<div class="iconitem">
<div class="iconimg iconbld" ><%=bld_icon_html%></div>
<div class="res-iconlabel" ><%= safe.html((alglocatieplaats?alglocatieplaats+"-" :"")+alggebouwnaam) +"<br>"+safe.html(aanwezigeresruimtesoorten)%></div>
</div>
title='<%=safe.htmlattr(aanwezigeresruimtesoorten)%>'
onclick='continue_with_bld(<%=gebkey%>,-1);'>
<div class="iconitem">
<div class="iconimg iconbld">
<%=SYMBOL(alg_gebouw_image, { "module": "ALGPHG", "key": gebkey, "defVal": "fa-building", "alt": L("alg_gebouw") })%>
</div>
<div class="res-iconlabel">
<%=safe.html((alglocatieplaats?alglocatieplaats+"-" :"")+alggebouwnaam) +"<br>"+safe.html(aanwezigeresruimtesoorten)%>
</div>
</div>
</div>
<%
pos ++;

View File

@@ -468,6 +468,18 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
params.filter = safe.regexp(pKey);
}
break;
case "MLDG": // Meldinggroep symbolen
result.AttachRootPath = Server.MapPath(S("mldg_image_path"));
result.AttachPath = result.AttachRootPath + "/";
result.RelativePath = S("mldg_image_path");
result.extFilter = S("imgAllowedExt");
result.regexp = S("mld_photo_size");
result.directlink = true;
result.linkImmediate = "mld_stdmeldinggroep";
if (typeof pKey === "string") {
params.filter = safe.regexp(pKey);
}
break;
case "MLDD": // mld_discipline symbolen
result.AttachRootPath = Server.MapPath(S("mldd_image_path"));
result.RelativePath = S("mldd_image_path");

View File

@@ -877,13 +877,15 @@ div.mldicmenu div.iconitem {
opacity: .65;
}
:is(.mld-menu-col, .bes-menu-col) .row:hover .iconitem:hover :is(i, img) {
:is(.mld-menu-col, .bes-menu-col) .row:hover .iconitem:hover :is(i, img),
.res-menu-flex:hover > :not(.no-action) > .iconitem:hover :is(i, img),
.res-flex-recent-card:hover > .res-flex-recent-item:hover :is(i, img) {
scale: 1.025;
}
div.iconimg,
div.bes-icon-wrapper,
div.mld-icon-wrapper,
.iconimg,
.mld-icon-wrapper,
.bes-icon-wrapper,
.res-flex-recent-label {
width: 100%;
height: 60%;
@@ -899,14 +901,15 @@ div.mld-icon-wrapper,
line-height: 1.4em;
height: 40%;
}
div.iconimg > img,
.mld-icon-wrapper > img,
.bes-icon-wrapper > img {
:is(.iconimg, .mld-icon-wrapper, .bes-icon-wrapper) img {
height: auto;
width: auto;
max-height: 100%;
max-width: 100%;
}
:is(.iconimg, .mld-icon-wrapper, .bes-icon-wrapper) i {
font-size: 5em;
}
:is(.mld-icon-wrapper, .bes-icon-wrapper) :is(i, img),
.iconimg > * {
position: relative;
@@ -2386,7 +2389,7 @@ div.wbackground {
display: inline;
float: left;
margin: 0 10px;
text-shadow: 1px 2px 2px #333;
text-shadow: 1px 1px 1px #333;
}
.nieuwstitel {
font-weight: bold;
@@ -4766,12 +4769,10 @@ div#MgtFAC ul li.mi {
color: var(--menucolor);
background-color: var(--menubackgroundcolor);
}
#menutabs span.menukop
{
#menutabs span.menukop {
color: var(--menucolor);
}
#menutabs span.micon
{
#menutabs span.micon i {
color: var(--menuiconcolor);
}
#menutabs span.menukop {
@@ -4798,17 +4799,12 @@ li.mk {
line-height: 3.1em;
padding: 1px 4px 4px 4px;
}
li.mk[onClick] {
display: flex;
gap: .5em;
}
li.mk:hover {
background-color: var(--menukophoverbackgroundcolor)!important;
}
li.mk:hover span.menukop,
li.mk:hover span.micon,
.withaction:hover i
{
li.mk:hover span.micon i,
.withaction:hover i {
color: var(--menukophovercolor)!important;
}
.withaction { cursor: pointer; }
@@ -4831,51 +4827,43 @@ li.mi[data-value]::before {
color:var(--menuitemhovercolor) !important;
background-color:var(--menuitemhoverbackgroundcolor) !important;
}
.mkimg, .mimg {
border: 0;
padding: 0;
margin-right: 2px;
margin-left: -10px;
width: 12px;
height: 12px;
/* :only-child komt alleen voor bij een submenuitem met een plaatje en een link,
dan wordt het label onderdrukt, bij een icoontje niet */
.micon:not(:only-child) :is(i, img),
:is(.nomicon, .tabicon) {
width: 1.25em; /* evenals de fa-fw */
margin: 0 4px 0 0;
vertical-align: middle;
font-size: 2em;
transition: 150ms scale;
}
li.mklogo img {
border: 0;
padding: 0;
.micon:only-child img {
display: block; /* Voorkomt inline spacing */
}
.micon, .nomicon, .tabicon {
width: 1.25em; /* evenals de fa-fw */
margin: 0 4px 0 0;
vertical-align: middle;
font-size: 2em;
:is(.nomicon, .tabicon) {
aspect-ratio: 1;
display: inline-block;
text-align: center;
line-height: 1.3em;
}
.nomicon, .tabicon {
aspect-ratio: 1;
display: inline-block;
text-align: center;
line-height: 1.3em;
}
.micon:hover, .nomicon:hover {
transition: transform 0.5s;
transform: scale(1.2, 1.2);
.micon:not(:only-child):hover :is(i, img),
:is(.nomicon, .tabicon):hover {
scale: 1.2;
}
.nomicon, .tabicon {
background-color: var(--frameheaderbackgroundcolor);
border-radius: 2px;
opacity: 0.8;
background-color: var(--frameheaderbackgroundcolor);
border-radius: 2px;
opacity: 0.8;
}
.tabicon {
vertical-align: text-bottom;
vertical-align: text-bottom;
}
.nomicon:hover {
opacity: 1;
}
i.miconimg {
color: var(--menuitemcolor) !important;
opacity: 1;
}
.menupinned {
float: right;
@@ -4953,11 +4941,6 @@ li.mi {
cursor: default;
}
.mklogo .fa-fw,
.milogo .fa-fw {
color: var(--menuiconcolor);
}
.rate.fa-star, .rate.fa-star-o {
color: #FFA500;
font-size: 1.5em;
@@ -5183,6 +5166,11 @@ td.bessrtdeelfoto {
display: block;
float: left;
}
:is(#portalmenu, .widget-type-mk, .widget-type-mi) :is(.widget-menu-image, .menuimg) i {
font-size: 4em;
line-height: 100px;
color: var(--menuiconcolor);
}
#portalmenu span.menuimg {
width: calc(100px - 1.5em);
}

View File

@@ -47,6 +47,7 @@ settings =
ins_image_path: { v: custpath + "/photos/INS/" },
mrk_image_path: { v: custpath + "/flexfiles/MRK/" },
mlds_image_path: { v: custpath + "/flexfiles/MLD/IMAGES/STDM/" },
mldg_image_path: { v: custpath + "/photos/MLD/STDMGROEP/" },
mldd_image_path: { v: custpath + "/flexfiles/MLD/IMAGES/DISC/" },
mldsd_image_path: { v: custpath + "/flexfiles/MLD/IMAGES/SRTDISC/" }
},

View File

@@ -1280,6 +1280,35 @@ IFACE =
}
}
function SYMBOL(name, params) {
params = params || {};
var symbol = name || params.defVal;
if (symbol) {
return symbol.match(/^fa-/) !== null ? I(symbol, params)
: IMG(symbol, params);
}
return "";
}
function IMG(fileName, params) {
if ("module" in params) {
var fso = Server.CreateObject("Scripting.FileSystemObject");
var flexParams = {};
if ("key" in params) {
flexParams.getFiles = true;
} else if (fileName) {
flexParams.getFile = fileName;
}
var fileProps = flexProps(params.module, params.key || null, null, null, flexParams);
if (fileProps.files.length && fso.FileExists(fileProps.AttachPath + fileProps.files[0].name)) {
return "<img loading='lazy' src='" + safe.htmlattr(fileProps.files[0].deepurl) + "' alt='" + safe.htmlattr(params.alt || L("lcl_photos")) + "'>";
} else {
return "<span title='{0}'>".format(safe.htmlattr(fileName || "")) + I("fa-question") + "</span>";
}
}
return "";
}
// Returns a Font Awesome icon to be displayed (e.g. "fa-user")
// fa-qualifiers (e.g. "fa-2x fa-rotate-180") are preserved
// icons may be defined in icons.inc by Facilitor with a fa-fclt- prefix

View File

@@ -6,11 +6,13 @@
Description: 2023.2 file conversie
Parameters:
Context: (alleen) vanuit facilitor.inc
Notes: Verplaatst bestanden die gebruikt worden in de style-editor naar de S(style_image_path)
past tevens de csstemplate instelling aan zodat alleen aan het bestand gerefereerd wordt (of een ## placeholder ##)
INSDEEL module bestanden worden verplaatst naar de INSPHD-module-locatie, en de betandsnaam wordt ingevuld bij ins_deel.ins_srtdeel_image
thumb idem
Artikel-foto's (bes_srtdeel) staan verzameld in mappen met de discipline-key als naam, die verplaatsen we allemaal 1 map omhoog
Notes: - Verplaatst bestanden die gebruikt worden in de style-editor naar de S(style_image_path)
- en pas de csstemplate instelling aan zodat aan het bestand gerefereerd wordt (of een ## placeholder ##)
- INSDEEL-module-bestanden worden verplaatst naar de INSPHD-module-locatie, en de bestandsnaam wordt ingevuld bij ins_deel.ins_srtdeel_image
- thumb idem
- Artikel-foto's (bes_srtdeel) staan verzameld in mappen met de discipline-key als naam, die verplaatsen we allemaal 1 map omhoog
- alg_gebouw-flex-plaatjes die gebruikt werden in de querystring volgens 'gebouwimage_flex_key=###' verplaatsen naar de ALGPHG-map
- ook de fac_bijlage-record opschonen en de alg_gebouw.alg_gebouw_image-kolom invullen
*/
%>
@@ -210,6 +212,72 @@ function upgrade20232()
/* EIND BES_SRTDEEL CONVERSIE */
/* START ALG_GEBOUW_IMAGE CONVERSIE */
sql = "SELECT fac_menu_alturl"
+ " FROM fac_menu"
+ " WHERE fac_menu_alturl LIKE '%gebouwimage_flex_key=%'";
oRs = Oracle.Execute(sql);
var menu_url = "";
if (!oRs.EoF) {
menu_url = oRs("fac_menu_alturl").Value;
}
oRs.Close();
var fac_bijlagen_kenmerk_key;
if (menu_url) {
var kenmerk_key_regex = menu_url.split("gebouwimage_flex_key=")[1].match(/^\d+/);
if (kenmerk_key_regex !== null) {
fac_bijlagen_kenmerk_key = kenmerk_key_regex[0];
}
}
if (!isNaN(fac_bijlagen_kenmerk_key)) {
var bldPhotoPath = Server.MapPath(S("alg_image_path") + "gebouw/");
sql = "SELECT fac_bijlagen_key"
+ " , fac_bijlagen_refkey"
+ " , fac_bijlagen_disk_directory"
+ " , fac_bijlagen_filename"
+ " FROM fac_bijlagen"
+ " WHERE fac_bijlagen_verwijder IS NULL"
+ " AND fac_bijlagen_kenmerk_key = " + fac_bijlagen_kenmerk_key;
oRs = Oracle.Execute(sql);
while (!oRs.EoF) {
var dir = oRs("fac_bijlagen_disk_directory").Value;
var fileName = oRs("fac_bijlagen_filename").Value;
var bijlage_key = oRs("fac_bijlagen_key").Value;
var bld_key = oRs("fac_bijlagen_refkey").Value;
var flexPath = S("flexfilespath") + "/" + dir + "/" + fileName;
try {
/* Verplaats het bestand op de schijf */
fso.MoveFile(flexPath, bldPhotoPath + "/" + fileName);
/* Vul de bestandsnaam in bij alg_gebouw.alg_gebouw_image */
Oracle.Execute("UPDATE alg_gebouw"
+ " SET alg_gebouw_image = " + safe.quoted_sql(fileName)
+ " WHERE alg_gebouw_key = " + bld_key);
/* Verwijder de kenmerkwaarde uit de database */
Oracle.Execute("UPDATE alg_onrgoedkenmerk"
+ " SET alg_onrgoedkenmerk_verwijder = SYSDATE"
+ " WHERE alg_onrgoed_key = " + bld_key
+ " AND alg_onrgoed_niveau = 'G'"
+ " AND alg_kenmerk_key = " + fac_bijlagen_kenmerk_key);
/* Verwijder ook de fac_bijlage-record */
Oracle.Execute("BEGIN"
+ " flx.deleteflexbijlage(" + bijlage_key + ");"
+ "END;");
} catch (e) {
/* Silent ignore en continue */
__DoLog("ERROR moving " + flexPath + " -> " + bldPhotoPath + "/" + fileName, "#FF0000");
__DoLog(e.description);
}
oRs.MoveNext();
}
oRs.Close();
}
/* EIND ALG_GEBOUW_IMAGE CONVERSIE */
// Track dat we ge-upgrade hebben, geen risico voor multi-user omgevingen
sql = "INSERT INTO adm_tracking"
+ " (adm_tracking_name, adm_tracking_revision)"