]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Rearranged attachment info to only appear on each applicable notice page and thru...
authorRobin Millette <millette@controlyourself.ca>
Sun, 24 May 2009 08:43:34 +0000 (04:43 -0400)
committerRobin Millette <millette@controlyourself.ca>
Sun, 24 May 2009 08:43:34 +0000 (04:43 -0400)
actions/attachment.php
actions/attachment_ajax.php
actions/attachments.php
actions/tag.php
js/util.js
lib/attachmentlist.php
lib/noticelist.php
lib/router.php
theme/base/css/display.css

index b9187ff0810d470254f9887da074a8c4083ca06f..c51c7512005329993709bbc5251227ed3ae062f6 100644 (file)
@@ -31,8 +31,6 @@ if (!defined('LACONICA')) {
     exit(1);
 }
 
-//require_once INSTALLDIR.'/lib/personalgroupnav.php';
-//require_once INSTALLDIR.'/lib/feedlist.php';
 require_once INSTALLDIR.'/lib/attachmentlist.php';
 
 /**
@@ -67,11 +65,11 @@ class AttachmentAction extends Action
     {
         parent::prepare($args);
 
-        $id = $this->arg('attachment');
-
-        $this->attachment = File::staticGet($id);
+        if ($id = $this->trimmed('attachment')) {
+            $this->attachment = File::staticGet($id);
+        }
 
-        if (!$this->attachment) {
+        if (empty($this->attachment)) {
             $this->clientError(_('No such attachment.'), 404);
             return false;
         }
index 1620b27ddad75e08a753c060dd42eda13279c3df..6930dc112d13380fb586067eb3afed2059c3b9f8 100644 (file)
@@ -45,26 +45,6 @@ require_once INSTALLDIR.'/actions/attachment.php';
 
 class Attachment_ajaxAction extends AttachmentAction
 {
-    /**
-     * Load attributes based on database arguments
-     *
-     * Loads all the DB stuff
-     *
-     * @param array $args $_REQUEST array
-     *
-     * @return success flag
-     */
-
-    function prepare($args)
-    {
-        parent::prepare($args);
-        if (!$this->attachment) {
-            $this->clientError(_('No such attachment.'), 404);
-            return false;
-        }
-        return true;
-    }
-
     /**
      * Show page, a template method.
      *
@@ -87,7 +67,7 @@ class Attachment_ajaxAction extends AttachmentAction
      */
     function showCore()
     {
-        $this->elementStart('div', array('id' => 'core'));
+        $this->elementStart('div', array('id' => 'ajaxcore'));
         if (Event::handle('StartShowContentBlock', array($this))) {
             $this->showContentBlock();
             Event::handle('EndShowContentBlock', array($this));
@@ -95,8 +75,6 @@ class Attachment_ajaxAction extends AttachmentAction
         $this->elementEnd('div');
     }
 
-
-
     /**
      * Last-modified date for page
      *
index 6b31c839daa199abaf62d39c1a287d65bac5c57c..d3c90fec29446e01cdad52190efe6b4836c43a22 100644 (file)
@@ -31,8 +31,6 @@ if (!defined('LACONICA')) {
     exit(1);
 }
 
-//require_once INSTALLDIR.'/lib/personalgroupnav.php';
-//require_once INSTALLDIR.'/lib/feedlist.php';
 require_once INSTALLDIR.'/lib/attachmentlist.php';
 
 /**
index 47420e4c33c799ee83136f54f003e8116bc0dfcc..e71ec06a8fbafdaa2d094d1de8d74e2281349341 100644 (file)
@@ -49,8 +49,8 @@ class TagAction extends Action
     {
         $pop = new PopularNoticeSection($this);
         $pop->show();
-        $freqatt = new FrequentAttachmentSection($this);
-        $freqatt->show();
+//        $freqatt = new FrequentAttachmentSection($this);
+//        $freqatt->show();
     }
 
     function title()
index 2dfaafd76883d5f9aa17414d5be338fff12b3eec..4f2b036fa4f6e2607ac009bf29110d2ba31cbe47 100644 (file)
  */
 
 $(document).ready(function(){
-    $('.attachments').click(function() {$().jOverlay({zIndex:999, success:function(html) {$('.attachment').click(function() {$().jOverlay({url:$(this).attr('href') + '/ajax'}); return false; });
-        }, url:$(this).attr('href') + '/ajax'}); return false; });
-    $('.attachment').click(function() {$().jOverlay({url:$(this).attr('href') + '/ajax'}); return false; });
+// attachments and attachment pages not used at the moment except for attachment_ajax version
+//    $('.attachments').click(function() {$().jOverlay({zIndex:999, success:function(html) {$('.attachment').click(function() {$().jOverlay({url:$(this).attr('href') + '/ajax'}); return false; });
+//        }, url:$(this).attr('href') + '/ajax'}); return false; });
+    $('.attachment').click(function() {$().jOverlay({url:'http://laptop.waglo.com/attachment/' + ($(this).attr('id').substring('attachment'.length + 1)) + '/ajax'}); return false; });
 
        // count character on keyup
        function counter(event){
index 9485fe3d65f4e071dd784cade05369cc9fd0edb8..1be7b2fee94962190c2ac6054d323c2e4830a82a 100644 (file)
@@ -191,7 +191,7 @@ class AttachmentListItem extends Widget
     }
 
     function linkAttr() {
-        return array('class' => 'attachment', 'href' => common_local_url('attachment', array('attachment' => $this->attachment->id)));
+        return array('class' => 'attachment', 'href' => $this->attachment->url, 'id' => 'attachment-' . $this->attachment->id);
     }
 
     function showLink() {
@@ -200,10 +200,6 @@ class AttachmentListItem extends Widget
         $this->out->elementStart('h4');
         $this->out->element('a', $attr, $text);
 
-        if ($this->attachment->url !== $this->title())
-            $this->out->element('span', null, " ({$this->attachment->url})");
-
-
         $this->out->elementEnd('h4');
     }
 
index a521321719b1bc6a9287838419d31d8cbd7af724..e3361fc99e89e20ec287e7d0a2cfa198df87b66e 100644 (file)
@@ -34,6 +34,7 @@ if (!defined('LACONICA')) {
 
 require_once INSTALLDIR.'/lib/favorform.php';
 require_once INSTALLDIR.'/lib/disfavorform.php';
+require_once INSTALLDIR.'/lib/attachmentlist.php';
 
 /**
  * widget for displaying a list of notices
@@ -179,9 +180,10 @@ class NoticeListItem extends Widget
     {
         $this->showStart();
         $this->showNotice();
-        $this->showNoticeAttachments();
+        $this->showNoticeAttachmentsIcon();
         $this->showNoticeInfo();
         $this->showNoticeOptions();
+        $this->showNoticeAttachments();
         $this->showEnd();
     }
 
@@ -193,45 +195,38 @@ class NoticeListItem extends Widget
         $this->out->elementEnd('div');
     }
 
-    function showNoticeAttachments()
-    {
+    function showNoticeAttachments() {
+        if ($this->isUsedInList()) {
+            return;
+        }
+        $al = new AttachmentList($this->notice, $this->out);
+        $al->show();
+    }
+
+    function isUsedInList() {
+        return 'shownotice' !== $this->out->args['action'];
+    }
+
+    function attachmentCount() {
         $f2p = new File_to_post;
         $f2p->post_id = $this->notice->id;
         $file = new File;
         $file->joinAdd($f2p);
         $file->selectAdd();
         $file->selectAdd('file.id as id');
-        $count = $file->find(true);
-        if (!$count) return;
-        if (1 === $count) {
-            $href = common_local_url('attachment', array('attachment' => $file->id));
-            $att_class = 'attachment';
-        } else {
-            $href = common_local_url('attachments', array('notice' => $this->notice->id));
-            $att_class = 'attachments';
-        }
+        return $file->find(true);
+    }
 
-        $clip = theme_path('images/icons/clip', 'base');
-        if ('shownotice' === $this->out->args['action']) {
-            $height = '96px';
-            $width = '83%';
-            $width_att = '15%';
-            $clip .= '-big.png';
-            $top = '70px';
-        } else {
-            $height = '48px';
-            $width = '90%';
-            $width_att = '8%';
-            $clip .= '.png';
-            $top = '20px';
+    function showNoticeAttachmentsIcon()
+    {
+        if (!($this->isUsedInList() && ($count = $this->attachmentCount()))) {
+            return;
         }
-if(0)
-        $this->out->elementStart('div', 'entry-attachments');
-else
-        $this->out->elementStart('p', array('class' => 'entry-attachments', 'style' => "float: right; width: $width_att; background: url($clip) no-repeat; text-align: right; height: $height;"));
-        $this->out->element('a', array('class' => $att_class, 'style' => "text-decoration: none; padding-top: $top; display: block; height: $height;", 'href' => $href, 'title' => "# of attachments: $count"), $count === 1 ? '' : $count);
 
+        $href = common_local_url('shownotice', array('notice' => $this->notice->id)) . '#attachments';
 
+        $this->out->elementStart('p', 'entry-attachments');
+        $this->out->element('a', array('href' => $href, 'title' => "# of attachments: $count"), $count === 1 ? '' : $count);
         $this->out->elementEnd('p');
     }
 
index 70ee0f3fb05d6302b66994f863ccacde82ee096c..39c005609ed6919399a412071b748b6138eacf9f 100644 (file)
@@ -151,26 +151,35 @@ class Router
         $m->connect('search/notice/rss?q=:q', array('action' => 'noticesearchrss'),
                     array('q' => '.+'));
 
+/*
+        $m->connect('attachment/ajax_by_url/*url',
+                    array('action' => 'attachment_ajax'));
+*/
         $m->connect('attachment/:attachment/ajax',
                     array('action' => 'attachment_ajax'),
-                    array('notice' => '[0-9]+'));
+                    array('attachment' => '[0-9]+'));
 
+/*
+        TODO
+        not used right now, will revisit later
         $m->connect('attachment/:attachment',
                     array('action' => 'attachment'),
-                    array('notice' => '[0-9]+'));
-
+                    array('attachment' => '[0-9]+'));
+*/
         // notice
 
         $m->connect('notice/new', array('action' => 'newnotice'));
         $m->connect('notice/new?replyto=:replyto',
                     array('action' => 'newnotice'),
                     array('replyto' => '[A-Za-z0-9_-]+'));
+/*
         $m->connect('notice/:notice/attachments/ajax',
                     array('action' => 'attachments_ajax'),
                     array('notice' => '[0-9]+'));
         $m->connect('notice/:notice/attachments',
                     array('action' => 'attachments'),
                     array('notice' => '[0-9]+'));
+*/
         $m->connect('notice/:notice',
                     array('action' => 'shownotice'),
                     array('notice' => '[0-9]+'));
index 5d2b5231c94a2549eed97ba396fc0bbd1f956391..cb4680c39a28ae1df1af126dac2a71c00a06a591 100644 (file)
@@ -379,6 +379,12 @@ max-width:1003px;
 overflow:hidden;
 }
 
+#ajaxcore {
+width: 520px;
+height: 600px;
+background: #fff;
+}
+
 #core {
 position:relative;
 width:100%;
@@ -1048,8 +1054,20 @@ margin-bottom:18px;
 margin-left:18px;
 }
 
+p.entry-attachments {
+float: right;
+width: 8%;
+background: url(../images/icons/clip.png) no-repeat;
+text-align: right; 
+height: 48px;
+}
 
-
+p.entry-attachments a {
+text-decoration: none;
+padding-top: 20px;
+display: block;
+height: 48px;
+}
 
 /* TOP_POSTERS */
 .section tbody td {