Ejemplo n.º 1
0
 static function setTags($tagger, $tagged, $newtags)
 {
     $newtags = array_unique($newtags);
     $oldtags = Profile_tag::getTags($tagger, $tagged);
     # Delete stuff that's old that not in new
     $to_delete = array_diff($oldtags, $newtags);
     # Insert stuff that's in new and not in old
     $to_insert = array_diff($newtags, $oldtags);
     $profile_tag = new Profile_tag();
     $profile_tag->tagger = $tagger;
     $profile_tag->tagged = $tagged;
     $profile_tag->query('BEGIN');
     foreach ($to_delete as $deltag) {
         $profile_tag->tag = $deltag;
         $result = $profile_tag->delete();
         if (!$result) {
             common_log_db_error($profile_tag, 'DELETE', __FILE__);
             return false;
         }
     }
     foreach ($to_insert as $instag) {
         $profile_tag->tag = $instag;
         $result = $profile_tag->insert();
         if (!$result) {
             common_log_db_error($profile_tag, 'INSERT', __FILE__);
             return false;
         }
     }
     $profile_tag->query('COMMIT');
     return true;
 }
Ejemplo n.º 2
0
 static function moveTag($orig, $new)
 {
     $tags = new Profile_tag();
     $qry = 'UPDATE profile_tag SET ' . 'tag = "%s", tagger = "%s" ' . 'WHERE tag = "%s" ' . 'AND tagger = "%s"';
     $result = $tags->query(sprintf($qry, $new->tag, $new->tagger, $orig->tag, $orig->tagger));
     if (!$result) {
         common_log_db_error($tags, 'UPDATE', __FILE__);
         return false;
     }
     return true;
 }
Ejemplo n.º 3
0
 static function moveTag($orig, $new)
 {
     $tags = new Profile_tag();
     $qry = 'UPDATE profile_tag SET ' . 'tag = "%s", tagger = "%s" ' . 'WHERE tag = "%s" ' . 'AND tagger = "%s"';
     $result = $tags->query(sprintf($qry, $tags->escape($new->tag), $tags->escape($new->tagger), $tags->escape($orig->tag), $tags->escape($orig->tagger)));
     if ($result === false) {
         common_log_db_error($tags, 'UPDATE', __FILE__);
         throw new Exception('Could not move Profile_tag, see db log for details.');
     }
     return $result;
 }