]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Revert "Multiple file upload handling."
authorSarven Capadisli <csarven@status.net>
Wed, 31 Mar 2010 08:57:20 +0000 (10:57 +0200)
committerSarven Capadisli <csarven@status.net>
Wed, 31 Mar 2010 08:57:20 +0000 (10:57 +0200)
This reverts commit 260f00d60bc83ac641d6fbe465e70aec33ccd9be.

As mentioned in
http://gitorious.org/statusnet/mainline/commit/260f00d60bc83ac641d6fbe465e70aec33ccd9be#comment_8367

Reverting this merge until the bugs are fixed and there is a general
agreement on the need for this enhancement.

actions/newnotice.php
js/util.js
lib/noticeform.php
theme/base/css/display.css
theme/default/css/display.css

index 2aa354870b2813a87d5fe829100ef3a3951fcb4b..ed0fa1b2b5768026e486196d0112a2c46af3f54e 100644 (file)
@@ -164,25 +164,22 @@ class NewnoticeAction extends Action
             $replyto = 'false';
         }
 
-        $uploads = array();
-        foreach($_FILES as $name => $value) {
-            if(substr($name, 0, 6) == "attach") {
-                $upload = MediaFile::fromUpload($name);
-                if (isset($upload)) {
-                    $content_shortened .= ' ' . $upload->shortUrl();
-                }
-            }
-        }
-        if (Notice::contentTooLong($content_shortened)) {
-            foreach($uploads as $upload) {
+        $upload = null;
+        $upload = MediaFile::fromUpload('attach');
+
+        if (isset($upload)) {
+
+            $content_shortened .= ' ' . $upload->shortUrl();
+
+            if (Notice::contentTooLong($content_shortened)) {
                 $upload->delete();
+                $this->clientError(
+                    sprintf(
+                        _('Max notice size is %d chars, including attachment URL.'),
+                          Notice::maxContent()
+                    )
+                );
             }
-            $this->clientError(
-                sprintf(
-                    _('Max notice size is %d chars, including attachment URL.'),
-                      Notice::maxContent()
-                )
-            );
         }
 
         $options = array('reply_to' => ($replyto == 'false') ? null : $replyto);
@@ -200,10 +197,12 @@ class NewnoticeAction extends Action
 
         $notice = Notice::saveNew($user->id, $content_shortened, 'web', $options);
 
-        foreach($uploads as $upload) {
+        if (isset($upload)) {
             $upload->attachToNotice($notice);
         }
 
+
+
         if ($this->boolean('ajax')) {
             header('Content-Type: text/xml;charset=utf-8');
             $this->xw->startDocument('1.0', 'UTF-8');
index d62adf33a7fa85c1332fe42866d14baff9ca7907..1320d11b4b71015b8bbac7a58ab00fc71ae7f6c5 100644 (file)
@@ -30,8 +30,7 @@ var SN = { // StatusNet
             CounterBlackout: false,
             MaxLength: 140,
             PatternUsername: /^[0-9a-zA-Z\-_.]*$/,
-            HTTP20x30x: [200, 201, 202, 203, 204, 205, 206, 300, 301, 302, 303, 304, 305, 306, 307],
-            UploadCounter: 0
+            HTTP20x30x: [200, 201, 202, 203, 204, 205, 206, 300, 301, 302, 303, 304, 305, 306, 307]
         },
 
         S: { // Selector
@@ -173,7 +172,6 @@ var SN = { // StatusNet
         FormNoticeXHR: function(form) {
             SN.C.I.NoticeDataGeo = {};
             form.append('<input type="hidden" name="ajax" value="1"/>');
-            
             form.ajaxForm({
                 dataType: 'xml',
                 timeout: '60000',
@@ -230,10 +228,9 @@ var SN = { // StatusNet
                         }
                         else {
                             if (parseInt(xhr.status) === 0 || jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) >= 0) {
-                                form.resetForm();
-                                SN.U.NoticeClearAttachments(form);
-                                SN.C.I.UploadCounter = 0;
-                                SN.U.NoticeNewAttachment($('fieldset', form));
+                                form
+                                    .resetForm()
+                                    .find('#'+SN.C.S.NoticeDataAttachSelected).remove();
                                 SN.U.FormNoticeEnhancements(form);
                             }
                             else {
@@ -290,9 +287,8 @@ var SN = { // StatusNet
                             }
                         }
                         form.resetForm();
-                        SN.U.NoticeClearAttachments(form);
-                        SN.C.I.UploadCounter = 0;
-                        SN.U.NoticeNewAttachment($('fieldset', form));
+                        form.find('#'+SN.C.S.NoticeInReplyTo).val('');
+                        form.find('#'+SN.C.S.NoticeDataAttachSelected).remove();
                         SN.U.FormNoticeEnhancements(form);
                     }
                 },
@@ -313,11 +309,6 @@ var SN = { // StatusNet
                 }
             });
         },
-        
-        NoticeClearAttachments: function(form) {
-            $('input:file', form).remove();
-            $('div[class=' + SN.C.S.Success + ']', form).remove();
-        },
 
         NoticeReply: function() {
             if ($('#'+SN.C.S.NoticeDataText).length > 0 && $('#content .notice_reply').length > 0) {
@@ -477,31 +468,25 @@ var SN = { // StatusNet
             }
         },
 
-        NoticeDataAttach: function(NDANum) {
-            NDA = $('#'+SN.C.S.NoticeDataAttach+NDANum);
+        NoticeDataAttach: function() {
+            NDA = $('#'+SN.C.S.NoticeDataAttach);
             NDA.change(function() {
-                S = '<div id="'+SN.C.S.NoticeDataAttachSelected+SN.C.I.UploadCounter+'" class="'+SN.C.S.Success+'"><code>'+$(this).val()+'</code> <button class="close">&#215;</button></div>';
-                $('#'+SN.C.S.FormNotice).append(S);
-                
-                $('#'+SN.C.S.NoticeDataAttachSelected+SN.C.I.UploadCounter+' button').click(function(){
-                    $('#'+this.parentNode.getAttribute("id")).remove();
-                    $('#'+this.parentNode.getAttribute("id").replace("_selected", "")).remove();
+                S = '<div id="'+SN.C.S.NoticeDataAttachSelected+'" class="'+SN.C.S.Success+'"><code>'+$(this).val()+'</code> <button class="close">&#215;</button></div>';
+                NDAS = $('#'+SN.C.S.NoticeDataAttachSelected);
+                if (NDAS.length > 0) {
+                    NDAS.replaceWith(S);
+                }
+                else {
+                    $('#'+SN.C.S.FormNotice).append(S);
+                }
+                $('#'+SN.C.S.NoticeDataAttachSelected+' button').click(function(){
+                    $('#'+SN.C.S.NoticeDataAttachSelected).remove();
                     NDA.val('');
 
                     return false;
                 });
-                SN.C.I.UploadCounter++;
-                NDA.attr('style', 'display: none;');
-                SN.U.NoticeNewAttachment(NDA.parent());
-                $('#notice_data-attach-label').attr('for', SN.C.S.NoticeDataAttach+SN.C.I.UploadCounter);
             });
         },
-        
-        NoticeNewAttachment: function(parent) {
-            NEWFILE = '<input id="'+SN.C.S.NoticeDataAttach+SN.C.I.UploadCounter+'" class="attach" type="file" name="attach'+SN.C.I.UploadCounter+'" title="'+NoticeAttachment_text.AttachFile+'"/>';
-            parent.append(NEWFILE);
-            SN.U.NoticeDataAttach(SN.C.I.UploadCounter);            
-        },
 
         NoticeLocationAttach: function() {
             var NLat = $('#'+SN.C.S.NoticeLat).val();
@@ -735,7 +720,7 @@ var SN = { // StatusNet
                     SN.U.FormNoticeEnhancements($(this));
                 });
 
-                SN.U.NoticeDataAttach("");
+                SN.U.NoticeDataAttach();
             }
         },
 
index a55839de0ba8c6f1e22f5f28cae60cd594bac7b2..7278c41a9cf2640323e34430c79c7118d3e6b8e7 100644 (file)
@@ -189,14 +189,10 @@ class NoticeForm extends Form
             }
 
             if (common_config('attachments', 'uploads')) {
-                $this->out->element('label', array('id' => 'notice_data-attach-label',
-                                                   'class' => 'attach-label',
-                                                   'for' => 'notice_data-attach'),
-                                                   _('Attach'));
+                $this->out->element('label', array('for' => 'notice_data-attach'),_('Attach'));
                 $this->out->element('input', array('id' => 'notice_data-attach',
-                                                   'class' => 'attach',
                                                    'type' => 'file',
-                                                   'name' => 'attach0',
+                                                   'name' => 'attach',
                                                    'title' => _('Attach a file')));
                 $this->out->hidden('MAX_FILE_SIZE', common_config('attachments', 'file_quota'));
             }
@@ -216,10 +212,8 @@ class NoticeForm extends Form
                 $this->out->checkbox('notice_data-geo', _('Share my location'), true);
                 $this->out->elementEnd('div');
                 $this->out->inlineScript(' var NoticeDataGeo_text = {'.
-                    'ShareDisable: ' .json_encode(_('Do not share my location')).','.
-                    'ErrorTimeout: ' .json_encode(_('Sorry, retrieving your geo location is taking longer than expected, please try again later')).
-                    '} ; var NoticeAttachment_text = {'.
-                    'AttachFile: ' . json_encode(_('Attach a file')) .
+                    'ShareDisable: "'._('Do not share my location').'",'.
+                    'ErrorTimeout: "'._('Sorry, retrieving your geo location is taking longer than expected, please try again later').'"'.
                     '}');
             }
 
index 768d78ac201273ab1754effc0310eadd169a2f51..f48bdf55e7361d87b5cd64da05fa618366d76402 100644 (file)
@@ -550,19 +550,19 @@ float:left;
 font-size:1.3em;
 margin-bottom:7px;
 }
-.form_notice .attach-label,
-.form_notice .attach {
+.form_notice label[for=notice_data-attach],
+.form_notice #notice_data-attach {
 position:absolute;
 top:25px;
 right:10.5%;
 cursor:pointer;
 }
-.form_notice .attach-label {
+.form_notice label[for=notice_data-attach] {
 text-indent:-9999px;
 width:16px;
 height:16px;
 }
-.form_notice .attach {
+.form_notice #notice_data-attach {
 padding:0;
 height:16px;
 }
@@ -606,7 +606,7 @@ width:81.5%;
 margin-bottom:0;
 line-height:1.618;
 }
-.form_notice code {
+.form_notice #notice_data-attach_selected code {
 float:left;
 width:80%;
 display:block;
@@ -614,7 +614,7 @@ overflow:auto;
 margin-right:2.5%;
 font-size:1.1em;
 }
-.form_notice button.close {
+.form_notice #notice_data-attach_selected button.close {
 float:right;
 font-size:0.8em;
 }
index 44dc9a7c33d8a4f8dce03166f7624ff4eb063266..5e3748cb7abed2b22fded0a6e70008365fc63dcc 100644 (file)
@@ -154,15 +154,14 @@ color:#333333;
 .entity_actions .dialogbox input {
 color:#000000;
 }
-.form_notice .attach-label {
+.form_notice label[for=notice_data-attach] {
 background-position:0 -328px;
 }
-.form_notice .attach {
-position: absolute;
+.form_notice #notice_data-attach {
 opacity:0;
 }
 
-.form_notice .attach-label,
+.form_notice label[for=notice_data-attach],
 #export_data li a.rss,
 #export_data li a.atom,
 #export_data li a.foaf,