X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.js;h=ebe124225f169a182530acda770bdccc46c22f72;hp=7dfdcc84c74f1f59f252b9083459c1fcb5cedc33;hb=dcc26041d1dd86d47516e143fd5e475e588180cf;hpb=8a050d435329e91cf33fc12f56c82b7a4b479d0a diff --git a/phpfspot.js b/phpfspot.js index 7dfdcc8..ebe1242 100644 --- a/phpfspot.js +++ b/phpfspot.js @@ -21,14 +21,14 @@ ***************************************************************************/ /** - * display image + * show photo * * this function will be called by client and fetches * the single-photo view via AJAX from the server. * Furthermore it will scrollup the browser to the top * position so the image become visibile immediatley. */ -function showImage(id, scrollup) +function showPhoto(id, scrollup) { /* is phpfspot skeleton really displayed? */ if(!document.getElementById('content')) @@ -54,7 +54,7 @@ function showImage(id, scrollup) delete(origWidth); origWidth = undefined; delete(photo_details_pos); photo_details_pos = undefined; -} // showImage() +} // showPhoto() /** * scroll browser to the last shown photo @@ -277,16 +277,24 @@ function startSearch() var objTemp = new Object(); objTemp['action'] = 'search'; - if(document.getElementsByName('searchfor_tag')[0].value != "") { + if(document.getElementsByName('searchfor_tag')[0] != undefined && + document.getElementsByName('searchfor_tag')[0].value != "") { objTemp['for_tag'] = document.getElementsByName('searchfor_tag')[0].value; } - if(document.getElementsByName('searchfor_name')[0].value != "") { + if(document.getElementsByName('searchfor_name')[0] != undefined && + document.getElementsByName('searchfor_name')[0].value != "") { objTemp['for_name'] = document.getElementsByName('searchfor_name')[0].value; } - if(document.getElementsByName('consider_date')[0].checked == true) { + if(document.getElementsByName('consider_date')[0] != undefined && + document.getElementsByName('consider_date')[0].checked == true) { objTemp['from'] = from; objTemp['to'] = to; } + if(document.getElementsByName('consider_rate')[0] != undefined && + document.getElementsByName('consider_rate')[0].checked == true) { + objTemp['rate_from'] = rate_search['from']; + objTemp['rate_to'] = rate_search['to']; + } var retr = HTML_AJAX.post(web_path + '/rpc.php', objTemp); if(retr == "ok") { @@ -329,8 +337,13 @@ function datesearch() * called for photo-index export. will return the * selected mode via AJAX from the server. */ -function setViewMode(mode) +function setViewMode(srv_webpath, mode) { + if(srv_webpath != undefined) + web_path = srv_webpath; + else + web_path = ''; + var exprt = document.getElementById('output'); exprt.innerHTML = "Loading..."; exprt.innerHTML = HTML_AJAX.grab(encodeURI(web_path + '/rpc.php?action=get_export&mode=' + mode)); @@ -342,13 +355,20 @@ function setViewMode(mode) */ function clearSearch() { - document.getElementsByName('searchfor_tag')[0].value = ''; - document.getElementsByName('searchfor_name')[0].value = ''; + if(document.getElementsByName('searchfor_tag')[0] != undefined) + document.getElementsByName('searchfor_tag')[0].value = ''; + if(document.getElementsByName('searchfor_name')[0] != undefined) + document.getElementsByName('searchfor_name')[0].value = ''; - if(document.getElementsByName('consider_date')[0].checked == true) { + if(document.getElementsByName('consider_date')[0] != undefined && + document.getElementsByName('consider_date')[0].checked == true) { document.getElementsByName('consider_date')[0].checked = false; datesearch(); - } + } + if(document.getElementsByName('consider_rate')[0] != undefined && + document.getElementsByName('consider_rate')[0].checked == true) { + document.getElementsByName('consider_rate')[0].checked = false; + } } // clearSearch() @@ -383,13 +403,12 @@ function init_phpfspot(srv_webpath) web_path = ''; /* always load list of available tags */ - refreshAvailableTags(); + //this should not be more necessary since 4.5.08 + //refreshAvailableTags(); /* ask the server what we are currently displaying */ whattodo = AskServerWhatToDo(); - window.alert(whattodo); - if(whattodo == 'showpi' || whattodo == 'showpi_date') { showPhotoIndex(); } @@ -399,7 +418,7 @@ function init_phpfspot(srv_webpath) } if(whattodo == 'show_photo') { if(photo = getPhotoToShow()) { - showImage(photo); + showPhoto(photo); refreshSelectedTags(); } } @@ -664,8 +683,13 @@ function noop() {} /** * start slideshow */ -function startSlideShow() +function startSlideShow(srv_webpath) { + if(srv_webpath != undefined) + web_path = srv_webpath; + else + web_path = ''; + if(!sliding) { HTML_AJAX.grab(encodeURI(web_path + '/rpc.php?action=reset_slideshow')); nextSlide(); @@ -800,6 +824,64 @@ function update_sort_order(obj) } // update_sort_order() +/** + * show rate stars + * + * this function will show the requested amount of + * rate-stars. + * + * @param string mode + * @param int level + */ +function show_rate(mode, level) +{ + var i; + + for(i = 1; i <= 5; i++) { + if(i <= level) { + document.getElementById('rate_' + mode + '_' + i).src = web_path + '/resources/star.png'; + } + else { + document.getElementById('rate_' + mode + '_' + i).src = web_path + '/resources/empty_rate.png'; + } + } + +} // show_rate() + +/** + * set rate stars + * + * + * this function will set the requested rate-stars-amount into a global + * variable (which will then later be used on form-submit) and will also + * update the display. + * + * @param string mode + * @param int level + */ +function set_rate(mode, level) +{ + rate_search[mode] = level; + show_rate(mode, level); + +} // set_rate() + +/** + * reset rate stars + * + * this function will reset the rate-star to their initial value. + * + * @param string mode + */ +function reset_rate(mode) +{ + if(rate_search[mode] == undefined) + rate_search[mode] = 0; + + show_rate(mode, rate_search[mode]); + +} // reset_rate() + /** * handle key events */ @@ -859,3 +941,4 @@ var origWidth; // position of the last shown photo in photo-index var photo_details_pos; var web_path; +var rate_search = new Array();