source: extensions/Media_Icon/picture.php @ 19373

Last change on this file since 19373 was 19372, checked in by julien1311, 11 years ago

add the capacity to choose the supported files

  • Property svn:eol-style set to LF
File size: 2.6 KB
Line 
1<?php
2add_event_handler('loc_end_page_header', 'media_icon_picture_css');
3add_event_handler('render_element_content','media_icon_add_tag_picture',EVENT_HANDLER_PRIORITY_NEUTRAL+10,2);
4
5function media_icon_add_tag_picture($content, $element_info) {
6        global $conf;
7       
8        $conf_media_icon_general = unserialize($conf['media_icon_general']);
9        $media_icon_type = "";
10       
11        switch (strrchr($element_info['file'], ".")) {
12                case ".pdf":
13                        if ($conf_media_icon_general['support']['pdf'] == 1)
14                                $media_icon_type = "pdf";
15                        break;
16                case ".docx":
17                        if ($conf_media_icon_general['support']['document'] == 1)
18                                $media_icon_type = "document";
19                        break;
20                case ".doc":
21                        if ($conf_media_icon_general['support']['document'] == 1)
22                                $media_icon_type = "document";
23                        break;
24                case ".odt":
25                        if ($conf_media_icon_general['support']['document'] == 1)
26                                $media_icon_type = "document";
27                        break;
28                case ".xlsx":
29                        if ($conf_media_icon_general['support']['spreadsheet'] == 1)
30                                $media_icon_type = "spreadsheet";
31                        break;
32                case ".xls":
33                        if ($conf_media_icon_general['support']['spreadsheet'] == 1)
34                                $media_icon_type = "spreadsheet";
35                        break;
36                case ".ods":
37                        if ($conf_media_icon_general['support']['spreadsheet'] == 1)
38                                $media_icon_type = "spreadsheet";
39                        break;
40                case ".pptx":
41                        if ($conf_media_icon_general['support']['presentation'] == 1)
42                                $media_icon_type = "presentation";
43                        break;
44                case ".ppt":
45                        if ($conf_media_icon_general['support']['presentation'] == 1)
46                                $media_icon_type = "presentation";
47                        break;
48                case ".odp":
49                        if ($conf_media_icon_general['support']['presentation'] == 1)
50                                $media_icon_type = "presentation";
51                        break;
52        }
53       
54        if ($media_icon_type != "") {
55                preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$content,$match);
56       
57                $content = str_replace($match[0],'<span class="media_icon media_icon_'.$media_icon_type.'_'.$conf_media_icon_general['style'].'"></span>'.$match[0].'</a>',$content);
58        }
59       
60        return $content;
61}
62
63function media_icon_picture_css() {
64        global $template, $conf;
65       
66        $conf_media_icon_general = unserialize($conf['media_icon_general']);
67        $conf_media_icon_advanced = unserialize($conf['media_icon_advanced']);
68       
69        $template->set_filename('media_icon_template', dirname(__FILE__).'/template/media_icon_picture.tpl');
70       
71        $template->assign(
72                'media_icon_advanced',
73                array(
74                        'xposition' => $conf_media_icon_advanced['xposition'],
75                        'yposition' => $conf_media_icon_advanced['yposition'],
76                        'opacity' => $conf_media_icon_advanced['opacity'],
77                )
78        );
79       
80        $template->concat('PLUGIN_INDEX_CONTENT_END', $template->parse('media_icon_template', true));
81}
82?>
Note: See TracBrowser for help on using the repository browser.