RT() function pretty much working
This commit is contained in:
parent
f0bb9a0061
commit
cab85e5f60
|
@ -499,8 +499,9 @@ class ComicPressStoryline {
|
||||||
$comic_post = new ComicPressComicPost(get_post($id));
|
$comic_post = new ComicPressComicPost(get_post($id));
|
||||||
$parents = $comic_post->find_parents();
|
$parents = $comic_post->find_parents();
|
||||||
if (!empty($parents)) {
|
if (!empty($parents)) {
|
||||||
$parents = array_keys($parents); $found[] = end($parents);
|
$parents = array_keys($parents); $found = $this->_find_children(end($parents));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $found;
|
return $found;
|
||||||
|
@ -534,11 +535,14 @@ class ComicPressStoryline {
|
||||||
$method_type = $type;
|
$method_type = $type;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ((array)$list as $restriction) {
|
if (!is_array($list)) { $list = array($list); }
|
||||||
|
|
||||||
|
foreach ($list as $restriction) {
|
||||||
$method = '';
|
$method = '';
|
||||||
$args = array($restriction);
|
$args = array($restriction);
|
||||||
switch ($method_type) {
|
switch ($method_type) {
|
||||||
case 'child_of': $method = 'children'; break;
|
case 'child_of': $method = 'children'; break;
|
||||||
|
case 'root_of': $method = 'post_root'; break;
|
||||||
case 'from_post': $method = 'post_category'; break;
|
case 'from_post': $method = 'post_category'; break;
|
||||||
case 'previous':
|
case 'previous':
|
||||||
$method = 'adjacent';
|
$method = 'adjacent';
|
||||||
|
@ -555,7 +559,7 @@ class ComicPressStoryline {
|
||||||
array_unshift($args, "_find_${method}");
|
array_unshift($args, "_find_${method}");
|
||||||
call_user_func_array(array($this, "_${method_root}"), $args);
|
call_user_func_array(array($this, "_${method_root}"), $args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->include_all();
|
$this->include_all();
|
||||||
|
|
|
@ -97,6 +97,22 @@ function R($which, $restrictions = null, $override_post = null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_array($restrictions)) {
|
||||||
|
$new_restrictions = array();
|
||||||
|
foreach ($restrictions as $type => $list) {
|
||||||
|
if (is_string($list)) {
|
||||||
|
$value = $list;
|
||||||
|
switch ($list) {
|
||||||
|
case '__post': $value = $post_to_use; break;
|
||||||
|
}
|
||||||
|
$new_restrictions[$type] = $value;
|
||||||
|
} else {
|
||||||
|
$new_restrictions[$type] = $list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$restrictions = $new_restrictions;
|
||||||
|
}
|
||||||
|
|
||||||
$categories = $storyline->build_from_restrictions($restrictions);
|
$categories = $storyline->build_from_restrictions($restrictions);
|
||||||
|
|
||||||
$dbi = ComicPressDBInterface::get_instance();
|
$dbi = ComicPressDBInterface::get_instance();
|
||||||
|
|
|
@ -1,13 +1,18 @@
|
||||||
<?php
|
<?php
|
||||||
|
$storyline = new ComicPressStoryline();
|
||||||
|
$storyline->read_from_options();
|
||||||
|
|
||||||
the_title(); echo '<br />';
|
the_title(); echo '<br />';
|
||||||
|
|
||||||
Protect();
|
Protect();
|
||||||
|
|
||||||
RT('first', 'from_post'); the_title(); echo '<br />';
|
RT('first', 'from_post'); the_title(); echo '<br />';
|
||||||
RT('previous', 'from_post'); the_title(); echo '<br />';
|
RT('previous', 'from_post'); the_title(); echo '<br />';
|
||||||
RT('previous'); the_title(); echo '<br />';
|
RT('previous', array('root_of' => '__post')); the_title(); echo '<br />';
|
||||||
|
RT('previous'); the_title(); echo '<br />';
|
||||||
Restore(); the_title(); echo '<br />';
|
Restore(); the_title(); echo '<br />';
|
||||||
RT('next', array('child_of' => 'amoc')); the_title(); echo '<br />';
|
RT('next'); the_title(); echo '<br />';
|
||||||
|
RT('next', array('root_of' => '__post')); the_title(); echo '<br />';
|
||||||
RT('next', 'from_post'); the_title(); echo '<br />';
|
RT('next', 'from_post'); the_title(); echo '<br />';
|
||||||
RT('last', 'from_post'); the_title(); echo '<br />';
|
RT('last', 'from_post'); the_title(); echo '<br />';
|
||||||
|
|
||||||
|
|
|
@ -476,8 +476,8 @@ class ComicPressStorylineTest extends PHPUnit_Framework_TestCase {
|
||||||
|
|
||||||
function providerTestFindPostRoot() {
|
function providerTestFindPostRoot() {
|
||||||
return array(
|
return array(
|
||||||
array(array(1), array(1)),
|
array(array(1), array(1,2,3,4)),
|
||||||
array(array(4), array(1)),
|
array(array(4), array(1,2,3,4)),
|
||||||
array(array(5), array(5)),
|
array(array(5), array(5)),
|
||||||
array(array(1, 5), array()),
|
array(array(1, 5), array()),
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue