diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-06-25 11:10:34 -0700 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-06-25 11:10:34 -0700 |
commit | 638905c270824b3c0e673ae9872937c06fbd862e (patch) | |
tree | 8d5d126f040315f5497a86101285e89e18371059 /classes/File_to_post.php | |
parent | 09010c4c2b80bb94607e2946fa94bca5ff160fed (diff) |
avoid getting duplicate errors on upload
Diffstat (limited to 'classes/File_to_post.php')
-rw-r--r-- | classes/File_to_post.php | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/classes/File_to_post.php b/classes/File_to_post.php index db0a8d216..d35febb77 100644 --- a/classes/File_to_post.php +++ b/classes/File_to_post.php @@ -25,7 +25,7 @@ require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; * Table Definition for file_to_post */ -class File_to_post extends Memcached_DataObject +class File_to_post extends Memcached_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ @@ -44,17 +44,27 @@ class File_to_post extends Memcached_DataObject function processNew($file_id, $notice_id) { static $seen = array(); if (empty($seen[$notice_id]) || !in_array($file_id, $seen[$notice_id])) { - $f2p = new File_to_post; - $f2p->file_id = $file_id; - $f2p->post_id = $notice_id; - $f2p->insert(); + + $f2p = File_to_post::pkeyGet(array('post_id' => $notice_id, + 'file_id' => $file_id)); + if (empty($f2p)) { + $f2p = new File_to_post; + $f2p->file_id = $file_id; + $f2p->post_id = $notice_id; + $f2p->insert(); + } + if (empty($seen[$notice_id])) { $seen[$notice_id] = array($file_id); } else { $seen[$notice_id][] = $file_id; } } + } + function &pkeyGet($kv) + { + return Memcached_DataObject::pkeyGet('File_to_post', $kv); } } |