source: extensions/Extended_author/image.php @ 31085

Last change on this file since 31085 was 11819, checked in by Mattias, 13 years ago

Added all files to the svn repository

File size: 1.8 KB
RevLine 
[11819]1<?php
2
3// Add an event handler for a prefilter
4add_event_handler('loc_begin_picture', 'EA_set_prefilter_add_to_pic_info', 55 );
5
6// Change the variables used by the function that changes the template
7add_event_handler('loc_begin_picture', 'EA_add_image_vars_to_template');
8
9// Add the prefilter to the template
10function EA_set_prefilter_add_to_pic_info()
11{
12        global $template;
13        $template->set_prefilter('picture', 'EA_add_to_pic_info');
14}
15
16// Insert the template for the author display
17function EA_add_to_pic_info($content, &$smarty)
18{
19        // Add the information after the author - so before the createdate
20        $search = '/<tr id="Author">.*?<\/tr>/is';
21       
22        $replacement = '
23        <tr id="extended_author">
24                <td class="label">{\'Author\'|@translate}</td>
25                <td class="value">
26                {if $EA_INFO_NAME}
27                        {if $EA_INFO_URL}
28                                <a target="_blanc" href="{$EA_INFO_URL}" title="{$EA_INFO_NAME}">
29                        {/if}
30                        {$EA_INFO_NAME}
31                        {if $EA_INFO_URL}
32                                </a>
33                        {/if}
34                {else}
35                        {\'N/A\'|@translate}
36                {/if}
37                </td>
38        </tr>';
39
40        return preg_replace($search, $replacement, $content);
41}
42
43// Assign values to the variables in the template
44function EA_add_image_vars_to_template()
45{
46        global $page, $template;
47
48        // Show block only on the photo page
49        if ( !empty($page['image_id']) )
50        {
51                // Get the author name and url that belongs to the current media_item
52                $query = sprintf('
53                        select a.name, a.url
54                        FROM %s i, %s a
55                        WHERE i.author = a.name
56                        AND i.id = %d
57                ;',
58                IMAGES, AUTHORS, $page['image_id']);
59                $result = pwg_query($query);
60                $row = pwg_db_fetch_row($result);
61                $name = '';
62                $url = '';
63                if(count($row) > 0) {
64                        $name = $row[0];
65                        $url = $row[1];
66                }
67                       
68                // Sending data to the template
69                $template->assign(
70                        array(
71                                'EA_INFO_NAME' => $name,
72                                'EA_INFO_URL' => $url
73                        )
74                );
75        }
76}
77
78?>
Note: See TracBrowser for help on using the repository browser.