示例#1
0
    def get_editable_icon(self, filename, name):
        if has_file(self.request, self.images_pagename, filename):
            if not self.request.config.logo_sizes.has_key(filename):
                wikiutil.init_logo_sizes(self.request)
            if not self.request.config.theme_files_last_modified.has_key(
                filename):
                wikiutil.init_theme_files_last_modified(self.request)

            width, height = self.request.config.logo_sizes[filename]
            last_modified = self.request.config.theme_files_last_modified[
                filename]
            if self.request.isSSL():
                icon = (
                    '<img class="borderless" src="%s" alt="%s" style="%s" '
                         'height="%s" width="%s"/><span>%s</span>' %
                    (self.request.getQualifiedURL(
                        uri=getAttachUrl(
                            self.images_pagename, filename, self.request,
                            ts=last_modified),
                        ),
                     name, self.png_behavior, height, width, name))
            else:
                icon = (
                    '<img class="borderless" src="%s" alt="%s" style="%s" '
                         'height="%s" width="%s"/><span>%s</span>' %
                    (getAttachUrl(self.images_pagename, filename, self.request,
                                  ts=last_modified),
                     name, self.png_behavior, height, width, name))
        else:
            # we just show text when we don't have an icon to show
            icon = name

        return icon
示例#2
0
    def banner(self,d):
        """
        Assemble the banner

        @rtype: string
        @return: banner html
        """
        if d['script_name']:
            html = ['<a class="nostyle" href="%(script_name)s">' % d]
        else:
            html = ['<a class="nostyle" href="%s/Front_Page">' %
                    self.request.getScriptname()]

        if has_file(self.request, self.images_pagename, 'logo.png'):
            if not self.request.config.logo_sizes.has_key('logo.png'):
                wikiutil.init_logo_sizes(self.request)
            if not self.request.config.theme_files_last_modified.has_key(
                'logo.png'):
                wikiutil.init_theme_files_last_modified(self.request)
            width, height = self.request.config.logo_sizes['logo.png']
            last_modified = self.request.config.theme_files_last_modified[
                'logo.png']
            if self.request.isSSL():
                html.append(
                    '<img align="middle" src="%s" alt="wiki logo" style="%s" '
                         'height="%s" width="%s"></a>' %
                    (self.request.getQualifiedURL(
                        uri=getAttachUrl(
                            self.images_pagename, 'logo.png', self.request,
                            ts=last_modified),
                        ),
                     self.png_behavior, height, width))
            else:
                html.append(
                    '<img align="middle" src="%s" alt="wiki logo" style="%s" '
                         'height="%s" width="%s"></a>' %
                    (getAttachUrl(self.images_pagename, 'logo.png',
                                  self.request, ts=last_modified),
                     self.png_behavior, height, width))
        else:
            html.append('<div id="logo_text">%s</div></a>' %
                        wikiutil.escape(self.request.config.sitename))

        return ''.join(html)
示例#3
0
    def interwikilink(self, url, text, **kw):
        """
        Return the HTML linking to the interwiki page.
        """
        href, wikitag, wikiurl, wikitail, wikitag_bad, wikitype = \
            self.interwikiurl(url, **kw)

        # link to self?
        if wikitag is None:
            return self._word_repl(wikitail)
              
        # return InterWiki hyperlink
        if wikitag_bad:
            text = "No Interwiki entry for: " + wikitag
            html_class = 'badinterwiki'
        else:
            html_class = 'interwiki'
        
        # if the wiki they're linking to is in our farm and if they have a
        # defined icon then display that
        if not kw.get('no_icon'):
            if wikitype == wikiutil.INTERWIKI_FARM_TYPE:
                current_wiki = self.request.config.wiki_name
                image_pagename = '%s/%s' % (config.wiki_settings_page,
                                            config.wiki_settings_page_images)
                self.request.switch_wiki(wikitag)
                if wikiutil.hasFile(image_pagename, 'tinylogo.png',
                                    self.request):
                    icon_url = getAttachUrl(image_pagename, 'tinylogo.png',
                                            self.request,
                                            base_url=farm.getWikiURL(
                                                wikitag, self.request),
                                            escaped=0)
                    icon = self.image(html_class="interwiki_icon",
                                      src=icon_url, alt=wikitag, height='16',
                                      width='16')
                else:
                    icon = self.request.theme.make_icon('interwiki',
                        {'wikitag': wikitag}, html_class="interwiki_icon")
                self.request.switch_wiki(current_wiki)
            else:
                icon = self.request.theme.make_icon('interwiki',
                    {'wikitag': wikitag}, html_class="interwiki_icon")
        else:
            icon = ''

        return self.url(href, icon + text, title=wikitag, unescaped=1,
                        pretty_url=kw.get('pretty_url', 0), css=html_class,
                        show_image=False)