1 2<!DOCTYPE html> 3<html> 4<!-- 5Request for https://fqba.org/chambermaster/template.htm failed at 3:57 PM 10/4/2026 6ERROR: Page not found – French Quarter Business Association 7Request Headers: 8 x-localrequest=1 9 User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 10--> 11<head> 12<!-- start injected HTML (CCID=9043) --> 13<!-- page template: https://fqba.org/chambermaster/template.htm --> 14<title>Login</title> 15<base href="https://www.fqba.org/" /> 16<meta name="description" content="French Quarter Business Association is the best place to find a member or business in the New Orleans LA area." /> 17<link href="https://members.fqba.org/integration/customerdefinedcss?_=YJgrDg2" rel="stylesheet" type="text/css" /> 18<!-- link for rss not inserted --> 19<link rel="canonical" href="https://members.fqba.org/login" /> 20<!-- end injected HTML --> 21 22 <!-- jQuery first, then Popper.js, then Bootstrap JS --> 23
23<script src="https://code.jquery.com/jquery-3.7.1.min.js" crossorigin="anonymous"></script>
23 24
24<script type="text/javascript" src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
vendor: 2 bytes, line 24
24
25<script src="https://members.fqba.org/Content/bundles/SEO4?v=jX-Yo1jNxYBrX6Ffq1gbxQahkKjKjLSiGjCSMnG9UuU1"></script>
25 26
26<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/globalize/0.1.1/globalize.min.js"></script>
26 27
27<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/globalize/0.1.1/cultures/globalize.culture.en-US.js"></script>
27 28 <!-- Required meta tags --> 29 <meta charset="utf-8"> 30 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 31 <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css" type="text/css" media="all" /> 32
32<script type="text/javascript"> 33 var MNI = MNI || {}; 34 MNI.CurrentCulture = 'en-US'; 35 MNI.CultureDateFormat = 'M/d/yyyy'; 36 MNI.BaseUrl = 'https://members.fqba.org'; 37 MNI.jQuery = jQuery.noConflict(true); 38 MNI.Page = { 39 Domain: 'members.fqba.org', 40 Context: 299, 41 Category: null, 42 Member: null, 43 MemberPagePopup: true 44 }; 45 MNI.LayoutPromise = new Promise(function (resolve) { 46 MNI.LayoutResolution = resolve; 47 }); 48 MNI.MemberFilterUrl = ''; 49 </script>
vendor: 77 bytes, lines 49-52
49 50 51 52 <script src="https://www.google.com/recaptcha/enterprise.js?render=
526LfI_T8rAAAAAMkWHrLP_GfSf3tLy9tKa839wcWa
vendor: 29 bytes, lines 52-53
52" async defer></script> 53
53<script> 54 55 const SITE_KEY = '6LfI_T8rAAAAAMkWHrLP_GfSf3tLy9tKa839wcWa'; 56 57 // Repeatedly check if grecaptcha has been loaded, and call the callback once it's available 58 function waitForGrecaptcha(callback, retries = 10, interval = 1000) { 59 if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise.execute) { 60 callback(); 61 } else if (retries > 0) { 62 setTimeout(() => { 63 waitForGrecaptcha(callback, retries - 1, interval); 64 }, interval); 65 } else { 66 console.error("grecaptcha is not available after multiple attempts"); 67 } 68 } 69 70 // Copies the solved v2 checkbox token into the given form when the widget's 71 // response field ended up outside it. Customer site templates can re-load the 72 // reCAPTCHA api script, which re-renders the checkbox widget detached from the 73 // form, so its g-recaptcha-response never posts and validation always fails. 74 function setV2ResponseToken($, formElement) { 75 const $form = $(formElement); 76 const inForm = $form.find('[name="g-recaptcha-response"]'); 77 78 // Prefer the reCAPTCHA-managed textarea in the target form; otherwise only consider an orphaned textarea 79 // (not inside any <form>) to avoid copying a token from a different form when multiple widgets exist. 80 let token = inForm.filter('textarea').filter(function () { return this.value; }).first().val(); 81 if (!token) { 82 token = $('textarea[name="g-recaptcha-response"]').filter(function () { return this.value && $(this).closest('form').length === 0; }).first().val(); 83 } 84 if (!token) { 85 return; 86 } 87 88 if (inForm.length > 0) { 89 inForm.val(token); 90 } 91 else { 92 $('<input>', { 93 type: 'hidden', 94 name: 'g-recaptcha-response', 95 value: token 96 }).appendTo(formElement); 97 } 98 } 99 100 // Generates a reCAPTCHA v3 token using grecaptcha.enterprise and injects it into the given form. 101 // If the token input doesn't exist, it creates one. Then it executes the callback with the token. 102 function setReCaptchaToken(formElement, callback, action = 'submit') { 103 grecaptcha.enterprise.ready(function () { 104 grecaptcha.enterprise.execute(SITE_KEY, { action: action }).then(function (token) { 105 106 MNI.jQuery(function ($) { 107 let input = $(formElement).find("input[name='g-recaptcha-v3']"); 108 109 if (input.length === 0) { 110 input = $('<input>', { 111 type: 'hidden', 112 name: 'g-recaptcha-v3', 113 value: token 114 }); 115 $(formElement).append(input); 116 } 117 else 118 $(input).val(token); 119 120 setV2ResponseToken($, formElement); 121 if (typeof callback === 'function') callback(token); 122 }) 123 124 }); 125 }); 126 } 127 128 </script>
128 129 130 131 132
133<script src="https://members.fqba.org/Content/bundles/MNI?v=34V3-w6z5bLW9Yl7pjO3C5tja0TdKeHFrpRQ0eCPbz81"></script>
133 134
135<script type="text/javascript"> 136 MNI.jQuery(function ($) 137 { 138 var ajaxSubmit = true 139 $('#gz-login-loginbox').submit(on_submit); 140 141 142 function on_submit(e) 143 { 144 if (ajaxSubmit) 145 { 146 var $form = $('form.needs-validation'); 147 var form = $form[0]; 148 e.preventDefault(); 149 if (form.checkValidity() === false) 150 { 151 $('#gz-validate-message').removeClass('gz-validation-error').html(''); 152 form.classList.add('was-validated'); 153 } 154 else 155 { 156 waitForGrecaptcha(() => { 157 setReCaptchaToken($form, () => { 158 var waitImage = $('<div id="cm_loading">Processing...<img src="https://members.fqba.org/content/images/ajax-loader.gif" alt="Processing..." /></div>'); 159 $('#gz-validate-message').removeClass('gz-validation-error').html(waitImage); 160 161 var formData = $form.serializeArray(); 162 var data = {}; 163 $(formData).each(function (index, obj) { 164 data[obj.name] = obj.value; 165 }); 166 167 $.ajax( 168 { 169 url: 'https://fqba.chambermaster.com/login/ajaxauthenticate', 170 type: 'POST', 171 contentType: 'application/json', 172 dataType: 'json', 173 data: JSON.stringify(data), 174 success: function (data) 175 { 176 if (data.Success) 177 { 178 ajaxSubmit = false; 179 $('#gz-login-loginbox').trigger('submit'); 180 } 181 else 182 { 183 $('#gz-validate-message').addClass('gz-validation-error').html(data.Message); 184 } 185 }, 186 error: function (xhr, status) { 187 $('#gz-validate-message').addClass('gz-validation-error').html('An error occurred while attempting to log you in.'); 188 } 189 }); 190 }, 191 "memberLogin"); 192 }) 193 } 194 return false; 195 } 196 } 197 }); 198</script>
198 199 <!-- Bootstrap CSS --> 200 <link type="text/css" href="https://members.fqba.org/Content/SEO4/css/bootstrap/bootstrap-ns.min.css" rel="stylesheet" /> 201<link href="https://members.fqba.org/Content/SEO4/css/fontawesome/css/fa.bundle?v=ruPA372u21djZ69Q5Ysnch4rq1PR55j8o6h6btgP60M1" rel="stylesheet"/> 202<link href="https://members.fqba.org/Content/SEO4/css/v4-module.bundle?v=qwhSjNuPqeeGP6P-IaHNEkcnGmDy0rKab7USXmcnhsI1" rel="stylesheet"/> 203<meta name="referrer" content="origin" />
204<script>window.CMS=1;</script>
204</head> 205<body> 206 <div id="gzns"> 207 208 209 <div class="container-fluid gz-login-index"> 210 <!-- pagetitle and deals buttons row, deals buttons are now removed but leaving div incase we add back in --> 211 <div class="d-flex w-100 gz-pagetitle-dealsbuttons"> 212 <div class="flex-grow-1 gz-pagetitle"> 213 <h1>Login</h1> 214 </div> 215 216 217<div class="gz-dealsbuttons"></div> 218 219 </div> 220 <!--intro text for customer. Currently not setup in ISCP for this but if it ever is then we have this div--> 221 <div class="col"> 222 <div class="row gz-login-form"> 223<form action="https://fqba.chambermaster.com/Login/Authenticate" class="needs-validation" id="gz-login-loginbox" method="post" name="formMain" novalidate="novalidate"> <div class="form-row gz-login-name"> 224 <div class="form-group col-md-6 gz-LoginName"> 225 <label for="LoginName"> 226 Username 227 <span class="gz-form-req" title="Required field"></span> 228 229 </label> 230<input class="form-control" id="LoginName" name="UserName" placeholder="jsmith" required="" type="text" value="" /> 231 <div class="valid-feedback"> 232Looks good! 233 </div> 234 <div class="invalid-feedback"> 235Please add your username. 236 </div> 237 238 239 </div> 240 </div> 241 <div class="form-row gz-login-pw"> 242 <div class="form-group col-md-6 gz-LoginPw"> 243 <label for="LoginPw"> 244 Password 245 <span class="gz-form-req" title="Required field"></span> 246 247 </label> 248<input class="form-control" id="LoginPw" name="Password" placeholder="â¢â¢â¢â¢â¢â¢â¢â¢â¢" required="" type="password" value="" /> 249 <div class="valid-feedback"> 250Looks good! 251 </div> 252 <div class="invalid-feedback"> 253Please add your password. 254 </div> 255 256 257 </div> 258 </div> 259 <div class="form-row gz-login-links"> 260 <div class="form-group col-12 gz-LoginLinks"> 261 <div id="Forgot" class="form-text"> 262 <a href="https://members.fqba.org/login/forgotpwd">Forgot your username/password?</a> 263 </div> 264 </div> 265 </div> 266 <div class="form-row gz-login-submit"> 267 <div class="form-group col"> 268 <button class="btn" type="submit">Sign In</button> 269 </div> 270 </div> 271 <div id="gz-validate-message"></div> 272 <input type="hidden" name="LoginOrigin" value="https://members.fqba.org/login" /> 273 <input type="hidden" name="AllowExternalLogins" value="false" /> 274 <input type="hidden" name="Destination" /> 275</form> </div> 276 </div> 277 278 <div class="row gz-footer-navigation" role="navigation"> 279 <div class="col"> 280 <a href="https://members.fqba.org/list/">Business Directory</a> 281 <a href="https://members.fqba.org/news/">News Releases</a> 282 <a href="https://members.fqba.org/events/">Events Calendar</a> 283 284 <a href="https://members.fqba.org/MemberToMember/">Member To Member Deals</a> 285 <a href="https://members.fqba.org/marketspace/">Marketspace</a> 286 <a href="https://members.fqba.org/jobs/">Job Postings</a> 287 <a href="https://members.fqba.org/contact/">Contact Us</a> 288 <a href="https://members.fqba.org/info/">Information & Brochures</a> 289 290 <a href="https://members.fqba.org/member/NewMemberApp/">Join The Chamber</a> 291 </div> 292 </div> 293 294 <div class="row gz-footer-logo"> 295 <div class="col text-center"> 296 <a href="http://www.growthzone.com/" target="_blank"> 297 <img alt="GrowthZone - Membership Management Software" src="https://public.chambermaster.com/content/images/powbyMZ_100x33.png" border="0"> 298 </a> 299 </div> 300 </div> 301 </div> 302 303 304 <!-- JavaScript for Bootstrap 4 components --> 305 <!-- js to make 4 column layout instead of 3 column when the module page content area is larger than 950, this is to accomodate for full-width templates and templates that have sidebars-->
305 306
306<script type="text/javascript"> 307 (function ($) { 308 $(function () { 309 var $gzns = $('#gzns'); 310 var $info = $('#gzns').find('.col-sm-6.col-md-4'); 311 if ($gzns.width() > 950) { 312 $info.addClass('col-lg-3'); 313 } 314 315 var store = window.localStorage; 316 var key = "1-list-view"; 317 var printKey = "24-list-view"; 318 $('.gz-view-btn').click(function (e) { 319 e.preventDefault(); 320 $('.gz-view-btn').removeClass('active'); 321 $(this).addClass('active'); 322 if ($(this).hasClass('gz-list-view')) { 323 store.setItem(key, true); 324 store.setItem(printKey, true); 325 $('.gz-list-card-wrapper').removeClass('col-sm-6 col-md-4').addClass('gz-list-col'); 326 } else { 327 store.setItem(key, false); 328 store.setItem(printKey, false); 329 $('.gz-list-card-wrapper').addClass('col-sm-6 col-md-4').removeClass('gz-list-col'); 330 } 331 }); 332 333 var isListView = store.getItem(key) == null ? MNI.DEFAULT_LISTING : store.getItem(key) == "true"; 334 if (isListView) $('.gz-view-btn.gz-list-view').click(); 335 store.setItem(printKey, isListView); 336 MNI.LayoutResolution(); 337 338 (function ($modal) { 339 if ($modal[0]) { 340 $('#gz-info-contactfriend').on('shown.bs.modal', function (e) { 341 $modal.css('max-height', $(window).height() + 'px'); 342 $modal.addClass('isLoading'); 343 $.ajax({ url: MNI.BaseUrl + '/inforeq/contactFriend?itemType='+MNI.ITEM_TYPE+'&itemId='+MNI.ITEM_ID }) 344 .then(function (r) { 345 $modal.find('.modal-body') 346 .html($.parseHTML(r.Html)); 347 $modal.removeClass('isLoading'); 348 $('#gz-info-contactfriend').addClass('in'); 349 $.getScript("https://www.google.com/recaptcha/api.js"); 350 }); 351 }); 352 $('#gz-info-contactfriend .send-btn').click(function () { 353 var $form = $modal.find('form'); 354 $modal.addClass('isLoading'); 355 $.ajax({
356 url: $form.attr('action'), 357 type: 'POST', 358 data: $form.serialize(), 359 dataType: 'json' 360 }).then(function (r) { 361 if (r.Success) $('#gz-info-contactfriend').modal('hide'); 362 else $modal.find('.modal-body').html($.parseHTML(r.Html)); 363 $.getScript("https://www.google.com/recaptcha/api.js"); 364 $modal.removeClass('isLoading'); 365 }); 366 }); 367 } 368 })($('#gz-info-contactfriend .modal-content')); 369 370 (function ($modal) { 371 if ($modal[0]) { 372 $('#gz-info-subscribe').on('shown.bs.modal', function (e) { 373 $('#gz-info-subscribe .send-btn').show(); 374 $modal.addClass('isLoading'); 375 $.ajax({ url: MNI.SUBSCRIBE_URL }) 376 .then(function (r) { 377 $modal.find('.modal-body') 378 .html(r); 379 380 $modal.removeClass('isLoading'); 381 }); 382 }); 383 $('#gz-info-subscribe .send-btn').click(function () { 384 var $form = $modal.find('form'); 385 $modal.addClass('isLoading'); 386 387 waitForGrecaptcha(() => { 388 setReCaptchaToken($form, () => { 389 $.ajax({
390 url: $form.attr('action'), 391 type: 'POST', 392 data: $form.serialize() 393 }).then(function (r) { 394 if (r.toLowerCase().search('thank you') != -1) { 395 $('#gz-info-subscribe .send-btn').hide(); 396 } 397 $modal.find('.modal-body').html(r); 398 $modal.removeClass('isLoading'); 399 }); 400 }, "hotDealsSubscribe"); 401 }) 402 }); 403 } 404 })($('#gz-info-subscribe .modal-content')); 405 406 (function ($modal) { 407 $('#gz-info-calendarformat').on('shown.bs.modal', function (e) { 408 var backdropElem = "<div class=\"modal-backdrop fade in\" style=\"height: 731px;\" ></div >"; 409 $('#gz-info-calendarformat').addClass('in'); 410 if (!($('#gz-info-calendarformat .modal
410-backdrop').length)) { 411 $('#gz-info-calendarformat').prepend(backdropElem); 412 } 413 else { 414 $('#gz-info-calendarformat .modal-backdrop').addClass('in'); 415 } 416 }); 417 $('#gz-info-calendarformat').on('hidden.bs.modal', function (e) { 418 $('#gz-info-calendarformat').removeClass('in'); 419 $('#gz-info-calendarformat .modal-backdrop').remove(); 420 }); 421 if ($modal[0]) { 422 $('.calendarLink').click(function (e) { 423 $('#gz-info-calendarformat').modal('hide'); 424 }); 425 } 426 })($('#gz-info-calendarformat .modal-content')); 427 428 // Constructs the Find Members type ahead suggestion engine. Tokenizes on the Name item in the remote return object. Case Sensitive usage. 429 var members = new Bloodhound({ 430 datumTokenizer: Bloodhound.tokenizers.whitespace, 431 queryTokenizer: Bloodhound.tokenizers.whitespace, 432 remote: { 433 url: MNI.BaseUrl + '/list/find?q=%searchTerm', 434 wildcard: '%searchTerm', 435 replace: function () { 436 var q = MNI.BaseUrl + '/list/find?q=' + encodeURIComponent($('.gz-search-keyword').val()); 437 var categoryId = $('#catgId').val(); 438 var quickLinkId = $('#qlId').val(); 439 if (categoryId) { 440 q += "&catgId=" + encodeURIComponent(categoryId); 441 } 442 if (quickLinkId) { 443 q += "&qlid=" + encodeURIComponent(quickLinkId); 444 } 445 return q; 446 } 447 } 448 }); 449 450 // Initializing the typeahead using the Bloodhound remote dataset. Display the Name and Type from the dataset via the suggestion template. Case sensitive. 451 $('.member-typeahead').typeahead({ 452 hint: false, 453 }, 454 { 455 display: 'Name', 456 source: members, 457 limit: Infinity, 458 templates: { 459 suggestion: function (data) { return '<div class="mn-autocomplete"><span class="mn-autocomplete-name">' + data.Name + '</span></br><span class="mn-autocomplete-type">' + data.Type + '</span></div>' } 460 } 461 }); 462 463 $('.member-typeahead').on('typeahead:selected', function (evt, item) { 464 var openInNewWindow = MNI.Page.MemberPagePopup 465 var doAction = openInNewWindow ? MNI.openNewWindow : MNI.redirectTo; 466 467 switch (item.ResultType) { 468 case 1: // AutocompleteSearchResultType.Category 469 doAction(MNI.Path.Category(item.SlugWithID)); 470 break; 471 case 2: // AutocompleteSearchResultType.QuickLink 472 doAction(MNI.Path.QuickLink(item.SlugWithID)); 473 break; 474 case 3: // AutocompleteSearchResultType.Member 475 if (item.MemberPageAction == 1) { 476 MNI.logHitStat("mbrws", item.ID).then(function () { 477 var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithI
477D); 478 doAction(location); 479 }); 480 } 481 else { 482 var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithID); 483 doAction(location); 484 } 485 break; 486 } 487 }) 488 489 $('#category-select').change(function () { 490 // Store the category ID in a hidden field so the remote fetch can use it when necessary 491 var categoryId = $('#category-select option:selected').val(); 492 $('#catgId').val(categoryId); 493 // Don't rely on prior locally cached data when the category is changed. 494 $('.member-typeahead').typeahead('destroy'); 495 $('.member-typeahead').typeahead({ 496 hint: false, 497 }, 498 { 499 display: 'Name', 500 source: members, 501 limit: Infinity, 502 templates: { 503 suggestion: function (data) { return '<div class="mn-autocomplete"><span class="mn-autocomplete-name">' + data.Name + '</span></br><span class="mn-autocomplete-type">' + data.Type + '</span></div>' } 504 } 505 }); 506 }); 507 MNI.Plugins.AutoComplete.Init('#mn-search-geoip input', { path: '/' + MNI.MemberFilterUrl + '/find-geographic' }); 508 }); 509 })(MNI.jQuery); 510 </script>
510 511 </div> 512 513</body> 514</html> 515
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.