[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 $map = array(); 4 5 echo "Merging duplicate answers by authors...\n"; 6 7 $atable = new PonderAnswer(); 8 $conn_w = $atable->establishConnection('w'); 9 $conn_w->openTransaction(); 10 11 $answers = new LiskMigrationIterator(new PonderAnswer()); 12 foreach ($answers as $answer) { 13 $aid = $answer->getID(); 14 $qid = $answer->getQuestionID(); 15 $author_phid = $answer->getAuthorPHID(); 16 17 echo "Processing answer ID #{$aid}...\n"; 18 19 if (empty($map[$qid][$author_phid])) { 20 echo "Answer is unique.\n"; 21 $map[$qid][$author_phid] = $answer; 22 continue; 23 } else { 24 echo "Merging answer.\n"; 25 $target = $map[$qid][$author_phid]; 26 queryfx( 27 $conn_w, 28 'UPDATE %T SET content = %s WHERE id = %d', 29 $target->getTableName(), 30 31 $target->getContent(). 32 "\n\n". 33 "---". 34 "\n\n". 35 "> (This content was automatically merged from another answer by the ". 36 "same author.)". 37 "\n\n". 38 $answer->getContent(), 39 40 $target->getID()); 41 42 queryfx( 43 $conn_w, 44 'DELETE FROM %T WHERE id = %d', 45 $target->getTableName(), 46 $answer->getID()); 47 48 queryfx( 49 $conn_w, 50 'UPDATE %T SET targetPHID = %s WHERE targetPHID = %s', 51 'ponder_comment', 52 $target->getPHID(), 53 $answer->getPHID()); 54 } 55 } 56 57 $conn_w->saveTransaction(); 58 echo "Done.\n";
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |