allow for skipping normalize checks and return raw metadata
This commit is contained in:
parent
5d90e9746e
commit
faacafcaf1
|
@ -24,13 +24,17 @@ class ComicPressComicPost {
|
||||||
/**
|
/**
|
||||||
* Normalize the ordering of attachments in this post.
|
* Normalize the ordering of attachments in this post.
|
||||||
* If images have beed added or removed, intelligently update the metadata.
|
* If images have beed added or removed, intelligently update the metadata.
|
||||||
* TODO Allow skipping of normalization if performance is needed
|
* @param boolean $skip_checks If true, only return the post metadata, assuming that everything is correct. Do not use anywhere in the admin interface!
|
||||||
|
* @return array The normalized data, which is also written to the post's metadata if $skip_checks is false.
|
||||||
*/
|
*/
|
||||||
function normalize_ordering() {
|
function normalize_ordering($skip_checks = false) {
|
||||||
$attachments = $this->get_attachments();
|
$attachments = $this->get_attachments();
|
||||||
if (is_array($attachments)) {
|
if (is_array($attachments)) {
|
||||||
$new_ordering = array();
|
$new_ordering = array();
|
||||||
$current_ordering = get_post_meta($this->post->ID, 'image-ordering', true);
|
$current_ordering = get_post_meta($this->post->ID, 'image-ordering', true);
|
||||||
|
|
||||||
|
if ($skip_checks) { return $current_ordering; }
|
||||||
|
|
||||||
if (!is_array($current_ordering)) { $current_ordering = array(); }
|
if (!is_array($current_ordering)) { $current_ordering = array(); }
|
||||||
|
|
||||||
$all_current_ids = array();
|
$all_current_ids = array();
|
||||||
|
|
|
@ -75,6 +75,18 @@ class ComicPressComicPostTest extends PHPUnit_Framework_TestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testNormalizeOrderingSkipChecks() {
|
||||||
|
$p = $this->getMock('ComicPressComicPost', array('get_attachments'));
|
||||||
|
|
||||||
|
$p->expects($this->once())->method('get_attachments')->will($this->returnValue(array('test', 'test2')));
|
||||||
|
|
||||||
|
$p->post = (object)array('ID' => 1);
|
||||||
|
update_post_meta(1, 'image-ordering', array('test' => array('enabled' => true)));
|
||||||
|
|
||||||
|
$this->assertEquals(array('test' => array('enabled' => true)), $p->normalize_ordering(true));
|
||||||
|
$this->assertEquals(array('test' => array('enabled' => true)), get_post_meta(1, 'image-ordering', true));
|
||||||
|
}
|
||||||
|
|
||||||
function providerTestUpdatePostMediaData() {
|
function providerTestUpdatePostMediaData() {
|
||||||
return array(
|
return array(
|
||||||
array(
|
array(
|
||||||
|
|
Loading…
Reference in New Issue