<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
{*
# ***** BEGIN LICENSE BLOCK *****
# This file is part of InDefero, an open source project management application.
# Copyright (C) 2008-2011 Céondo Ltd and contributors.
#
# InDefero is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# InDefero is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# ***** END LICENSE BLOCK *****
*}
<
html
lang
=
"en"
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/yui.css'}"
/>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/style.css'}"
/>
<
link
rel
=
"icon"
type
=
"image/png"
href
=
"{media '/idf/img/srchub_favicon.png'}"
/>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/prettify.css'}"
/>
{block extraheader}{/block}
<
title
>{block pagetitle}{$page_title|strip_tags}{/block}{if $project} - {$project.shortdesc}{/if}</
title
>
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/jquery-1.7.2.min.js'}"
></
script
>
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/jquery.qrcode.min.js'}"
></
script
>
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/logo.cache.js'}"
></
script
>
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/syntaxhighlight/shCore.js'}"
></
script
>
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/syntaxhighlight/shAutoloader.js'}"
></
script
>
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/syntaxhighlight/shCore.css'}"
/>
{if $project}
{if $project.syntaxtheme}
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/syntaxhighlight/shTheme'}{$project.syntaxtheme}.css"
/>
{else}
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/syntaxhighlight/shThemeDefault.css'}"
/>
{/if}
{else}
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"{media '/idf/css/syntaxhighlight/shThemeDefault.css'}"
/>
{/if}
{literal}
<
script
type
=
"text/javascript"
>
$.event.special.tripleclick = {
setup: function(data, namespaces) {
var elem = this, $elem = jQuery(elem);
$elem.bind('click', jQuery.event.special.tripleclick.handler);
},
teardown: function(namespaces) {
var elem = this, $elem = jQuery(elem);
$elem.unbind('click', jQuery.event.special.tripleclick.handler)
},
handler: function(event) {
var elem = this, $elem = jQuery(elem), clicks = $elem.data('clicks') || 0, start = $elem.data('startTimeTC') || 0;
if ((new Date().getTime() - start)>= 1000) {
clicks = 0;
}
clicks += 1;
if(clicks === 1) {
start = new Date().getTime();
}
if ( clicks === 3 ) {
clicks = 0;
// set event type to "tripleclick"
event.type = "tripleclick";
// let jQuery handle the triggering of "tripleclick" event handlers
jQuery.event.handle.apply(this, arguments)
}
$elem.data('clicks', clicks);
$elem.data('startTimeTC', start);
}
};
</
script
>
{/literal}
{appversion}
</
head
>
<
body
>
<
div
id
=
"{block docid}doc3{/block}"
class
=
"{block docclass}yui-t3{/block}"
>
<
div
id
=
"hd"
>
{if $project}
<
h1
class
=
"project-title"
>{$project}<
img
data-logo
=
"{$project.logo}"
class
=
"logo"
src
=
"{url 'IDF_Views_Project::logo', array($project.shortname)}"
alt
=
"{trans 'Project logo'}"
/>{if $project.private}<
img
class
=
"lock"
src
=
"{media '/idf/img/lock.png'}"
alt
=
"{trans 'Private project'}"
/>{/if}{$p}{assign $url = $project.external_project_url}{if $url != ''}<
a
href
=
"{$url}"
target
=
"_blank"
class
=
"external-link"
title
=
"{trans 'External link to project'}"
/> </
a
>{/if}</
h1
>{/if}
{include 'idf/main-menu.html'}
<
div
id
=
"header"
>
<
div
id
=
"main-tabs"
>
{if $project}
<
a
accesskey
=
"1"
href
=
"{url 'IDF_Views_Project::home', array($project.shortname)}"
{block tabhome}{/block}>{trans 'Project Home'}</
a
>
{if $hasDownloadsAccess} <
a
href
=
"{url 'IDF_Views_Download::index', array($project.shortname)}"
{block tabdownloads}{/block}>{trans 'Downloads'}</
a
>{/if}
{if $hasWikiAccess} <
a
href
=
"{url 'IDF_Views_Wiki::listPages', array($project.shortname)}"
{block tabwiki}{/block}>{trans 'Documentation'}</
a
>{/if}
{if $hasIssuesAccess} <
a
href
=
"{url 'IDF_Views_Issue::index', array($project.shortname)}"
{block tabissues}{/block}>{trans 'Issues'}</
a
>{/if}
{if $hasSourceAccess} <
a
href
=
"{url 'IDF_Views_Source::treeBase', array($project.shortname, $project.getScmRoot())}"
{block tabsource}{/block}>{trans 'Source'}</
a
>{/if}
{if $hasReviewAccess} <
a
href
=
"{url 'IDF_Views_Review::index', array($project.shortname)}"
{block tabreview}{/block}>{trans 'Code Review'}</
a
>{/if}
{if $isOwner}
<
a
href
=
"{url 'IDF_Views_Project::admin', array($project.shortname)}"
{block tabadmin}{/block}>{trans 'Project Management'}</
a
>{/if}{/if}
</
div
>
{block subtabs}{if $user.isAnonymous()} | {aurl 'url', 'IDF_Views::login'}{blocktrans}<
a
href
=
"{$url}"
>Sign in or create your account</
a
> to create issues or add comments{/blocktrans}{/if}{/block}
</
div
>
{if $project.enableads}<
p
><
center
>
</
center
></
p
>{/if}
<
h1
class
=
"title"
id
=
"title"
>{block titleicon}{/block}{block title}{$page_title}{/block}</
h1
>
<
br
/>
</
div
>
<
div
id
=
"bd"
>
<
div
id
=
"yui-main"
>
<
div
class
=
"yui-b"
>
<
div
class
=
"yui-g"
>
{if $user and $user.id}{getmsgs $user}{/if}
<
div
class
=
"content"
>{block body}{/block}</
div
>
</
div
>
</
div
>
</
div
>
<
div
class
=
"yui-b context"
id
=
"context"
>{block context}{/block}</
div
>
</
div
>
<
div
id
=
"ft"
>{block foot}{/block}</
div
>
</
div
>
{include 'idf/js-hotkeys.html'}
{include 'idf/list-filter.html'}
{block javascript}{/block}
{if $project}
<
script
type
=
"text/javascript"
charset
=
"utf-8"
>{literal}
//
<![CDATA[
$(document).ready(function(){
var frag = location.hash;
if ($('#preview').length) {
location.hash = '#preview';
}
else if (frag.length > 3 && frag.substring(0, 3) == '#ic') {
$(frag).addClass("issue-comment-focus");
}
var contextTop = $('div#context').position().top;
var contextFixEnabled = true;
$(window).scroll(function() {
if (!contextFixEnabled || $(window).scrollTop() < contextTop)
$('div#context').css('position', 'relative');
else
$('div#context').css('position', 'fixed');
});
$(window).resize(function() {
contextFixEnabled =
$('div#context').offset().top + $('div#context').height() <
$(window).height();
});
$(window).resize();
});
//]]>
{/literal}
</
script
>{/if}
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/prettify.js'}"
></
script
>
<
script
type
=
"text/javascript"
>prettyPrint();</
script
>
<
script
type
=
"text/javascript"
src
=
"{media '/idf/js/allowtabs.js'}"
></
script
>
<
script
type
=
"text/javascript"
>
{literal}
function path()
{
var args = arguments,
result = [];
for(var i = 0; i <
args.length
; i++)
result.push(args[i].replace('@', '/media/idf/js/syntaxhighlight/'));
return result;
}
function gotoline()
{
if ($('.number' + window.location.hash.substring(1)).first().offset() == null)
{
window.setTimeout(gotoline, 100);
return;
}
$('html, body').animate({
scrollTop: ($('.number' + window.location.hash.substring(1)).first().offset().top)
},500);
changegutter();
}
function changegutter()
{
if ($('#highlight').find('.gutter > [class*=number]').first().offset() == null)
{
window.setTimeout(changegutter, 100);
return;
}
$('#highlight').find('.gutter > [class*=number]').each(function(){ $(this).html('<
a
href
=
"https://' + window.location.hostname + window.location.pathname + '#' + $(this).html() +'"
>' + $(this).html() + '</
a
>'); });
}
$(function() {
SyntaxHighlighter.autoloader.apply(null, path(
'applescript @shBrushAppleScript.js',
'actionscript3 as3 @shBrushAS3.js',
'bash shell @shBrushBash.js',
'coldfusion cf @shBrushColdFusion.js',
'cpp c @shBrushCpp.js',
'c# c-sharp csharp @shBrushCSharp.js',
'css @shBrushCss.js',
'delphi pascal @shBrushDelphi.js',
'diff patch pas @shBrushDiff.js',
'erl erlang @shBrushErlang.js',
'groovy @shBrushGroovy.js',
'java @shBrushJava.js',
'jfx javafx @shBrushJavaFX.js',
'js jscript javascript @shBrushJScript.js',
'perl pl @shBrushPerl.js',
'php @shBrushPhp.js',
'text plain @shBrushPlain.js',
'py python @shBrushPython.js',
'ruby rails ror rb @shBrushRuby.js',
'sass scss @shBrushSass.js',
'scala @shBrushScala.js',
'sql @shBrushSql.js',
'vb vbnet @shBrushVb.js',
'xml xhtml xslt html @shBrushXml.js',
'objc @shBrushObjC.js',
'asm @shBrushAsm.js'
));
SyntaxHighlighter.all();
if(window.location.hash)
{
window.setTimeout(gotoline, 100);
} else {
window.setTimeout(changegutter, 100);
}
});
{/literal}
</
script
>
</
body
>
</
html
>