// File referenced in: // – include/admin/tpl/category.inc.tpl // – include/admin/tpl/comments.inc.tpl // – include/admin/tpl/out_stack_loop.tpl // – include/functions_entries_admin.inc.php // – templates/*/admin/admin_scripts.js // – templates/*/admin/entries.tpl // – templates/*/admin/media_choose.tpl // – templates/*/admin/media_upload.tpl \"""; } else if (f['serendipity[align]'][1].checked == true) { img = "\"""; floating = 'left'; } else if (f['serendipity[align]'][2].checked == true) { img = "\"""; floating = 'right'; } if (f['serendipity[isLink]'][1].checked == true) { if (f['serendipity[target]'].selectedIndex) { targetval = f['serendipity[target]'].options[f['serendipity[target]'].selectedIndex].value; } else { targetval = ''; } prepend = ''; ilink = f['serendipity[url]'].value; if (!targetval || targetval == 'none') { itarget = ''; } else if (targetval == 'js') { itarget = ' onclick="F1 = window.open(\'' + f['serendipity[url]'].value + '\',\'Zoom\',\'' + 'height=' + (parseInt(f['imgHeight'].value) + 15) + ',' + 'width=' + (parseInt(f['imgWidth'].value) + 15) + ',' + 'top=' + (screen.height - f['imgHeight'].value) /2 + ',' + 'left=' + (screen.width - f['imgWidth'].value) /2 + ',' + 'toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes\'); return false;"'; } else if (targetval == '_blank') { itarget = ' target="_blank"'; } else if (targetval == 'plugin') { itarget = ' id="s9yisphref' + imgID + '" onclick="javascript:this.href = this.href + \'&serendipity[from]=\' + self.location.href;"'; prepend = ''; ilink = baseURL + 'serendipity_admin_image_selector.php?serendipity[step]=showItem&serendipity[image]=' + imgID; } insert = prepend + "" + img + ""; } else { insert = img; } if (document.getElementById('serendipity_imagecomment').value != '') { comment = f['serendipity[imagecomment]'].value; block = '
' + '
' + insert + '
' + '
' + comment + '
' + '
'; } else { block = insert; } if (typeof(parent.self.opener.htmlarea_editors) != 'undefined' && typeof(parent.self.opener.htmlarea_editors[textarea]) != 'undefined') { parent.self.opener.htmlarea_editors[textarea].surroundHTML(block, ''); } else if (parent.self.opener.editorref) { parent.self.opener.editorref.surroundHTML(block, ''); } else { parent.self.opener.serendipity_imageSelector_addToBody(block, textarea); } parent.self.close(); } // Toggle extended entry editor function toggle_extended(setCookie) { var textarea = document.getElementById('serendipity[extended]'); var button = document.getElementById('option_extended'); var tools = document.getElementById('tools_extended'); if ( textarea.style.display == 'none' ) { textarea.style.display = ''; tools.style.display = ''; button.src = minus_img; if (setCookie == true) { document.cookie = 'serendipity[toggle_extended]=true;'; } } else { textarea.style.display = 'none'; tools.style.display = 'none'; button.src = plus_img; if (setCookie == true) { document.cookie = 'serendipity[toggle_extended]=;'; } } } // Collapses/expands the category selector var selector_toggle = new Array(); function showItem(id) { var selected = 0; if (typeof(id) == 'undefined' || typeof(id) == 'object') { id = 'categoryselector'; } if (document.getElementById) { el = document.getElementById(id); if (selector_toggle[id] && selector_toggle[id] == 'off') { selector_restore[id] = new Array(); selector_toggle[id] = 'on'; // Hack to make sure that when the single dropdown is shown, don't have multiple selections last = 0; for (i=0; i < el.options.length; i++) { if (el.options[i].selected == true) { selected++; last = i; selector_restore[id][last] = 'on'; } if (selected > 1) { // If there is more than one selected, we reset all those to false // // This is because otherwise the label will say 'No Category', but the // categories will still be selected for (j=0; j < el.options.length; j++) { // Save selection in array to later restore them if (el.options[j].selected == true) { el.options[j].selected = false; selector_restore[id][j] = 'on'; last = j; } else { selector_restore[id][j] = false; } } break; } } el.selectedIndex = null; if (last > 0) { el.selectedIndex = last; } el.size = 1; // Show a normal dropdown if (el.multiple) { el.multiple = false; } document.getElementById('option_' + id).src = plus_img; } else { selector_store[id] = el.size; if (selector_store[id] == 0) { selector_store[id] = 5; } last = 0; if (el.selectedIndex > 0) { if (!selector_restore[id]) { selector_restore[id] = new Array(); } for (j=0; j < el.options.length; j++) { // Save selection in array to later restore them if (el.options[j].selected == true) { selector_restore[id][j] = 'on'; last = j; } } } el.selectedIndex = -1; el.size = cat_count; selector_toggle[id] = 'off'; // Show multiple items el.multiple = true; // Restore previously selected items? last = 0; for (i = 0; i < el.options.length; i++) { if (selector_restore && selector_restore[id] && selector_restore[id][i] && selector_restore[id][i] == 'on') { val = el.options[i].value; if (el.options[i].selected != true) { el.options[i].selected = true; last = i; // [TODO] IE Bug: Don't ask me why, but this restoring only works in // Internet Explorer if you put this: // alert('it doesnt matter what, just the alert is important'); } } } document.getElementById('option_' + id).src = minus_img; } } } // ? function rememberMediaOptions() { el = document.getElementById('imageForm'); for (i = 0; i < el.elements.length; i++) { elname = new String(el.elements[i].name); elname = elname.replace(/\[/g, '_'); elname = elname.replace(/\]/g, ''); if (el.elements[i].type == 'radio') { if (el.elements[i].checked) { SetCookie(elname, el.elements[i].value); } } else if (typeof(el.elements[i].options) == 'object') { SetCookie(elname, el.elements[i].options[el.elements[i].selectedIndex].value); } } } // Rename file in media db function rename(id, fname) { if (newname = prompt(media_rename + fname, fname)) { newloc = '?serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname) +'&'+ media_token_url; location.href=newloc; } } // ? var tree_toggle_state = 'expand'; function treeToggleAll() { if (tree_toggle_state == 'expand') { tree_toggle_state = 'collapse'; tree.expandAll(); } else { tree_toggle_state = 'expand'; tree.collapseAll(); coreNode.expand(); } } // Used internally by fillInput; regexp replace function getfilename(value) { re = /^.+[\/\\]+?(.+)$/; return value.replace(re, "$1"); } // ? isFileUpload = true; function hideForeign() { document.getElementById('foreign_upload').style.display = 'none'; document.getElementById('imageurl').value = ''; isFileUpload = false; } // ? function rememberUploadOptions() { td = document.getElementById('target_directory_2'); td_val = td.options[td.selectedIndex].value; SetCookie("addmedia_directory", td_val); } // ? var upload_fieldcount = 1; function addUploadField() { upload_fieldcount++; fields = jQuery('#upload_template').clone(); fields.attr('id', 'upload_form_' + upload_fieldcount); fields.css('display', 'block'); userfile = jQuery('.uploadform_userfile', fields); userfile_label = jQuery('.uploadform_userfile_label', fields); targetfilename = jQuery('.uploadform_target_filename', fields); targetfilename_label = jQuery('.uploadform_target_filename_label', fields); targetdir = jQuery('.uploadform_target_directory', fields); targetdir_label = jQuery('.uploadform_target_directory_label', fields); columncount = jQuery('.uploadform_column_count', fields); userfile.attr('id', 'userfile_' + upload_fieldcount); userfile.attr('name', 'serendipity[userfile][' + upload_fieldcount + ']'); userfile_label.attr('for', 'userfile_' + upload_fieldcount); targetfilename.attr('id', 'target_filename_' + upload_fieldcount); targetfilename.attr('name', 'serendipity[target_filename][' + upload_fieldcount + ']'); targetfilename_label.attr('for', 'target_filename_' + upload_fieldcount); targetdir.attr('id', 'target_directory_' + upload_fieldcount); targetdir.attr('name', 'serendipity[target_directory][' + upload_fieldcount + ']'); targetdir_label.attr('for', 'target_directory_' + upload_fieldcount); columncount.attr('id', 'column_count_' + upload_fieldcount); columncount.attr('name', 'serendipity[column_count][' + upload_fieldcount + ']'); fields.insertBefore('#upload_form'); document.getElementById(targetdir.attr('id')).selectedIndex = document.getElementById('target_directory_' + (upload_fieldcount - 1)).selectedIndex; } // ? var inputStorage = new Array(); function checkInputs() { for (i = 1; i <= upload_fieldcount; i++) { if (!inputStorage[i]) { fillInput(i, i); } else if (inputStorage[i] == document.getElementById('target_filename_' + i).value) { fillInput(i, i); } } } // ? function fillInput(source, target) { useDuplicate = false; // First field is a special value for foreign URLs instead of uploaded files if (source == 1 && document.getElementById('imageurl').value != "") { sourceval = getfilename(document.getElementById('imageurl').value); useDuplicate = true; } else { sourceval = getfilename(document.getElementById('userfile_' + source).value); } if (sourceval.length > 0) { document.getElementById('target_filename_' + target).value = sourceval; inputStorage[target] = sourceval; } // Display filename in duplicate form as well! if (useDuplicate) { tkey = target + 1; if (!inputStorage[tkey] || inputStorage[tkey] == document.getElementById('target_filename_' + tkey).value) { document.getElementById('target_filename_' + (target+1)).value = sourceval; inputStorage[target + 1] = '~~~'; } } } // outsourced from comments.inc.tpl // ? function FT_toggle(id) { if ( document.getElementById(id + '_full').style.display == '' ) { document.getElementById(id + '_full').style.display='none'; document.getElementById(id + '_summary').style.display=''; document.getElementById(id + '_text').innerHTML = view_full; } else { document.getElementById(id + '_full').style.display=''; document.getElementById(id + '_summary').style.display='none'; document.getElementById(id + '_text').innerHTML = view_hide; } return false; } // ? // NOTE: similar function (but not duplicate!) exists in admin_scripts.js function invertSelection() { var f = document.formMultiDelete; for (var i = 0; i < f.elements.length; i++) { if( f.elements[i].type == 'checkbox' ) { f.elements[i].checked = !(f.elements[i].checked); f.elements[i].onclick(); } } } // ? // NOTE: hard-coded color values in JS. Ugh. var origborder = ''; var origwidth = ''; function highlightComment(id, checkvalue) { var comment = document.getElementById(id); if (origborder == '') { origborder = comment.style.borderColor; if (origborder == '') { origborder = '#fff'; } } if (origwidth == '') { origwidth = comment.style.borderWidth; if (origwidth == '' || origwidth == 0) { origwidth = 1; } } if (checkvalue) { comment.style.borderColor = '#f00'; comment.style.borderWidth = origwidth; } else { comment.style.borderColor = ''; comment.style.borderWidth = origwidth; } } // -->