LJSUP-17669: Login.bml form refactoring
[livejournal.git] / htdocs / imgupload.bml
blobd7bb35b89140b8566c579489587a4667e8d58888
1 <?_code
3     use strict;
4     use vars qw(%GET);
6     # $_[0] is a pre-request scratch area
7     # put variables here so that we can access them later
8     # outside of this _code block
9     my $head = \$_[0]->{'head'};
10     my $body = \$_[0]->{'body'};
12     my $u = LJ::User->remote;
14     LJ::need_res('stc/lj_base-app.css',
15                  'stc/display_none.css',
16                  'js/photobucket_jw.js');
18     if ($GET{new_comments}) {
19         LJ::need_res('stc/imgupload_schemius.css');
20     } else {
21         LJ::need_res('stc/imgupload.css');
22     }
25     if ($GET{upload_count} || LJ::did_post()) {
26         my $js = "";
28         if (my $ct = $GET{upload_count}) {
29             for my $pn (1..$ct) {
30                 my $swidth  = int($GET{"sw_$pn"});
31                 my $sheight = int($GET{"sh_$pn"});
32                 my $esurl   = LJ::ejs($GET{"su_$pn"});
33                 my $eppurl  = LJ::ejs($GET{"pp_$pn"});
34                 $js .= "InOb.onUpload(\"$esurl\", \"$eppurl\", $swidth, $sheight);\n";
35             }
37         # From URL
38         } else {
39             my $img = LJ::ejs($POST{'url'});
40             $js = "InOb.onInsURL(\"$img\")\n";
41         }
43         my $ret = qq{
44             <html>
45                 <body>
46                 <script>
47                 if (window.parent.parent && window.parent.parent.InOb) {
48                     window.parent.parent.$js
49                     window.parent.parent.InOb.onClosePopup();
50                 } else if (window.parent && window.parent.InOb) {
51                     window.parent.$js
52                     window.parent.InOb.onClosePopup();
53                 }
54                 </script>
55                 </body>
56             </html>
57         };
58         return $ret;
59     }
61     my $step = 1;
62     my $fbenabled = LJ::get_cap($u, 'fb_account') && LJ::get_cap($u, 'fb_can_upload');
63     my $ret = '';
65     $$head .= qq{
66         <script type="text/javascript">
67             var fileaction = '$LJ::FB_SITEROOT/interface/webupload';
68             var fbroot     = '$LJ::SITEROOT/__using/$LJ::FB_DOMAIN';
69             var urlaction  = 'imgupload.bml';
71             function onCancel () {
72                 window.parent.InOb.onClosePopup();
73             }
75             function setTab(tab) {
76                 clearTabs();
77                 \$(tab).className = 'on';
78             }
79             function clearTabs() {
80                 \$('tabInsert').className = '';
81                 \$('tabPhotobucket').className = '';
82             }
83         </script>
84         };
86     $ret .= "<div class='insob-wrapper'>";
87     $ret .= "<div class='insobjOuter' id='insobjOuter'>";
88     $ret .= "<form id='insobjform' enctype='multipart/form-data' action='imgupload.bml' method='post' onsubmit='return window.parent.InOb.onSubmit()' >";
89     $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>";
90     $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>";
91     $ret .= "<div id='close'><a href='#close' onclick='onCancel();return false;'>close</a></div>";
93     # content
94     my $ml_unavailable = LJ::Lang::ml('/imgupload.bml.msg.unavailable');
95     $ret .= "<div class='insobjContent' id='img_iframe_holder' style='display: none; margin: 0px 0px 0px 0px;'>";
96     # $ml_unavailable
97     $ret .= "</div><div id='img_fromwhere' class='insobjContent'>";
99     $ret .= "<p class='wintitle' id='wintitle'></p>";
101     unless ( LJ::is_enabled('pics_production') ) {
102         $ret .= "<div class='b-pics-promo-wrapper'>";
103         $ret .= "<i class='b-pics-promo-box'></i>";
104         $ret .= "<a class='b-pics-promo-link' href='http://lj-pics-beta.livejournal.com/472.html' target='_blank'>";
105         $ret .= "<span class='b-pics-promo-arrow'></span>";
106         $ret .= "<span class='b-pics-promo-content b-pics-promo-content-header'>$ML{'.msg.newalbums'}</span>";
107         $ret .= "<span class='b-pics-promo-content'>$ML{'.msg.newalbums.organise'}</span>";
108         $ret .= "</a>";
109         $ret .= "</div>";
110     }
112     $ret .= "<div id='formcontent'>";
113     $ret .= "<div id='img_error' class='errorbar'></div>";
115     # from URL
116     $ret .= "<p class='inputs pkg'>\n";
117     $ret .= LJ::html_check({
118         'type'     => 'radio',
119         'name'     => 'method',
120         'id'       => 'fromurl',
121         'class'    => 'check',
122         'value'    => 'url',
123         'selected' => 1,
124     });
125     $ret .= "<label for='fromurl' class='left'>Image from URL:</label>";
126     $ret .= "<span class='inputcontainer'>";
127     $ret .= LJ::html_text({
128         'name'    => 'url',
129         'id'      => 'fromurlentry',
130         'size'    => '50',
131     });
132     $ret .= "</span>";
133     $ret .= "</p>";
134     $ret .= "<p class='ex'><strong>Example:</strong> http://www.example.com/some-picture.jpg</p>";
136     # from file
137     $ret .= "<p class='inputs pkg'>";
138     $ret .= LJ::html_check({
139         'type'     => 'radio',
140         'name'     => 'method',
141         'id'       => 'fromfile',
142         'class'    => 'check',
143         'value'    => 'file',
144         'disabled' => $fbenabled ? 0 : 1,
145     });
146     $ret .= " <label for='fromfile' class='left'>Image from file:</label>";
147     $ret .= LJ::html_hidden('redir_to_auth_base', '1', 'sec1', '255');
149     my $disabled = $fbenabled ? '' : "disabled='1'";
151     $ret .= "<span class='inputcontainer'>";
152     $ret .= "<span id='filediv'><input type='file' name='file1' id='fromfileentry' size='50' $disabled /></span>";
153     $ret .= "</span>";
154     $ret .= "</p>";
155     if ($u) {
156         my $msg = LJ::run_hook('update_insobj_fb', $fbenabled) || "Upload a file from your computer";
157         $ret .= "<p class='ex'>$msg</p>";
158     } else {
159         $ret .= "<?warningbar $ML{'.login.message2'} warningbar?>";
160     }
162     # from Fotobilder
163     if ($fbenabled) {
164         $ret .= "<p class='inputs pkg'>";
165         $ret .= LJ::html_check({
166             'type'     => 'radio',
167             'name'     => 'method',
168             'id'       => 'fromfb',
169             'class'    => 'check',
170             'value'    => 'fb',
171         });
173         $ret .= " <label for='fromfb' class='left extended'>$ML{'.gallery.label'}</label>";
174         $ret .= "</p>";
175     }
177     if ($u) {
178         $ret .= "<p class='ex extended'>$ML{'.size'}</p>\n";
179     }
180     $ret .= "</div><!-- end #formcontent -->";
181     $ret .= "<div class='insobjNav' id='insobjNav'>";
182     $ret .= "<input type='button' name='btn:prev' id='btnPrev' style='display:none' value='&lt;-- Back' />";
183     $ret .= LJ::html_submit('btn:next', 'Insert', { 'id' => 'btnNext' }) . "\n";
184     $ret .= "</div>\n";
185     $ret .= "</form></div><script type='text/javascript'>window.parent.InOb.setupIframeHandlers();</script>";
186     $ret .= "</div><!-- end #insob-wrapper -->\n";
188     $$body = $ret;
190     $$head .= "<script type='text/javascript'>var seedurl='$LJ::SITEROOT/photobucket_cb.bml';";
191     $$head .= "var pb_affsite_id = $LJ::PHOTOBUCKET_JWIDGET_ID;</script>\n";
192     $$head .= LJ::res_includes();
193     return;
195 _code?>
196 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
197 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
198 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
199 <head>
200 <title>Insert Image</title>
201 <?_code return $_[0]->{'head'}; _code?>
202 </head>
203 <body>
204 <?_code return $_[0]->{'body'}; _code?>
205 </body>
206 </html>