[dw-free] Post image link broken on update page
[commit: http://hg.dwscoalition.org/dw-free/rev/212232c35417]
http://bugs.dwscoalition.org/show_bug.cgi?id=1123
Disable Photobucket tab, remove Fotobilder support, remove 'upload from
disk' item to make the 'insert image' dialog actually reflect what a user
can do right now.
Patch by
afuna.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=1123
Disable Photobucket tab, remove Fotobilder support, remove 'upload from
disk' item to make the 'insert image' dialog actually reflect what a user
can do right now.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/weblib.pl
- htdocs/imgupload.bml
- htdocs/imguploadrte.bml
- htdocs/js/entry.js
- htdocs/stc/fck/editor/dialog/fck_image/fck_image.js
- htdocs/stc/imgupload.css
-------------------------------------------------------------------------------- diff -r 7cf587aedb52 -r 212232c35417 cgi-bin/weblib.pl --- a/cgi-bin/weblib.pl Sun Jun 14 18:25:13 2009 +0000 +++ b/cgi-bin/weblib.pl Sun Jun 14 18:32:25 2009 +0000 @@ -2946,6 +2946,10 @@ sub rte_js_vars { foreach my $key (keys %$rte_disabled) { $ret .= " RTEdisabled['$key'] = true;" if $rte_disabled->{$key}; } + + # detect whether image upload and photobucket are set up + my $photobucket_is_setup = $LJ::PHOTOBUCKET_JWIDGET_ID ? "true" : "false"; + $ret .= qq^ var canmakepoll = $canmakepoll; @@ -2956,6 +2960,9 @@ sub rte_js_vars { } } } + + var SiteConfig = new Object(); + SiteConfig.ImagePhotobucket = $photobucket_is_setup; </script>^; return $ret; diff -r 7cf587aedb52 -r 212232c35417 htdocs/imgupload.bml --- a/htdocs/imgupload.bml Sun Jun 14 18:25:13 2009 +0000 +++ b/htdocs/imgupload.bml Sun Jun 14 18:32:25 2009 +0000 @@ -13,8 +13,9 @@ LJ::need_res('stc/lj_base-app.css', 'stc/imgupload.css', - 'stc/display_none.css', - 'js/photobucket_jw.js'); + 'stc/display_none.css'); + + LJ::need_res( 'js/photobucket_jw.js' ) if $LJ::PHOTOBUCKET_JWIDGET_ID; if ($GET{upload_count} || LJ::did_post()) { my $js = ""; @@ -53,13 +54,10 @@ } my $step = 1; - my $fbenabled = LJ::get_cap($u, 'fb_account') && LJ::get_cap($u, 'fb_can_upload'); my $ret = ''; - $$head .= qq{ + $$head .= qq~ <script type="text/javascript"> - var fileaction = '$LJ::FB_SITEROOT/interface/webupload'; - var fbroot = '$LJ::SITEROOT/__using/$LJ::FB_DOMAIN'; var urlaction = 'imgupload.bml'; function onCancel () { @@ -71,18 +69,23 @@ \$(tab).className = 'on'; } function clearTabs() { - \$('tabInsert').className = ''; - \$('tabPhotobucket').className = ''; + \$('tabInsert').className = '';~; + $$head .= qq~ + \$('tabPhotobucket').className = '';~ + if $LJ::PHOTOBUCKET_JWIDGET_ID; + $$head .= qq~ } </script> - }; + ~; $ret .= "<div class='insob-wrapper'>"; $ret .= "<div class='insobjOuter' id='insobjOuter'>"; $ret .= "<form id='insobjform' enctype='multipart/form-data' action='imgupload.bml' method='post' onsubmit='return window.parent.InOb.onSubmit()' >"; $ret .= "<div class='tabs'><ul><li id='tabInsert' class='on'><a href='javascript: void(0);' onclick='window.parent.InOb.showSelectorPage();setTab(\"tabInsert\");return false;'>Insert Image</a></li>"; - $ret .= "<li id='tabPhotobucket'><a href='javascript: void(0);' onclick='window.parent.InOb.photobucket(seedurl,pb_affsite_id);setTab(\"tabPhotobucket\");return false;'>Photobucket</a></li></ul></div>"; - $ret .= "<div id='close'><a href='#close' onclick='onCancel();return false;'>close</a></div>"; + + $ret .= "<li id='tabPhotobucket'><a href='javascript: void(0);' onclick='window.parent.InOb.photobucket(seedurl,pb_affsite_id);setTab(\"tabPhotobucket\");return false;'>Photobucket</a></li>" if $LJ::PHOTOBUCKET_JWIDGET_ID; + + $ret .= "</ul></div><div id='close'><a href='#close' onclick='onCancel();return false;'>close</a></div>"; # content $ret .= "<div class='insobjContent' id='img_iframe_holder' style='display: none; margin: 0px 0px 0px 0px;'></div><div id='img_fromwhere' class='insobjContent'>"; @@ -113,50 +116,6 @@ $ret .= "</p>"; $ret .= "<p class='ex'><strong>Example:</strong> http://www.example.com/some-picture.jpg</p>"; - # from file - $ret .= "<p class='inputs pkg'>"; - $ret .= LJ::html_check({ - 'type' => 'radio', - 'name' => 'method', - 'id' => 'fromfile', - 'class' => 'check', - 'value' => 'file', - 'disabled' => $fbenabled ? 0 : 1, - }); - $ret .= " <label for='fromfile' class='left'>Image from file:</label>"; - $ret .= LJ::html_hidden('redir_to_auth_base', '1', 'sec1', '255'); - - my $disabled = $fbenabled ? '' : "disabled='1'"; - - $ret .= "<span class='inputcontainer'>"; - $ret .= "<span id='filediv'><input type='file' name='file1' id='fromfileentry' size='50' $disabled /></span>"; - $ret .= "</span>"; - $ret .= "</p>"; - if ($u) { - my $msg = LJ::run_hook('update_insobj_fb', $fbenabled) || "Upload a file from your computer"; - $ret .= "<p class='ex'>$msg</p>"; - } else { - $ret .= "<?warningbar $ML{'.login.message2'} warningbar?>"; - } - - # from Fotobilder - if ($fbenabled) { - $ret .= "<p class='inputs pkg'>"; - $ret .= LJ::html_check({ - 'type' => 'radio', - 'name' => 'method', - 'id' => 'fromfb', - 'class' => 'check', - 'value' => 'fb', - }); - - $ret .= " <label for='fromfb' class='left extended'>$ML{'.gallery.label'}</label>"; - $ret .= "</p>"; - } - - if ($u) { - $ret .= "<p class='ex extended'>$ML{'.size'}</p>\n"; - } $ret .= "</div><!-- end #formcontent -->"; $ret .= "<div class='insobjNav' id='insobjNav'>"; $ret .= "<input type='button' name='btn:prev' id='btnPrev' style='display:none' value='<-- Back' />"; @@ -167,8 +126,10 @@ $$body = $ret; - $$head .= "<script type='text/javascript'>var seedurl='$LJ::SITEROOT/photobucket_cb.bml';"; - $$head .= "var pb_affsite_id = $LJ::PHOTOBUCKET_JWIDGET_ID;</script>\n"; + if ( $LJ::PHOTOBUCKET_JWIDGET_ID ) { + $$head .= "<script type='text/javascript'>var seedurl='$LJ::SITEROOT/photobucket_cb.bml';"; + $$head .= "var pb_affsite_id = $LJ::PHOTOBUCKET_JWIDGET_ID;</script>\n"; + } $$head .= LJ::res_includes(); return; } diff -r 7cf587aedb52 -r 212232c35417 htdocs/imguploadrte.bml --- a/htdocs/imguploadrte.bml Sun Jun 14 18:25:13 2009 +0000 +++ b/htdocs/imguploadrte.bml Sun Jun 14 18:32:25 2009 +0000 @@ -11,9 +11,9 @@ my $u = LJ::User->remote; return "<?needlogin?>" unless $u; - LJ::need_res("stc/display_none.css", - "js/photobucket_jw.js", - "js/browserdetect.js"); + LJ::need_res( "stc/display_none.css", + "js/browserdetect.js" ); + LJ::need_res( "js/photobucket_jw.js" ) if $LJ::PHOTOBUCKET_JWIDGET_ID; my $js = ""; if ($GET{upload_count} || LJ::did_post()) { @@ -32,7 +32,6 @@ } my $step = 1; - my $fbenabled = LJ::get_cap($u, 'fb_account') && LJ::get_cap($u, 'fb_can_upload'); my $ret = ''; $$head .= qq{ @@ -46,17 +45,14 @@ .insobjOuter div.ex { font: 8pt sans-serif; color: #888; font-style: italic;} .img_error { color: red; font-weight: bold; text-align: center; } </style> - <script> - var fileaction = '$LJ::FB_SITEROOT/interface/webupload'; - var fbroot = '$LJ::SITEROOT/__using/$LJ::FB_DOMAIN'; - </script> - <script src="$LJ::STATPREFIX/fck/editor/dialog/common/fck_dialog_common.js" type="text/javascript"></script> - <script src="$LJ::STATPREFIX/fck/editor/dialog/fck_image/fck_image.js" type="text/javascript"></script> - $js - <link href="$LJ::STATPREFIX/fck/editor/dialog/common/fck_dialog_common.css" rel="stylesheet" type="text/css" /> + <script src="$LJ::STATPREFIX/fck/editor/dialog/common/fck_dialog_common.js" type="text/javascript"></script> + <script src="$LJ::STATPREFIX/fck/editor/dialog/fck_image/fck_image.js" type="text/javascript"></script> + $js + <link href="$LJ::STATPREFIX/fck/editor/dialog/common/fck_dialog_common.css" rel="stylesheet" type="text/css" /> }; #taken from the original fck_image.html + #insert HTML for an image tag, given an image URL and assorted metadata (alt text, dimensions, etc) $ret .= qq{ <div id="divInfo"> <table cellspacing="1" cellpadding="1" border="0" width="99%" height="99%"> @@ -133,67 +129,12 @@ </table></td></tr> </table> </div> - <div id="divUpload" style="DISPLAY: none"> }; - # taken from imgupload.bml with customization for rte - $ret .= "<div class='insobjOuter' id='insobjOuter'>"; - $ret .= "<form style='display:inline' id='insobjform' enctype='multipart/form-data' action='imguploadrte.bml' method='post' onsubmit='return InObFCK.onSubmit()' >"; - - $ret .= "<table width='99%' height='99%' border='0' cellpadding='0' cellspacing='0'><tr height='20' class='insObjTitle' id='insObjTitle'><td align='left' colspan='2'><p class='wintitle' id='wintitle'>Insert Image</p></td></tr>"; - -# content - $ret .= "<tr><td colspan='2'><div class='insobjContent' id='img_iframe_holder' style='display: none; margin: 0px 0px 0px 0px;'></div><div id='img_fromwhere' class='insobjContent'>"; - - $ret .= "<table cellspacing='8' valign='top'>"; - - $ret .= "<tr><td id='img_error' class='img_error' colspan='2'></td></tr>"; - - # from file - $ret .= "<tr valign='top' colspan='2'><td>"; - $ret .= LJ::html_check({ - 'type'=> 'radio', - 'name'=> 'method', - 'id'=> 'fromfile', - 'value' => 'file', - 'disabled' => $fbenabled ? 0 : 1, - }); - $ret .= " <label for='fromfile'>Image from file</label>:</td></tr><tr><td colspan='2'>"; - $ret .= LJ::html_hidden('redir_to_auth_base', '2', 'sec1', '255'); - - my $disabled = $fbenabled ? '' : "disabled='1'"; - - $ret .= "<div id='filediv'><input type='file' name='file1' id='fromfileentry' size='50' $disabled /></div>"; - - my $msg = LJ::run_hook('update_insobj_fb', $fbenabled) || "Upload a file from your computer"; - $ret .= "<div class='ex'>$msg</div>"; - $ret .= "</td></tr>"; - - # from Fotobilder - if ($fbenabled) { - $ret .= "<tr><td colspan='2'>"; - $ret .= LJ::html_check({ - 'type' => 'radio', - 'name' => 'method', - 'id' => 'fromfb', - 'value'=> 'fb', - }); - - $ret .= " <label for='fromfb'>$ML{'/imgupload.bml.gallery.label'}</label></td></tr>"; -} - $ret .= "</table>"; - - $ret .= "<br /><font size='1' color='gray'><i>$ML{'.size'}</i></font></div></td></tr><tr height='20' class='insobjNav' id='insobjNav'><td align='left'><div style='margin-left: 10px'>"; - $ret .= "<input type='button' name='btn:prev' id='btnPrev' style='display:none' value='<-- Back' />"; - $ret .= "</div></td>"; - $ret .= "<td align='right'><div style='margin-right: 10px'>"; - $ret .= LJ::html_submit('btn:next', 'Insert', { 'id' => 'btnNext' }); - $ret .= "</div></td></tr></table>"; - $ret .= "</form></div><script>InObFCK.setupIframeHandlers();</script>"; - # taken from orig fck_image.html + # link tab $ret .= qq{ - </div> + <script>InObFCK.setupIframeHandlers();</script> <div id="divLink" style="DISPLAY: none"> <table cellspacing="1" cellpadding="1" border="0" width="100%"> <tr> @@ -255,25 +196,32 @@ <span fckLang="DlgGenStyle">Style</span><br /> <input id="txtAttStyle" style="WIDTH: 100%" type="text"> </div> - <div id="divPhotobucket" style="DISPLAY: none"> - <script type="text/javascript"> - // Safari can't use the advanced JWidget integration so the callback - // URL is set to nothing - var cb_url = "&url=" + escape(seedurl); - var inRTE = true; - var browser = new BrowserDetectLite(); - if (browser.isSafari) cb_url = ''; - - document.write('<iframe name="jwidget" id="jwidget" src="http://photobucket.com/svc/jwidget.php?width=360&height=400&largeThumb=true&pbaffsite='+pb_affsite_id+'&bg=%23F7F7F7&border=false&bordercolor=%23000000'+cb_url+'&linkType=url&textcolor=%23000000&linkcolor=%230000FF&media=image&btntxt=Paste&dimensions=false&promo=false" bgcolor="transparent" width="99%" height="440" frameborder="0" scrolling="no"></iframe>'); - </script> - </div> }; - - $$body = $ret; - $$head .= "<script type='text/javascript'>var seedurl='$LJ::SITEROOT/photobucket_cb.bml';"; - $$head .= "var pb_affsite_id = $LJ::PHOTOBUCKET_JWIDGET_ID;</script>\n"; - $$head .= LJ::res_includes(); - return; + + # photobucket tab + if ( $LJ::PHOTOBUCKET_JWIDGET_ID ) { + $ret .= qq{ + <div id="divPhotobucket" style="DISPLAY: none"> + <script type="text/javascript"> + // Safari can't use the advanced JWidget integration so the callback + // URL is set to nothing + var cb_url = "&url=" + escape(seedurl); + var inRTE = true; + var browser = new BrowserDetectLite(); + if (browser.isSafari) cb_url = ''; + + document.write('<iframe name="jwidget" id="jwidget" src="http://photobucket.com/svc/jwidget.php?width=360&height=400&largeThumb=true&pbaffsite='+pb_affsite_id+'&bg=%23F7F7F7&border=false&bordercolor=%23000000'+cb_url+'&linkType=url&textcolor=%23000000&linkcolor=%230000FF&media=image&btntxt=Paste&dimensions=false&promo=false" bgcolor="transparent" width="99%" height="440" frameborder="0" scrolling="no"></iframe>'); + </script> + </div> + }; + + $$head .= "<script type='text/javascript'>var seedurl='$LJ::SITEROOT/photobucket_cb.bml';"; + $$head .= "var pb_affsite_id = $LJ::PHOTOBUCKET_JWIDGET_ID;</script>\n"; + } + + $$body = $ret; + $$head .= LJ::res_includes(); + return; } _code?> <html> diff -r 7cf587aedb52 -r 212232c35417 htdocs/js/entry.js --- a/htdocs/js/entry.js Sun Jun 14 18:25:13 2009 +0000 +++ b/htdocs/js/entry.js Sun Jun 14 18:32:25 2009 +0000 @@ -613,7 +613,8 @@ InOb.selectRadio = function (which) { if (which != 'fromfile') { var filediv = currentPopupWindow.document.getElementById('filediv'); - filediv.innerHTML = filediv.innerHTML; + if (filediv) + filediv.innerHTML = filediv.innerHTML; } // focus and change next button diff -r 7cf587aedb52 -r 212232c35417 htdocs/stc/fck/editor/dialog/fck_image/fck_image.js --- a/htdocs/stc/fck/editor/dialog/fck_image/fck_image.js Sun Jun 14 18:25:13 2009 +0000 +++ b/htdocs/stc/fck/editor/dialog/fck_image/fck_image.js Sun Jun 14 18:32:25 2009 +0000 @@ -39,11 +39,11 @@ if ( !bImageButton && !FCKConfig.ImageDl if ( !bImageButton && !FCKConfig.ImageDlgHideLink ) dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ; -if ( FCKConfig.ImageUpload ) +if ( FCKConfig.ImageUpload && top.SiteConfig.ImageUpload ) dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; // LJ SPECIFIC -if ( FCKConfig.ImagePhotobucket) +if ( FCKConfig.ImagePhotobucket && top.SiteConfig.ImagePhotobucket ) dialog.AddTab( 'Photobucket', 'Photobucket' ) ; if ( !FCKConfig.ImageDlgHideAdvanced ) diff -r 7cf587aedb52 -r 212232c35417 htdocs/stc/imgupload.css --- a/htdocs/stc/imgupload.css Sun Jun 14 18:25:13 2009 +0000 +++ b/htdocs/stc/imgupload.css Sun Jun 14 18:32:25 2009 +0000 @@ -100,6 +100,7 @@ div.insobjOuter p.wintitle { #formcontent { padding: 5px 10px 0px 10px; margin: 0px; + min-height: 160px; } * html #formcontent { padding-top: 0px; --------------------------------------------------------------------------------