aboutsummaryrefslogtreecommitdiff
path: root/classes/File_to_post.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-06-25 11:10:34 -0700
committerEvan Prodromou <evan@controlyourself.ca>2009-06-25 11:10:34 -0700
commit638905c270824b3c0e673ae9872937c06fbd862e (patch)
tree8d5d126f040315f5497a86101285e89e18371059 /classes/File_to_post.php
parent09010c4c2b80bb94607e2946fa94bca5ff160fed (diff)
downloadgnu-social-638905c270824b3c0e673ae9872937c06fbd862e.tar
gnu-social-638905c270824b3c0e673ae9872937c06fbd862e.zip
avoid getting duplicate errors on upload
Diffstat (limited to 'classes/File_to_post.php')
-rw-r--r--classes/File_to_post.php20
1 files changed, 15 insertions, 5 deletions
diff --git a/classes/File_to_post.php b/classes/File_to_post.php
index db0a8d2169..d35febb778 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);
}
}