forked from GNUsocial/gnu-social
		
	Cache results for attachments
This commit is contained in:
		@@ -719,18 +719,33 @@ class Notice extends Memcached_DataObject
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function attachments() {
 | 
					    function attachments() {
 | 
				
			||||||
        // XXX: cache this
 | 
					
 | 
				
			||||||
        $att = array();
 | 
					        $keypart = sprintf('notice:file_ids:%d', $this->id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $idstr = self::cacheGet($keypart);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ($idstr !== false) {
 | 
				
			||||||
 | 
					            $ids = explode(',', $idstr);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
            $f2p = new File_to_post;
 | 
					            $f2p = new File_to_post;
 | 
				
			||||||
            $f2p->post_id = $this->id;
 | 
					            $f2p->post_id = $this->id;
 | 
				
			||||||
            if ($f2p->find()) {
 | 
					            if ($f2p->find()) {
 | 
				
			||||||
                while ($f2p->fetch()) {
 | 
					                while ($f2p->fetch()) {
 | 
				
			||||||
                $f = File::staticGet($f2p->file_id);
 | 
					                    $ids[] = $f2p->file_id;
 | 
				
			||||||
                if ($f) {
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            self::cacheSet($keypart, implode(',', $ids));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $att = array();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        foreach ($ids as $id) {
 | 
				
			||||||
 | 
					            $f = File::staticGet('id', $id);
 | 
				
			||||||
 | 
					            if (!empty($f)) {
 | 
				
			||||||
                $att[] = clone($f);
 | 
					                $att[] = clone($f);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        }
 | 
					
 | 
				
			||||||
        return $att;
 | 
					        return $att;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user