X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.js;h=8db1f651b132cbf964f6fe4ef06280a5f31c2d2e;hp=7dfdcc84c74f1f59f252b9083459c1fcb5cedc33;hb=4686714d35c3758f32b56cee37d446d24b579698;hpb=8a050d435329e91cf33fc12f56c82b7a4b479d0a diff --git a/phpfspot.js b/phpfspot.js index 7dfdcc8..8db1f65 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") { @@ -342,13 +350,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 +398,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 +413,7 @@ function init_phpfspot(srv_webpath) } if(whattodo == 'show_photo') { if(photo = getPhotoToShow()) { - showImage(photo); + showPhoto(photo); refreshSelectedTags(); } } @@ -800,6 +814,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 +931,4 @@ var origWidth; // position of the last shown photo in photo-index var photo_details_pos; var web_path; +var rate_search = new Array();