Exemplo n.º 1
0
 function test_make_search_links()
 {
     // Defaults
     $this->assertTrue(is_array(make_search_links('', 'x:%s')));
     $this->assertEqual(make_search_links('', 'x:%s'), array(), 'empty: %s');
     // Scalar
     $this->assertEqual(make_search_links('foo', 'x:%s'), array(html_link('x:foo', 'foo')), 'scalar: %s');
     // Simple array
     $this->assertEqual(make_search_links(array('foo', 'bar'), 'x:%s'), array(html_link('x:foo', 'foo'), html_link('x:bar', 'bar')), 'simple array: %s');
     $this->assertEqual(make_search_links(array(), 'x:%s'), array(), 'empty array: %s');
     // 2D array
     $test = array(array('key' => 'F', 'title' => 'foo'), array('key' => 'B', 'title' => 'bar'));
     $expect = array(html_link('x:F', 'foo'), html_link('x:B', 'bar'));
     $this->assertEqual(make_search_links($test, 'x:%s'), $expect, '2D array: %s');
     // 2D with override
     $test = array(array('a' => 'F', 'b' => 'foo'), array('a' => 'B', 'b' => 'bar'));
     $this->assertEqual(make_search_links($test, 'x:%s', 'a', 'b'), $expect, '2D array with different keys: %s');
     // URLs are escaped
     $this->assertEqual(make_search_links('foo bar', 'x:%s'), array(html_link('x:foo+bar', 'foo bar')), 'escaping: %s');
     // Missing title defaults to key
     $this->assertEqual(make_search_links(array('key' => 'foo'), 'x:%s'), array(html_link('x:foo', 'foo')), 'missing title: %s');
 }
Exemplo n.º 2
0
<?php 
// Credits -- technical
// Technical roles need to be sorted and collated
$tech_roles = array('Director' => array(), 'Producer' => array(), 'Cinematographer' => array(), 'Writer' => array(), 'Editor' => array(), 'Screenplay' => array(), 'Adapter for Radio' => array(), 'Adapter for Television' => array(), 'Music' => array(), 'Music Director' => array(), 'Production Design' => array(), 'Costume' => array(), 'Art Direction' => array(), 'Animator' => array(), 'Choreographer' => array(), 'Contributor' => array(), 'Composer' => array());
// Gather up technical and non-technical roles
$cast = array();
foreach ($RECORD['person'] as $person) {
    if ($person['is_technical']) {
        $tech_roles[$person['role']][] = $person['name'];
    } else {
        $cast[] = $person;
    }
}
foreach ($tech_roles as $role => $names) {
    if ($names) {
        print "<dt>{$role}</dt><dd>" . join('; ', make_search_links($names, $MODULE->url('search', '?adv_index1=person&adv_q1=%%22%s%%22'))) . "</dd>\n";
    }
}
// Cast -- non-technical
if (count($cast)) {
    // Yes it's a table. Sue me. Actually this is tabular data, so it's appropriate
    print "<dt>Cast</dt>\n";
    print "<dd><table width=\"70%\">\n";
    foreach ($cast as $person) {
        $person_link = html_link($MODULE->url('search', sprintf('?adv_index1=person&adv_q1=%%22%s%%22', urlencode($person['name']))), $person['name']);
        if ($person['role'] == 'Performer') {
            $role_link = '&nbsp;';
        } else {
            $role_link = $person['role'];
        }
        //### TODO