From b6888da24c787a673dc870f30f20824f37df1cfe Mon Sep 17 00:00:00 2001 From: John Bintz Date: Sun, 25 Oct 2009 15:53:55 -0400 Subject: [PATCH] import working, now adding user credit support --- classes/WDTSTranscript.inc | 12 ++-- classes/WhatDidTheySayAdmin.inc | 9 ++- classes/partials/import-transcripts.inc | 88 +++++++++++++++++++++++++ classes/partials/meta-box.inc | 11 +++- js/edit-transcripts.js | 4 +- test/WDTSTranscriptTest.php | 9 +-- what-did-they-say.php | 2 + 7 files changed, 121 insertions(+), 14 deletions(-) create mode 100644 classes/partials/import-transcripts.inc diff --git a/classes/WDTSTranscript.inc b/classes/WDTSTranscript.inc index e37ea1f..5478f3c 100644 --- a/classes/WDTSTranscript.inc +++ b/classes/WDTSTranscript.inc @@ -34,10 +34,14 @@ class WDTSTranscriptManager { * @return bool True if the transcript was saved, false otherwise. */ function save_transcript($transcript_info) { - $user = wp_get_current_user(); - if (!empty($user)) { - $transcript_info = (array)$transcript_info; - $transcript_info['user_id'] = $user->ID; + $transcript_info = (array)$transcript_info; + if (!isset($transcript_info['user_id'])) { + $user = wp_get_current_user(); + if (!empty($user)) { + $transcript_info['user_id'] = $user->ID; + } + } + if (isset($transcript_info['user_id'])) { unset($transcript_info['key']); foreach (array_keys($transcript_info) as $key) { diff --git a/classes/WhatDidTheySayAdmin.inc b/classes/WhatDidTheySayAdmin.inc index 19578da..fe20f06 100644 --- a/classes/WhatDidTheySayAdmin.inc +++ b/classes/WhatDidTheySayAdmin.inc @@ -709,10 +709,11 @@ class WhatDidTheySayAdmin { if (current_user_can('approve_transcriptions')) { $approved_transcript_manager = new WDTSApprovedTranscript($info['post_id']); - foreach ($info['transcripts'] as $language => $transcript) { + foreach ($info['transcripts'] as $language => $transcript_info) { $approved_transcript_manager->save_transcript(array( - 'language' => $language, - 'transcript' => $transcript + 'language' => $language, + 'transcript' => $transcript_info['transcript'], + 'user_id' => $transcript_info['user_id'] )); } @@ -1076,6 +1077,8 @@ class WhatDidTheySayAdmin { $language_options = new WDTSLanguageOptions(); + $users = $wpdb->get_results("SELECT ID, user_login from $wpdb->users ORDER BY user_login"); + $nonce = wp_create_nonce('what-did-they-say'); include('partials/meta-box.inc'); } diff --git a/classes/partials/import-transcripts.inc b/classes/partials/import-transcripts.inc new file mode 100644 index 0000000..568c1a2 --- /dev/null +++ b/classes/partials/import-transcripts.inc @@ -0,0 +1,88 @@ +
+

+

+ What Did They Say?!?', 'what-did-they-say') ?> + + +

+ +

+ You have no legacy transcripts!', 'what-did-they-say') ?> +

+ +

+ You have %d legacy transcripts.What Did They Say?!?', 'what-did-they-say'), $legacy_transcript_count) ?> + Make sure you\'ve backed up your database first!', 'what-did-they-say') ?> + This will also overwrite any WDTS? transcripts that are already in the chosen language for each modified post!', 'what-did-they-say') ?> +

+ +
+ + + + +
+ + + +
\ No newline at end of file diff --git a/classes/partials/meta-box.inc b/classes/partials/meta-box.inc index 4aa84b0..ebb586c 100644 --- a/classes/partials/meta-box.inc +++ b/classes/partials/meta-box.inc @@ -48,7 +48,16 @@ foreach ($approved_transcripts as $transcript) { if ($transcript['language'] == $code) { $approved_transcript_text = $transcript['transcript']; break; } } ?> - + diff --git a/js/edit-transcripts.js b/js/edit-transcripts.js index 3a57fc3..e2cea8f 100644 --- a/js/edit-transcripts.js +++ b/js/edit-transcripts.js @@ -14,8 +14,8 @@ WhatDidTheySay.setup_transcript_editor = function(container) { if (language_selector) { var switch_transcripts = function() { - container.select('.edit-transcript').each(function(t) { - (t.name == 'wdts[transcripts][' + $F(language_selector) + ']') ? t.show() : t.hide(); + container.select('.edit-transcript').each(function(h) { + h.hasClassName('edit-transcript-' + $F(language_selector)) ? h.show() : h.hide(); }); }; diff --git a/test/WDTSTranscriptTest.php b/test/WDTSTranscriptTest.php index b1d283b..a389ee7 100644 --- a/test/WDTSTranscriptTest.php +++ b/test/WDTSTranscriptTest.php @@ -41,7 +41,8 @@ class WDTSTranscriptTest extends PHPUnit_Framework_TestCase { $this->w->save_transcript(array( 'language' => 'en', - 'transcript' => 'this is another transcript' + 'transcript' => 'this is another transcript', + 'user_id' => 2 )); $this->assertEquals( @@ -49,7 +50,7 @@ class WDTSTranscriptTest extends PHPUnit_Framework_TestCase { array( 'language' => 'en', 'transcript' => 'this is another transcript', - 'user_id' => 1, + 'user_id' => 2, 'key' => 0 ) ), @@ -68,7 +69,7 @@ class WDTSTranscriptTest extends PHPUnit_Framework_TestCase { array( 'language' => 'en', 'transcript' => 'this is another transcript', - 'user_id' => 1, + 'user_id' => 2, 'key' => 0 ), array( @@ -95,7 +96,7 @@ class WDTSTranscriptTest extends PHPUnit_Framework_TestCase { array( 'language' => 'en', 'transcript' => 'this is another transcript', - 'user_id' => 1, + 'user_id' => 2, 'key' => 0 ), array( diff --git a/what-did-they-say.php b/what-did-they-say.php index 324479f..c4436ee 100644 --- a/what-did-they-say.php +++ b/what-did-they-say.php @@ -193,6 +193,8 @@ function the_media_transcript_queue_editor() { $options = get_option('what-did-they-say-options'); + $users = $wpdb->get_results("SELECT ID, user_login from $wpdb->users ORDER BY user_login"); + foreach (array('Approved', 'Queued') as $name) { $var_name = strtolower($name); $class_name = "WDTS${name}Transcript";