add transcription to post
This commit is contained in:
parent
d1b1cb4834
commit
1dab0b4522
@ -137,7 +137,7 @@ class WhatDidTheySay {
|
|||||||
$query = $wpdb->prepare("SELECT * FROM %s WHERE id = %d", $this->table, $update_info['id']);
|
$query = $wpdb->prepare("SELECT * FROM %s WHERE id = %d", $this->table, $update_info['id']);
|
||||||
$result = $wpdb->get_results($query);
|
$result = $wpdb->get_results($query);
|
||||||
|
|
||||||
if (!empty($result)) {
|
if (is_array($result)) {
|
||||||
if (count($result) == 1) {
|
if (count($result) == 1) {
|
||||||
$result = $result[0];
|
$result = $result[0];
|
||||||
foreach (array('language', 'transcript') as $field) {
|
foreach (array('language', 'transcript') as $field) {
|
||||||
@ -174,6 +174,28 @@ class WhatDidTheySay {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function add_transcription_to_post($transcription_id) {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
if ($this->is_user_allowed_to_update()) {
|
||||||
|
$query = $wpdb->prepare("SELECT * from %s WHERE id = %d", $this->table, $transcription_id);
|
||||||
|
$result = $wpdb->get_results($query);
|
||||||
|
if (is_array($result)) {
|
||||||
|
if (count($result) == 1) {
|
||||||
|
$result = (object)$result[0];
|
||||||
|
|
||||||
|
$post = get_post($result->post_id);
|
||||||
|
if (!empty($post)) {
|
||||||
|
$this->save_transcript($result->post_id, $result->language, $result->transcript);
|
||||||
|
|
||||||
|
$query = $wpdb->prepare("DELETE FROM %s WHERE id = %d", $this->table, $transcription_id);
|
||||||
|
$result = $wpdb->query($query);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -256,6 +256,45 @@ class WhatDidTheySayTest extends PHPUnit_Framework_TestCase {
|
|||||||
|
|
||||||
$what->delete_queued_transcription($transcript_id_to_delete);
|
$what->delete_queued_transcription($transcript_id_to_delete);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function providerTestAddTranscriptionToPost() {
|
||||||
|
return array(
|
||||||
|
array(null, false),
|
||||||
|
array((object)array('id' => 1, 'post_id' => 2), false),
|
||||||
|
array((object)array('id' => 1, 'post_id' => 1, 'language' => 'en', 'transcript' => 'This is a transcript'), true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider providerTestAddTranscriptionToPost
|
||||||
|
*/
|
||||||
|
function testAddTranscriptionToPost($get_results_return, $expects_delete) {
|
||||||
|
global $wpdb;
|
||||||
|
|
||||||
|
$what = $this->getMock('WhatDidTheySay', array('is_user_allowed_to_update', 'save_transcript'));
|
||||||
|
$what->expects($this->once())
|
||||||
|
->method('is_user_allowed_to_update')
|
||||||
|
->will($this->returnValue(true));
|
||||||
|
|
||||||
|
wp_insert_post((object)array('ID' => 1));
|
||||||
|
|
||||||
|
$wpdb = $this->getMock('wpdb', array('get_results', 'prepare', 'query'));
|
||||||
|
|
||||||
|
$wpdb->expects($this->once())
|
||||||
|
->method('get_results')
|
||||||
|
->will($this->returnValue(array($get_results_return)));
|
||||||
|
|
||||||
|
if ($expects_delete) {
|
||||||
|
$wpdb->expects($this->at(2))
|
||||||
|
->method('prepare')
|
||||||
|
->with(new PHPUnit_Framework_Constraint_PCREMatch('#DELETE FROM .* WHERE id = .*#'));
|
||||||
|
|
||||||
|
$what->expects($this->once())
|
||||||
|
->method('save_transcript');
|
||||||
|
}
|
||||||
|
|
||||||
|
$what->add_transcription_to_post(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user