fixed the code folder view to use the title-band class and show metadata differently from earlier revisions

This commit is contained in:
hyung-hwan 2016-01-10 05:11:37 +00:00
parent 46f784dfae
commit e445a8ed13
19 changed files with 582 additions and 593 deletions

View File

@ -99,7 +99,6 @@ class Code extends Controller
$file['head_tag'] = $this->subversion->getRevProp ($projectid, $file['head_rev'], CODEPOT_SVN_TAG_PROPERTY); $file['head_tag'] = $this->subversion->getRevProp ($projectid, $file['head_rev'], CODEPOT_SVN_TAG_PROPERTY);
if ($file['head_tag'] === FALSE) $file['head_tag'] = ''; if ($file['head_tag'] === FALSE) $file['head_tag'] = '';
$data['project'] = $project; $data['project'] = $project;
$data['headpath'] = $path; $data['headpath'] = $path;
$data['file'] = $file; $data['file'] = $file;
@ -1071,7 +1070,6 @@ class Code extends Controller
} }
else $h['tag'] = ''; else $h['tag'] = '';
foreach ($h['paths'] as &$chg) foreach ($h['paths'] as &$chg)
{ {
if ($chg['action'] == 'A' || $chg['action'] == 'M' || $chg['action'] == 'R') if ($chg['action'] == 'A' || $chg['action'] == 'M' || $chg['action'] == 'R')
@ -1085,7 +1083,7 @@ class Code extends Controller
$props = array(); $props = array();
} }
else else
{ {
// get the first element in the associative array. // get the first element in the associative array.
foreach ($props as &$p) break; foreach ($props as &$p) break;
$props = $p; $props = $p;
@ -1101,7 +1099,7 @@ class Code extends Controller
$prev_props = array(); $prev_props = array();
} }
else else
{ {
// get the first element in the associative array. // get the first element in the associative array.
foreach ($prev_props as &$p) break; foreach ($prev_props as &$p) break;
$prev_props = $p; $prev_props = $p;

View File

@ -27,6 +27,12 @@ class SubversionModel extends Model
$canonical = $collapsed; $canonical = $collapsed;
} }
$canonical = preg_replace('|^/\.\./|','/',$canonical); $canonical = preg_replace('|^/\.\./|','/',$canonical);
if ($canonical != '/' && substr($canonical, -1) == '/')
{
// if the last character is / and it's not the only character, remove it
$canonical = substr ($canonical, 0, -1);
}
return $canonical; return $canonical;
} }

View File

@ -1,4 +1,6 @@
<html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@ -46,7 +48,7 @@ else
<script type="text/javascript"> <script type="text/javascript">
$(function () { $(function () {
$('#code_blame_mainarea_metadata').accordion({ $('#code_blame_metadata').accordion({
collapsible: true collapsible: true
}); });
@ -67,31 +69,31 @@ $(function () {
$("#code_blame_mainarea_edit_button").button(); $("#code_blame_mainarea_edit_button").button();
<?php if ($file['created_rev'] != $file['head_rev']): ?> <?php if ($file['created_rev'] != $file['head_rev']): ?>
$("#code_blame_mainarea_headrev_button").button().click (function() { $("#code_blame_headrev_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/blame/{$project->id}/${hex_headpath}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/blame/{$project->id}/${hex_headpath}"; ?>'));
return false; return false;
}); });
<?php endif; ?> <?php endif; ?>
$("#code_blame_mainarea_detail_button").button().click (function() { $("#code_blame_detail_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/file/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/file/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_blame_mainarea_diff_button").button().click (function() { $("#code_blame_diff_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/diff/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/diff/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_blame_mainarea_fulldiff_button").button().click (function() { $("#code_blame_fulldiff_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fulldiff/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fulldiff/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_blame_mainarea_history_button").button().click (function() { $("#code_blame_history_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print $history_path; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print $history_path; ?>'));
return false; return false;
}); });
$("#code_blame_mainarea_download_button").button().click (function() { $("#code_blame_download_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fetch/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fetch/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
@ -138,9 +140,9 @@ $this->load->view (
<div class="mainarea" id="code_blame_mainarea"> <div class="mainarea" id="code_blame_mainarea">
<div class="title-band" id="code_blame_mainarea_title_band"> <div class="title-band" id="code_blame_title_band">
<div class="title" id="code_blame_mainarea_title"> <div class="title">
<?php <?php
print anchor ( print anchor (
"code/file/{$project->id}{$revreqroot}", "code/file/{$project->id}{$revreqroot}",
@ -175,7 +177,7 @@ $this->load->view (
print htmlspecialchars($file['fullpath']); print htmlspecialchars($file['fullpath']);
} }
?> ?>
</div> <!-- code_blame_mainarea_title --> </div>
<div class="actions"> <div class="actions">
<?php <?php
@ -214,8 +216,8 @@ $this->load->view (
<div style="clear: both;"></div> <div style="clear: both;"></div>
</div> </div>
<div id='code_blame_mainarea_metadata' class='collapsible-box'> <div id='code_blame_metadata' class='collapsible-box'>
<div id='code_blame_mainarea_metadata_header' class='collapsible-box-header'> <div id='code_blame_metadata_header' class='collapsible-box-header'>
<?php <?php
print '<div class="metadata-committer">'; print '<div class="metadata-committer">';
$user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($file['last_author'])); $user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($file['last_author']));
@ -235,14 +237,14 @@ $this->load->view (
if ($file['created_rev'] != $file['head_rev']) if ($file['created_rev'] != $file['head_rev'])
{ {
$head_revision_text = '<i class="fa fa-exclamation-triangle" style="color:#CC2222"></i> ' . $this->lang->line('Head revision'); $head_revision_text = '<i class="fa fa-exclamation-triangle" style="color:#CC2222"></i> ' . $this->lang->line('Head revision');
print anchor ('#', $head_revision_text, 'id="code_blame_mainarea_headrev_button"'); print anchor ('#', $head_revision_text, 'id="code_blame_headrev_button"');
} }
print anchor ('#', $detail_anchor_text, 'id="code_blame_mainarea_detail_button"'); print anchor ('#', $detail_anchor_text, 'id="code_blame_detail_button"');
print anchor ('#', $diff_anchor_text, 'id="code_blame_mainarea_diff_button"'); print anchor ('#', $diff_anchor_text, 'id="code_blame_diff_button"');
print anchor ('#', $fulldiff_anchor_text, 'id="code_blame_mainarea_fulldiff_button"'); print anchor ('#', $fulldiff_anchor_text, 'id="code_blame_fulldiff_button"');
print anchor ('#', $history_anchor_text, 'id="code_blame_mainarea_history_button"'); print anchor ('#', $history_anchor_text, 'id="code_blame_history_button"');
print anchor ('#', $download_anchor_text, 'id="code_blame_mainarea_download_button"'); print anchor ('#', $download_anchor_text, 'id="code_blame_download_button"');
print '</div>'; print '</div>';
print '<div class="metadata-commit-date">'; print '<div class="metadata-commit-date">';
@ -253,13 +255,13 @@ $this->load->view (
<div style='clear: both'></div> <div style='clear: both'></div>
</div> </div>
<div id='code_blame_mainarea_metadata_body'> <div id='code_blame_metadata_body'>
<pre class='pre-wrapped'><?php print htmlspecialchars ($file['logmsg']); ?></pre> <div><pre class='pre-wrapped'><?php print htmlspecialchars ($file['logmsg']); ?></pre></div>
<?php <?php
if (array_key_exists('properties', $file) && count($file['properties']) > 0) if (array_key_exists('properties', $file) && count($file['properties']) > 0)
{ {
print '<ul id="code_blame_mainarea_loc_info_property_list">'; print '<ul id="code_blame_property_list">';
foreach ($file['properties'] as $pn => $pv) foreach ($file['properties'] as $pn => $pv)
{ {
print '<li>'; print '<li>';
@ -277,7 +279,7 @@ $this->load->view (
</div> </div>
</div> </div>
<div class="result" id="code_blame_mainarea_result"> <div class="result" id="code_blame_result">
<?php <?php
$fileext = substr(strrchr($file['name'], '.'), 1); $fileext = substr(strrchr($file['name'], '.'), 1);
@ -292,7 +294,7 @@ if ($login['settings'] != NULL &&
$login['settings']->code_hide_line_num == 'Y') $prettyprint_linenums = ''; $login['settings']->code_hide_line_num == 'Y') $prettyprint_linenums = '';
?> ?>
<pre id="code_blame_mainarea_result_code_container" class="line-numbered"> <pre id="code_blame_result_code_container" class="line-numbered">
<?php <?php
// when producing line-numbered code, make sure to produce proper // when producing line-numbered code, make sure to produce proper
// line terminators. // line terminators.
@ -309,7 +311,7 @@ if ($login['settings'] != NULL &&
$content = &$file['content']; $content = &$file['content'];
$len = count($content); $len = count($content);
print '<span class="line-number-block" id="code_blame_mainarea_result_code_revision">'; print '<span class="line-number-block" id="code_blame_result_code_revision">';
$rev = ''; $rev = '';
for ($i = 0; $i < $len; $i++) for ($i = 0; $i < $len; $i++)
{ {
@ -334,7 +336,7 @@ if ($login['settings'] != NULL &&
} }
print '</span>'; print '</span>';
print '<span class="line-number-block" id="code_blame_mainarea_result_code_author">'; print '<span class="line-number-block" id="code_blame_result_code_author">';
$rev = ''; $rev = '';
$author = ''; $author = '';
for ($i = 0; $i < $len; $i++) for ($i = 0; $i < $len; $i++)
@ -359,9 +361,7 @@ if ($login['settings'] != NULL &&
} }
print '</span>'; print '</span>';
printf ('<code class="line-numbered-code prettyprint %s %s" id="code_blame_mainarea_result_code">', $prettyprint_linenums, $prettyprint_lang); printf ('<code class="line-numbered-code prettyprint %s %s" id="code_blame_result_code">', $prettyprint_linenums, $prettyprint_lang);
$charset = ''; $charset = '';
if (array_key_exists('properties', $file) && count($file['properties']) > 0) if (array_key_exists('properties', $file) && count($file['properties']) > 0)
@ -412,7 +412,7 @@ if ($login['settings'] != NULL &&
?> ?>
</div> <!-- code_blame_mainarea_loc_info --> </div> <!-- code_blame_mainarea_loc_info -->
</div> <!-- code_blame_mainarea_result --> </div> <!-- code_blame_result -->
</div> <!-- code_blame_mainarea --> </div> <!-- code_blame_mainarea -->

View File

@ -1,4 +1,6 @@
<html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@ -64,9 +66,9 @@ $this->load->view (
<div class="mainarea" id="code_diff_mainarea"> <div class="mainarea" id="code_diff_mainarea">
<div class="title-band" id="code_diff_mainarea_title_band"> <div class="title-band" id="code_diff_title_band">
<div class="title" id="code_diff_mainarea_title"> <div class="title">
<?php <?php
if ($revision1 <= 0) if ($revision1 <= 0)
{ {
@ -97,7 +99,7 @@ $this->load->view (
print anchor ($xpar, htmlspecialchars($exps[$i])); print anchor ($xpar, htmlspecialchars($exps[$i]));
} }
?> ?>
</div> <!-- code_diff_mainarea_title --> </div>
<div class="actions"></div> <div class="actions"></div>
<div style="clear: both;"></div> <div style="clear: both;"></div>
@ -148,7 +150,7 @@ $this->load->view (
if ($fileext == "") $fileext = "html" if ($fileext == "") $fileext = "html"
?> ?>
<div class="result" id="code_diff_mainarea_result"> <div class="result" id="code_diff_result">
<?php <?php
function format_diff2 ($a, $b, $css_class) function format_diff2 ($a, $b, $css_class)
@ -259,7 +261,7 @@ function format_diff ($a, $b, $css_class)
//if (!$fullview) //if (!$fullview)
if (FALSE) // don't want to delete code for the original diff view. if (FALSE) // don't want to delete code for the original diff view.
{ {
print '<table id="code_diff_mainarea_result_table">'; print '<table id="code_diff_result_table">';
/* /*
print '<pre>'; print '<pre>';
print_r ($file['content']); print_r ($file['content']);
@ -393,7 +395,7 @@ else
$diff_view = $fullview? 'fulldiff': 'diff'; $diff_view = $fullview? 'fulldiff': 'diff';
print '<div style="width: 100%; overflow: hidden;" id="code_diff_mainarea_result_fullview">'; print '<div style="width: 100%; overflow: hidden;" id="code_diff_result_fullview">';
// //
// SHOW THE OLD FILE // SHOW THE OLD FILE
@ -423,8 +425,8 @@ else
print anchor ($nextanc, '<i class="fa fa-arrow-circle-right"></i>'); print anchor ($nextanc, '<i class="fa fa-arrow-circle-right"></i>');
print "</div>"; // navigator print "</div>"; // navigator
//print "<pre class='prettyprint lang-{$fileext}' style='width: 100%;' id='code_diff_mainarea_result_fulldiffold'>"; //print "<pre class='prettyprint lang-{$fileext}' style='width: 100%;' id='code_diff_result_fulldiffold'>";
print '<pre style="width: 100%;" id="code_diff_mainarea_result_fulldiffold" class="line-numbered">'; print '<pre style="width: 100%;" id="code_diff_result_fulldiffold" class="line-numbered">';
print '<span class="line-number-block">'; print '<span class="line-number-block">';
$actual_line_no = 1; $actual_line_no = 1;
@ -527,8 +529,8 @@ else
print anchor ($nextanc, '<i class="fa fa-arrow-circle-right"></i>'); print anchor ($nextanc, '<i class="fa fa-arrow-circle-right"></i>');
print "</div>"; // navigator print "</div>"; // navigator
//print "<pre class='prettyprint lang-{$fileext}' style='width: 100%;' id='code_diff_mainarea_result_fulldiffnew'>"; //print "<pre class='prettyprint lang-{$fileext}' style='width: 100%;' id='code_diff_result_fulldiffnew'>";
print '<pre style="width: 100%;" id="code_diff_mainarea_result_fulldiffnew" class="line-numbered">'; print '<pre style="width: 100%;" id="code_diff_result_fulldiffnew" class="line-numbered">';
print '<span class="line-number-block">'; print '<span class="line-number-block">';
$actual_line_no = 1; $actual_line_no = 1;

View File

@ -1,4 +1,6 @@
<html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@ -37,7 +39,7 @@ var base_return_anchor = codepot_merge_path('<?php print site_url() ?>', '<?php
function resize_editor() function resize_editor()
{ {
var titleband = $("#code_edit_mainarea_title_band"); var titleband = $("#code_edit_title_band");
var code = $("#code_edit_mainarea_result_code"); var code = $("#code_edit_mainarea_result_code");
var footer = $("#codepot_footer"); var footer = $("#codepot_footer");
@ -266,8 +268,8 @@ $this->load->view (
<div class="mainarea" id="code_edit_mainarea"> <div class="mainarea" id="code_edit_mainarea">
<div class="title-band" id="code_edit_mainarea_title_band"> <div class="title-band" id="code_edit_title_band">
<div class="title" id="code_edit_mainarea_title"> <div class="title">
<?php <?php
print anchor ( print anchor (
"code/${caller}/{$project->id}{$revreqroot}", "code/${caller}/{$project->id}{$revreqroot}",
@ -293,7 +295,7 @@ $this->load->view (
print htmlspecialchars($file['fullpath']); print htmlspecialchars($file['fullpath']);
} }
?> ?>
</div> <!-- code_edit_mainarea_title --> </div>
<div class="actions"> <div class="actions">
<?php <?php

View File

@ -1,4 +1,6 @@
<html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@ -52,14 +54,14 @@ function showRawCode()
{ {
if (showing_raw_code) if (showing_raw_code)
{ {
$("#code_file_mainarea_style_button").button("option", "label", '<?php print $destyle_anchor_text; ?>'); $("#code_file_style_button").button("option", "label", '<?php print $destyle_anchor_text; ?>');
$("#code_file_mainarea_result_code").removeClass("prettyprinted"); $("#code_file_result_code").removeClass("prettyprinted");
prettyPrint(); prettyPrint();
} }
else else
{ {
$("#code_file_mainarea_style_button").button("option", "label", '<?php print $enstyle_anchor_text; ?>'); $("#code_file_style_button").button("option", "label", '<?php print $enstyle_anchor_text; ?>');
$("#code_file_mainarea_result_code").html($("#code_file_mainarea_result_raw").html()); $("#code_file_result_code").html($("#code_file_result_raw").html());
} }
showing_raw_code = !showing_raw_code; showing_raw_code = !showing_raw_code;
@ -67,7 +69,7 @@ function showRawCode()
$(function () { $(function () {
$('#code_file_mainarea_metadata').accordion({ $('#code_file_metadata').accordion({
collapsible: true collapsible: true
}); });
@ -88,42 +90,42 @@ $(function () {
$("#code_file_mainarea_edit_button").button(); $("#code_file_mainarea_edit_button").button();
<?php if ($file['created_rev'] != $file['head_rev']): ?> <?php if ($file['created_rev'] != $file['head_rev']): ?>
$("#code_file_mainarea_headrev_button").button().click (function() { $("#code_file_headrev_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/file/{$project->id}/${hex_headpath}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/file/{$project->id}/${hex_headpath}"; ?>'));
return false; return false;
}); });
<?php endif; ?> <?php endif; ?>
$("#code_file_mainarea_blame_button").button().click (function() { $("#code_file_blame_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/blame/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/blame/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_file_mainarea_diff_button").button().click (function() { $("#code_file_diff_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/diff/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/diff/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_file_mainarea_fulldiff_button").button().click (function() { $("#code_file_fulldiff_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fulldiff/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fulldiff/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_file_mainarea_history_button").button().click (function() { $("#code_file_history_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print $history_path; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print $history_path; ?>'));
return false; return false;
}); });
$("#code_file_mainarea_download_button").button().click (function() { $("#code_file_download_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fetch/{$project->id}/${hex_headpath}{$revreq}"; ?>')); $(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fetch/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false; return false;
}); });
$("#code_file_mainarea_style_button").button({"label": '<?php print $destyle_anchor_text; ?>'}).click (function () { $("#code_file_style_button").button({"label": '<?php print $destyle_anchor_text; ?>'}).click (function () {
showRawCode(); showRawCode();
return false; return false;
}); });
// for code rendering // for code rendering
$("#code_file_mainarea_result_raw").html ($("#code_file_mainarea_result_code").html()) $("#code_file_result_raw").html ($("#code_file_result_code").html())
prettyPrint (); prettyPrint ();
}); });
@ -169,8 +171,9 @@ $this->load->view (
<div class="mainarea" id="code_file_mainarea"> <div class="mainarea" id="code_file_mainarea">
<div class="title-band" id="code_file_mainarea_title_band"> <div class="title-band" id="code_file_title_band">
<div class="title" id="code_file_mainarea_title">
<div class="title">
<?php <?php
print anchor ( print anchor (
"code/file/{$project->id}{$revreqroot}", "code/file/{$project->id}{$revreqroot}",
@ -196,7 +199,7 @@ $this->load->view (
print htmlspecialchars($file['fullpath']); print htmlspecialchars($file['fullpath']);
} }
?> ?>
</div> <!-- code_file_mainarea_title --> </div>
<div class="actions"> <div class="actions">
<?php <?php
@ -237,8 +240,8 @@ $this->load->view (
<div style="clear: both;"></div> <div style="clear: both;"></div>
</div> </div>
<div id='code_file_mainarea_metadata' class='collapsible-box'> <div id='code_file_metadata' class='collapsible-box'>
<div id='code_file_mainarea_metadata_header' class='collapsible-box-header'> <div id='code_file_metadata_header' class='collapsible-box-header'>
<?php <?php
print '<div class="metadata-committer">'; print '<div class="metadata-committer">';
$user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($file['last_author'])); $user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($file['last_author']));
@ -257,15 +260,15 @@ $this->load->view (
if ($file['created_rev'] != $file['head_rev']) if ($file['created_rev'] != $file['head_rev'])
{ {
$head_revision_text = '<i class="fa fa-exclamation-triangle" style="color:#CC2222"></i> ' . $this->lang->line('Head revision'); $head_revision_text = '<i class="fa fa-exclamation-triangle" style="color:#CC2222"></i> ' . $this->lang->line('Head revision');
print anchor ('#', $head_revision_text, 'id="code_file_mainarea_headrev_button"'); print anchor ('#', $head_revision_text, 'id="code_file_headrev_button"');
} }
print anchor ('#', $blame_anchor_text, 'id="code_file_mainarea_blame_button"'); print anchor ('#', $blame_anchor_text, 'id="code_file_blame_button"');
print anchor ('#', $diff_anchor_text, 'id="code_file_mainarea_diff_button"'); print anchor ('#', $diff_anchor_text, 'id="code_file_diff_button"');
print anchor ('#', $fulldiff_anchor_text, 'id="code_file_mainarea_fulldiff_button"'); print anchor ('#', $fulldiff_anchor_text, 'id="code_file_fulldiff_button"');
print anchor ('#', $history_anchor_text, 'id="code_file_mainarea_history_button"'); print anchor ('#', $history_anchor_text, 'id="code_file_history_button"');
print anchor ('#', $download_anchor_text, 'id="code_file_mainarea_download_button"'); print anchor ('#', $download_anchor_text, 'id="code_file_download_button"');
print anchor ('#', $this->lang->line('Enstyle'), 'id="code_file_mainarea_style_button"'); print anchor ('#', $this->lang->line('Enstyle'), 'id="code_file_style_button"');
print '</div>'; print '</div>';
print '<div class="metadata-commit-date">'; print '<div class="metadata-commit-date">';
@ -276,13 +279,13 @@ $this->load->view (
<div style='clear: both'></div> <div style='clear: both'></div>
</div> </div>
<div id='code_file_mainarea_metadata_body'> <div id='code_file_metadata_body'>
<pre class='pre-wrapped'><?php print htmlspecialchars ($file['logmsg']); ?></pre> <pre class='pre-wrapped'><?php print htmlspecialchars ($file['logmsg']); ?></pre>
<?php <?php
if (array_key_exists('properties', $file) && count($file['properties']) > 0) if (array_key_exists('properties', $file) && count($file['properties']) > 0)
{ {
print '<ul id="code_file_mainarea_loc_info_property_list">'; print '<ul id="code_file_property_list">';
foreach ($file['properties'] as $pn => $pv) foreach ($file['properties'] as $pn => $pv)
{ {
print '<li>'; print '<li>';
@ -301,11 +304,11 @@ $this->load->view (
</div> </div>
<div style="display:none"> <div style="display:none">
<pre id="code_file_mainarea_result_raw"> <pre id="code_file_result_raw">
</pre> </pre>
</div> </div>
<div class="result" id="code_file_mainarea_result"> <div class="result" id="code_file_result">
<?php <?php
$fileext = substr(strrchr($file['name'], '.'), 1); $fileext = substr(strrchr($file['name'], '.'), 1);
@ -320,7 +323,7 @@ if ($login['settings'] != NULL &&
$login['settings']->code_hide_line_num == 'Y') $prettyprint_linenums = ''; $login['settings']->code_hide_line_num == 'Y') $prettyprint_linenums = '';
?> ?>
<pre class="prettyprint <?php print $prettyprint_linenums?> <?php print $prettyprint_lang?>" id="code_file_mainarea_result_code"> <pre class="prettyprint <?php print $prettyprint_linenums?> <?php print $prettyprint_lang?>" id="code_file_result_code">
<?php <?php
$is_octet_stream = FALSE; $is_octet_stream = FALSE;
if (array_key_exists('properties', $file) && count($file['properties']) > 0) if (array_key_exists('properties', $file) && count($file['properties']) > 0)
@ -382,7 +385,6 @@ if ($login['settings'] != NULL &&
?> ?>
</pre> </pre>
<div id="code_file_mainarea_loc_info" class="infobox"> <div id="code_file_mainarea_loc_info" class="infobox">
<div class="title">LOC</div> <div class="title">LOC</div>
<?php <?php
@ -392,7 +394,7 @@ if ($login['settings'] != NULL &&
?> ?>
</div> <!-- code_file_mainarea_loc_info --> </div> <!-- code_file_mainarea_loc_info -->
</div> <!-- code_file_mainarea_result --> </div> <!-- code_file_result -->
</div> <!-- code_file_mainarea --> </div> <!-- code_file_mainarea -->

View File

@ -39,18 +39,32 @@
<?php <?php
$file_count = count($file['content']); $file_count = count($file['content']);
$hex_headpath = $this->converter->AsciiToHex($headpath);
if ($revision <= 0) if ($revision <= 0)
{ {
$revreq = ''; $revreq = '';
$revreqroot = ''; $revreqroot = '';
$history_path = "/code/history/{$project->id}/{$hex_headpath}";
} }
else else
{ {
$revreq = "/{$revision}"; $revreq = "/{$revision}";
$revreqroot = '/' . $this->converter->AsciiToHex('.') . $revreq; $revreqroot = '/' . $this->converter->AsciiToHex('.') . $revreq;
if ($hex_headpath == '') $revtrailer = $revreqroot;
else $revtrailer = "/{$hex_headpath}{$revreq}";
$history_path = "/code/history/{$project->id}{$revtrailer}";
} }
$hex_headpath = $this->converter->AsciiToHex($headpath); $history_anchor_text = '<i class="fa fa-history"></i> ' . $this->lang->line('History');
$download_anchor_text = '<i class="fa fa-download"></i> ' . $this->lang->line('Download');
$diff_anchor_text = '<i class="fa fa-server"></i> ' . $this->lang->line('Difference');
$fulldiff_anchor_text = '<i class="fa fa-tasks"></i> ' . $this->lang->line('Full Difference');
$blame_anchor_text = '<i class="fa fa-bomb"></i> ' . $this->lang->line('Blame');
?> ?>
<script type="text/javascript"> <script type="text/javascript">
@ -138,31 +152,31 @@ function show_loc_by_lang_graph (response)
yaxes: { } yaxes: { }
}; };
$("#code_folder_mainarea_result_loc_by_lang_graph").width(550).height(400); $("#code_folder_result_loc_by_lang_graph").width(550).height(400);
$.plot($("#code_folder_mainarea_result_loc_by_lang_graph"), dataset, options); $.plot($("#code_folder_result_loc_by_lang_graph"), dataset, options);
var code_folder_mainarea_result_loc_by_lang_graph_previous_point = null; var code_folder_result_loc_by_lang_graph_previous_point = null;
$("#code_folder_mainarea_result_loc_by_lang_graph").bind("plothover", function (event, pos, item) { $("#code_folder_result_loc_by_lang_graph").bind("plothover", function (event, pos, item) {
if (item) if (item)
{ {
if (code_folder_mainarea_result_loc_by_lang_graph_previous_point != item.datapoint) if (code_folder_result_loc_by_lang_graph_previous_point != item.datapoint)
{ {
code_folder_mainarea_result_loc_by_lang_graph_previous_point = item.datapoint; code_folder_result_loc_by_lang_graph_previous_point = item.datapoint;
$("#code_folder_mainarea_result_loc_by_lang_graph_tooltip").remove(); $("#code_folder_result_loc_by_lang_graph_tooltip").remove();
show_tooltip("code_folder_mainarea_result_loc_by_lang_graph_tooltip", item.pageX, item.pageY - 20, item.datapoint[1]); show_tooltip("code_folder_result_loc_by_lang_graph_tooltip", item.pageX, item.pageY - 20, item.datapoint[1]);
} }
} }
else else
{ {
$("#code_folder_mainarea_result_loc_by_lang_graph_tooltip").remove(); $("#code_folder_result_loc_by_lang_graph_tooltip").remove();
code_folder_mainarea_result_loc_by_lang_graph_previous_point = null; code_folder_result_loc_by_lang_graph_previous_point = null;
} }
}); });
} }
$("#code_folder_mainarea_result_info_loc_by_lang_button").button("enable"); $("#code_folder_loc_by_lang_button").button("enable");
$("#code_folder_mainarea_result_info_loc_by_lang_spin" ).removeClass ("fa-cog fa-spin"); $("#code_folder_loc_by_lang_spin" ).removeClass ("fa-cog fa-spin");
} }
function show_loc_by_file_graph (response) function show_loc_by_file_graph (response)
@ -174,12 +188,12 @@ function show_loc_by_file_graph (response)
} }
else else
{ {
var f = new CodeFlower("#code_folder_mainarea_result_loc_by_file_graph", 550, 400); var f = new CodeFlower("#code_folder_result_loc_by_file_graph", 550, 400);
f.update (loc); f.update (loc);
} }
$("#code_folder_mainarea_result_info_loc_by_file_button").button("enable"); $("#code_folder_loc_by_file_button").button("enable");
$("#code_folder_mainarea_result_info_loc_by_file_spin" ).removeClass ("fa-cog fa-spin"); $("#code_folder_loc_by_file_spin" ).removeClass ("fa-cog fa-spin");
} }
function render_readme() function render_readme()
@ -189,8 +203,8 @@ function render_readme()
if (strlen($readme_text) > 0 && substr_compare($readme_file, '.wiki', -5) === 0): if (strlen($readme_text) > 0 && substr_compare($readme_file, '.wiki', -5) === 0):
?> ?>
creole_render_wiki ( creole_render_wiki (
"code_folder_mainarea_result_readme_text", "code_folder_result_readme_text",
"code_folder_mainarea_result_readme", "code_folder_result_readme",
codepot_merge_path("<?php print site_url(); ?>", "/wiki/show/<?php print $project->id?>/"), codepot_merge_path("<?php print site_url(); ?>", "/wiki/show/<?php print $project->id?>/"),
codepot_merge_path("<?php print site_url(); ?>", "/wiki/attachment0/<?php print $project->id?>/") codepot_merge_path("<?php print site_url(); ?>", "/wiki/attachment0/<?php print $project->id?>/")
); );
@ -369,7 +383,7 @@ $(function () {
var xi = 0; var xi = 0;
for (var i = 1; i <= <?php print $file_count; ?>; i++) for (var i = 1; i <= <?php print $file_count; ?>; i++)
{ {
var f = $('#code_folder_mainarea_result_table_file_selector_' + i); var f = $('#code_folder_result_table_file_selector_' + i);
if (f != null && f.is(':checked')) if (f != null && f.is(':checked'))
{ {
form_data.append ('code_delete_file_' + xi, f.val()); form_data.append ('code_delete_file_' + xi, f.val());
@ -458,7 +472,7 @@ $(function () {
var xi = 0; var xi = 0;
for (var i = 1; i <= <?php print $file_count; ?>; i++) for (var i = 1; i <= <?php print $file_count; ?>; i++)
{ {
var f = $('#code_folder_mainarea_result_table_file_selector_' + i); var f = $('#code_folder_result_table_file_selector_' + i);
if (f != null && f.is(':checked')) if (f != null && f.is(':checked'))
{ {
form_data.append ('code_rename_file_old_' + xi, f.val()); form_data.append ('code_rename_file_old_' + xi, f.val());
@ -529,7 +543,7 @@ $(function () {
var xi = 0; var xi = 0;
for (var i = 1; i <= <?php print $file_count; ?>; i++) for (var i = 1; i <= <?php print $file_count; ?>; i++)
{ {
var f = $('#code_folder_mainarea_result_table_file_selector_' + i); var f = $('#code_folder_result_table_file_selector_' + i);
if (f != null && f.is(':checked')) if (f != null && f.is(':checked'))
{ {
var fx = $('#code_folder_mainarea_rename_file_' + xi); var fx = $('#code_folder_mainarea_rename_file_' + xi);
@ -554,7 +568,7 @@ $(function () {
var xi = 0; var xi = 0;
for (var i = 1; i <= <?php print $file_count; ?>; i++) for (var i = 1; i <= <?php print $file_count; ?>; i++)
{ {
var f = $('#code_folder_mainarea_result_table_file_selector_' + i); var f = $('#code_folder_result_table_file_selector_' + i);
if (f != null && f.is(':checked')) xi++; if (f != null && f.is(':checked')) xi++;
} }
$('#code_folder_mainarea_delete_form_div').dialog ('option', 'title', $('#code_folder_mainarea_delete_form_div').dialog ('option', 'title',
@ -571,7 +585,7 @@ $(function () {
$('#code_folder_mainarea_rename_file_table').empty(); $('#code_folder_mainarea_rename_file_table').empty();
for (var i = 1; i <= <?php print $file_count; ?>; i++) for (var i = 1; i <= <?php print $file_count; ?>; i++)
{ {
var f = $('#code_folder_mainarea_result_table_file_selector_' + i); var f = $('#code_folder_result_table_file_selector_' + i);
if (f != null && f.is(':checked')) if (f != null && f.is(':checked'))
{ {
var li = rename_last_input[f.val()]; var li = rename_last_input[f.val()];
@ -593,63 +607,9 @@ $(function () {
}); });
<?php endif; ?> <?php endif; ?>
<?php if ($file_count > 0): ?>
<?php
if ($login['settings'] != NULL && $login['settings']->code_hide_metadata == 'Y')
print '$("#code_folder_mainarea_result_info").hide();';
?>
if ($("#code_folder_mainarea_result_info").is(":visible"))
btn_label = "<?php print $this->lang->line('Hide metadata')?>";
else
btn_label = "<?php print $this->lang->line('Show metadata')?>";
btn = $("#code_folder_mainarea_metadata_button").button({"label": btn_label}).click (function () {
if ($("#code_folder_mainarea_result_info").is(":visible"))
{
$("#code_folder_mainarea_result_info").hide("blind",{},200);
$("#code_folder_mainarea_metadata_button").button(
"option", "label", "<?php print $this->lang->line('Show metadata')?>");
}
else
{
$("#code_folder_mainarea_result_info").show("blind",{},200);
$("#code_folder_mainarea_metadata_button").button(
"option", "label", "<?php print $this->lang->line('Hide metadata')?>");
}
return false;
});
btn = $("#code_folder_mainarea_result_info_loc_by_lang_button").button().click (function () {
$("#code_folder_mainarea_result_info_loc_by_lang_button").button("disable");
$("#code_folder_mainarea_result_info_loc_by_lang_spin").addClass ("fa-cog fa-spin");
var ajax_req = $.ajax ({
url: codepot_merge_path (
"<?php print site_url(); ?>",
"/graph/enjson_loc_by_lang/<?php print $project->id; ?>/<?php print $this->converter->AsciiToHex($headpath)?><?php print $revreq?>"),
context: document.body,
success: show_loc_by_lang_graph
});
});
btn = $("#code_folder_mainarea_result_info_loc_by_file_button").button().click (function () {
$("#code_folder_mainarea_result_info_loc_by_file_button").button("disable");
$("#code_folder_mainarea_result_info_loc_by_file_spin").addClass ("fa-cog fa-spin");
var ajax_req = $.ajax ({
url: codepot_merge_path (
"<?php print site_url(); ?>",
"/graph/enjson_loc_by_file/<?php print $project->id; ?>/<?php print $this->converter->AsciiToHex($headpath)?><?php print $revreq?>"),
context: document.body,
success: show_loc_by_file_graph
});
});
<?php endif; ?>
<?php if (isset($login['id']) && $login['id'] != ''): ?> <?php if (isset($login['id']) && $login['id'] != ''): ?>
$('#code_folder_mainarea_result_table_select_all').button().click (function() { $('#code_folder_result_table_select_all').button().click (function() {
$('.file_selector').prop('checked', $('#code_folder_mainarea_result_table_select_all').is(':checked')); $('.file_selector').prop('checked', $('#code_folder_result_table_select_all').is(':checked'));
}); });
<?php endif; ?> <?php endif; ?>
@ -682,6 +642,71 @@ $(function () {
} }
}); });
$("#code_folder_loc_by_lang_button").button().click (function () {
$("#code_folder_loc_by_lang_button").button("disable");
$("#code_folder_loc_by_lang_spin").addClass ("fa-cog fa-spin");
var ajax_req = $.ajax ({
url: codepot_merge_path (
"<?php print site_url(); ?>",
"/graph/enjson_loc_by_lang/<?php print $project->id; ?>/<?php print $hex_headpath;?><?php print $revreq?>"),
context: document.body,
success: show_loc_by_lang_graph
});
return false;
});
$("#code_folder_loc_by_file_button").button().click (function () {
$("#code_folder_loc_by_file_button").button("disable");
$("#code_folder_loc_by_file_spin").addClass ("fa-cog fa-spin");
var ajax_req = $.ajax ({
url: codepot_merge_path (
"<?php print site_url(); ?>",
"/graph/enjson_loc_by_file/<?php print $project->id; ?>/<?php print $hex_headpath;?><?php print $revreq?>"),
context: document.body,
success: show_loc_by_file_graph
});
return false;
});
$("#code_folder_search").hide();
btn = $("#code_folder_search_button").button().click (function () {
if ($("#code_folder_search").is(":visible"))
{
$("#code_folder_search").hide("blind",{},200);
}
else
{
$("#code_folder_search").show("blind",{},200);
}
return false;
});
$('#code_folder_metadata').accordion({
collapsible: true
});
<?php if ($revision > 0 && $revision < $next_revision): ?>
$("#code_folder_headrev_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/file/{$project->id}/${hex_headpath}"; ?>'));
return false;
});
<?php endif; ?>
$("#code_folder_history_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print $history_path; ?>'));
return false;
});
$("#code_folder_download_button").button().click (function() {
$(location).attr ('href', codepot_merge_path("<?php print site_url(); ?>", '<?php print "/code/fetch/{$project->id}/${hex_headpath}{$revreq}"; ?>'));
return false;
});
render_readme (); render_readme ();
}); });
@ -726,7 +751,7 @@ $this->load->view (
<div class="mainarea" id="code_folder_mainarea"> <div class="mainarea" id="code_folder_mainarea">
<div class="title-band" id="code_folder_mainarea_title_band"> <div class="title-band" id="code_folder_title_band">
<div class="title"> <div class="title">
<?php <?php
@ -758,142 +783,201 @@ $this->load->view (
?> ?>
</div> </div>
<div class="actions"></div> <div class="actions">
<div style="clear: both;"></div> <?php
</div> print anchor ("code/file/{$project->id}/${hex_headpath}/{$prev_revision}", '<i class="fa fa-arrow-circle-left"></i>');
<div class="infostrip" id="code_folder_mainarea_infostrip">
<?php
print form_open("code/search/{$project->id}/", 'id="code_search_form"');
if (CODEPOT_SIGNIN_FOR_CODE_SEARCH === FALSE || (isset($login['id']) && $login['id'] != ''))
{
print form_hidden('search_folder', set_value('search_folder', $file['fullpath']));
print form_hidden('search_revision', set_value('search_revision', $revision));
print '<i id="code_search_string_icon" class="fa"></i> ';
print form_input(array(
'name' => 'search_string',
'value' => set_value('search_string', ''),
'id' =>'code_search_string',
'placeholder' => $this->lang->line('CODE_SEARCH_STRING')
));
print ' '; print ' ';
print form_checkbox(array( // anchor to the revision history at the root directory
'name' => 'search_invertedly', print anchor (
'id' => 'code_search_invertedly', //"code/revision/{$project->id}/!/{$file['created_rev']}",
'class' => 'code_search_option', "code/revision/{$project->id}/${hex_headpath}/{$file['created_rev']}",
'value' => 'Y', sprintf("%s %s", $this->lang->line('Revision'), $file['created_rev'])
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_INVERTEDLY')
));
print form_label('v', 'code_search_invertedly',
array('class'=>'code_search_option', 'id'=>'code_search_invertedly_label')
); );
print form_checkbox(array( if (!empty($file['created_tag']))
'name' => 'search_case_insensitively', {
'id' => 'code_search_case_insensitively', print ' ';
'class' => 'code_search_option', printf ('<span class="left_arrow_indicator">%s</span>', htmlspecialchars($file['created_tag']));
'value' => 'Y', }
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_CASE_INSENSITIVELY')
));
print form_label('i', 'code_search_case_insensitively',
array('class'=>'code_search_option', 'id'=>'code_search_case_insensitively_label')
);
print form_checkbox(array(
'name' => 'search_recursively',
'id' => 'code_search_recursively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => TRUE,
'title' => $this->lang->line('CODE_SEARCH_RECURSIVELY')
));
print form_label('r', 'code_search_recursively',
array('class'=>'code_search_option', 'id'=>'code_search_recursively_label')
);
print form_checkbox(array(
'name' => 'search_in_name',
'id' => 'code_search_in_name',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_IN_NAME')
));
print form_label('n', 'code_search_in_name',
array('class'=>'code_search_option', 'id'=>'code_search_in_name_label')
);
print form_checkbox(array(
'name' => 'search_is_regex',
'id' => 'code_search_is_regex',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_IS_REGEX')
));
print form_label('x', 'code_search_is_regex',
array('class'=>'code_search_option', 'id'=>'code_search_is_regex_label')
);
print '<a id="code_search_wildcard" href="#"></a>';
print form_hidden('search_wildcard_pattern', set_value('search_wildcard_pattern', $wildcard_pattern));
print ' '; print ' ';
printf ('<a id="code_search_submit" href="#">%s</a>', $this->lang->line('Search')); print anchor ("code/file/{$project->id}/${hex_headpath}/{$next_revision}", '<i class="fa fa-arrow-circle-right"></i>');
print ' | ';
}
print anchor ("code/file/{$project->id}/${hex_headpath}/{$prev_revision}", '<i class="fa fa-arrow-circle-left"></i>');
print ' ';
// anchor to the revision history at the root directory
print anchor (
//"code/revision/{$project->id}/!/{$file['created_rev']}",
"code/revision/{$project->id}/${hex_headpath}/{$file['created_rev']}",
sprintf("%s %s", $this->lang->line('Revision'), $file['created_rev'])
);
if (!empty($file['created_tag']))
{
print ' ';
printf ('<span class="left_arrow_indicator">%s</span>', htmlspecialchars($file['created_tag']));
}
print ' ';
print anchor ("code/file/{$project->id}/${hex_headpath}/{$next_revision}", '<i class="fa fa-arrow-circle-right"></i>');
if ((isset($login['id']) && $login['id'] != '') || $file_count > 0)
{
print ' | ';
if (isset($login['id']) && $login['id'] != '') if (isset($login['id']) && $login['id'] != '')
{ {
print ' ';
printf ('<a id="code_folder_mainarea_new_button" href="#">%s</a>', $this->lang->line('New')); printf ('<a id="code_folder_mainarea_new_button" href="#">%s</a>', $this->lang->line('New'));
printf ('<a id="code_folder_mainarea_delete_button" href="#">%s</a>', $this->lang->line('Delete')); printf ('<a id="code_folder_mainarea_delete_button" href="#">%s</a>', $this->lang->line('Delete'));
printf ('<a id="code_folder_mainarea_rename_button" href="#">%s</a>', $this->lang->line('Rename')); printf ('<a id="code_folder_mainarea_rename_button" href="#">%s</a>', $this->lang->line('Rename'));
} }
if ($file_count > 0) ?>
{ </div>
printf ('<a id="code_folder_mainarea_metadata_button" href="#">%s</a>', $this->lang->line('Metadata')); <div style="clear: both;"></div>
}
}
print form_close();
?>
</div> </div>
<div class="result" id="code_folder_mainarea_result"> <div id='code_folder_metadata' class='collapsible-box'>
<div id='code_folder_metadata_header' class='collapsible-box-header'>
<?php
print '<div class="metadata-committer">';
$user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($file['last_author']));
print "<img src='{$user_icon_url}' class='metadata-committer-icon' />";
print htmlspecialchars ($file['last_author']);
print '</div>';
<div id="code_folder_mainarea_result_loc_by_lang_graph"></div> print '<div class="metadata-menu">';
<div id="code_folder_mainarea_result_loc_by_file_graph"></div> if ($revision > 0 && $revision < $next_revision)
{
$head_revision_text = '<i class="fa fa-exclamation-triangle" style="color:#CC2222"></i> ' . $this->lang->line('Head revision');
print anchor ('#', $head_revision_text, 'id="code_folder_headrev_button"');
}
print anchor ('#', $history_anchor_text, 'id="code_folder_history_button"');
print anchor ('#', $download_anchor_text, 'id="code_folder_download_button"');
print '<a id="code_folder_loc_by_lang_button" href="#">';
print '<i id="code_folder_loc_by_lang_spin" class="fa"></i>LOC-';
print $this->lang->line('Language');
print '</a>';
print '<a id="code_folder_loc_by_file_button" href="#">';
print '<i id="code_folder_loc_by_file_spin" class="fa"></i>LOC-';
print $this->lang->line('File');
print '</a>';
print '<a id="code_folder_search_button" href="#">';
print $this->lang->line('Search');
print '</a>';
print '</div>';
print '<div class="metadata-commit-date">';
printf ('[%s] ', $file['created_rev']);
print strftime ('%Y-%m-%d %H:%M:%S %z', 0 /*$file['time_t']*/);
print '</div>';
?>
<div style='clear: both;'></div>
</div>
<div id='code_folder_metadata_body'>
<div><pre class='pre-wrapped'><?php print htmlspecialchars ($file['logmsg']); ?></pre></div>
<?php
if (array_key_exists('properties', $file) && count($file['properties']) > 0)
{
print '<div><ul id="code_folder_property_list">';
foreach ($file['properties'] as $pn => $pv)
{
print '<li>';
print htmlspecialchars($pn);
if ($pv != '')
{
print ' - ';
print htmlspecialchars($pv);
}
print '</li>';
}
print '</ul></div>';
}
?>
</div>
</div>
<div id="code_folder_graph" class="graph">
<div id="code_folder_result_loc_by_lang_graph"></div>
<div id="code_folder_result_loc_by_file_graph"></div>
</div>
<div class="result" id="code_folder_result">
<div id="code_folder_search" class="infobox">
<?php
print form_open("code/search/{$project->id}/", 'id="code_search_form"');
if (CODEPOT_SIGNIN_FOR_CODE_SEARCH === FALSE || (isset($login['id']) && $login['id'] != ''))
{
print form_hidden('search_folder', set_value('search_folder', $file['fullpath']));
print form_hidden('search_revision', set_value('search_revision', $revision));
print '<i id="code_search_string_icon" class="fa"></i> ';
print form_input(array(
'name' => 'search_string',
'value' => set_value('search_string', ''),
'id' =>'code_search_string',
'placeholder' => $this->lang->line('CODE_SEARCH_STRING')
));
print ' ';
print form_checkbox(array(
'name' => 'search_invertedly',
'id' => 'code_search_invertedly',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_INVERTEDLY')
));
print form_label('v', 'code_search_invertedly',
array('class'=>'code_search_option', 'id'=>'code_search_invertedly_label')
);
print form_checkbox(array(
'name' => 'search_case_insensitively',
'id' => 'code_search_case_insensitively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_CASE_INSENSITIVELY')
));
print form_label('i', 'code_search_case_insensitively',
array('class'=>'code_search_option', 'id'=>'code_search_case_insensitively_label')
);
print form_checkbox(array(
'name' => 'search_recursively',
'id' => 'code_search_recursively',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => TRUE,
'title' => $this->lang->line('CODE_SEARCH_RECURSIVELY')
));
print form_label('r', 'code_search_recursively',
array('class'=>'code_search_option', 'id'=>'code_search_recursively_label')
);
print form_checkbox(array(
'name' => 'search_in_name',
'id' => 'code_search_in_name',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_IN_NAME')
));
print form_label('n', 'code_search_in_name',
array('class'=>'code_search_option', 'id'=>'code_search_in_name_label')
);
print form_checkbox(array(
'name' => 'search_is_regex',
'id' => 'code_search_is_regex',
'class' => 'code_search_option',
'value' => 'Y',
'checked' => FALSE,
'title' => $this->lang->line('CODE_SEARCH_IS_REGEX')
));
print form_label('x', 'code_search_is_regex',
array('class'=>'code_search_option', 'id'=>'code_search_is_regex_label')
);
print '<a id="code_search_wildcard" href="#"></a>';
print form_hidden('search_wildcard_pattern', set_value('search_wildcard_pattern', $wildcard_pattern));
print ' ';
printf ('<a id="code_search_submit" href="#">%s</a>', $this->lang->line('Search'));
}
print form_close();
?>
</div>
<?php <?php
function comp_files ($a, $b) function comp_files ($a, $b)
@ -912,43 +996,13 @@ $this->load->view (
} }
else else
{ {
print '<div class="menu" id="code_folder_mainarea_menu">';
if ($revision > 0 && $revision < $next_revision)
{
$head_revision_text = '<i class="fa fa-exclamation-triangle" style="color:#CC2222"></i> ' . $this->lang->line('Head revision');
print anchor ("code/file/{$project->id}/{$hex_headpath}", $head_revision_text);
print ' | ';
}
$history_anchor_text = '<i class="fa fa-history"></i> ' . $this->lang->line('History');
$download_anchor_text = '<i class="fa fa-download"></i> ' . $this->lang->line('Download');
$diff_anchor_text = '<i class="fa fa-server"></i> ' . $this->lang->line('Difference');
$fulldiff_anchor_text = '<i class="fa fa-tasks"></i> ' . $this->lang->line('Full Difference');
$blame_anchor_text = '<i class="fa fa-bomb"></i> ' . $this->lang->line('Blame');
if ($revision > 0)
{
if ($hex_headpath == '') $revtrailer = $revreqroot;
else $revtrailer = "/{$hex_headpath}{$revreq}";
print anchor ("code/history/{$project->id}{$revtrailer}", $history_anchor_text);
}
else
{
print anchor ("code/history/{$project->id}/{$hex_headpath}", $history_anchor_text);
}
print ' | ';
print anchor ("code/fetch/{$project->id}/${hex_headpath}{$revreq}", $download_anchor_text);
print '</div>';
usort ($file['content'], 'comp_files'); usort ($file['content'], 'comp_files');
print '<table id="code_folder_mainarea_result_table" class="fit-width-result-table">'; print '<table id="code_folder_result_table" class="fit-width-result-table">';
print '<tr class="heading">'; print '<tr class="heading">';
if (isset($login['id']) && $login['id'] != '') if (isset($login['id']) && $login['id'] != '')
{ {
print '<th align="middle"><input type="checkbox" id="code_folder_mainarea_result_table_select_all", "select_all" /><label for="code_folder_mainarea_result_table_select_all"><i class="fa fa-check"></i></label></th>'; print '<th align="middle"><input type="checkbox" id="code_folder_result_table_select_all", "select_all" /><label for="code_folder_result_table_select_all"><i class="fa fa-check"></i></label></th>';
} }
print '<th>' . $this->lang->line('Name') . '</th>'; print '<th>' . $this->lang->line('Name') . '</th>';
print '<th>' . $this->lang->line('Revision') . '</th>'; print '<th>' . $this->lang->line('Revision') . '</th>';
@ -976,7 +1030,7 @@ $this->load->view (
if (isset($login['id']) && $login['id'] != '') if (isset($login['id']) && $login['id'] != '')
{ {
print '<td align="middle">'; print '<td align="middle">';
printf ('<input type="checkbox" name="code_folder_file_%d" value="%s" class="file_selector" id="code_folder_mainarea_result_table_file_selector_%d" />', $rownum, addslashes($f['name']), $rownum); printf ('<input type="checkbox" name="code_folder_file_%d" value="%s" class="file_selector" id="code_folder_result_table_file_selector_%d" />', $rownum, addslashes($f['name']), $rownum);
print '</td>'; print '</td>';
} }
print '<td>'; print '<td>';
@ -1009,7 +1063,7 @@ $this->load->view (
if (isset($login['id']) && $login['id'] != '') if (isset($login['id']) && $login['id'] != '')
{ {
print '<td align="middle">'; print '<td align="middle">';
printf ('<input type="checkbox" name="code_folder_file_%d", value="%s" class="file_selector" id="code_folder_mainarea_result_table_file_selector_%d" />', $rownum, addslashes($f['name']), $rownum); printf ('<input type="checkbox" name="code_folder_file_%d", value="%s" class="file_selector" id="code_folder_result_table_file_selector_%d" />', $rownum, addslashes($f['name']), $rownum);
print '</td>'; print '</td>';
} }
print '<td>'; print '<td>';
@ -1048,77 +1102,21 @@ $this->load->view (
if (strlen($readme_text) > 0) if (strlen($readme_text) > 0)
{ {
print '<div id="code_folder_mainarea_result_readme">'; print '<div id="code_folder_result_readme">';
// the pre division is gone when rendered as a wiki text. // the pre division is gone when rendered as a wiki text.
// so is the pre-wrapped class. so let me put the class // so is the pre-wrapped class. so let me put the class
// regardless of the text type. // regardless of the text type.
print '<pre id="code_folder_mainarea_result_readme_text" class="pre-wrapped">'; print '<pre id="code_folder_result_readme_text" class="pre-wrapped">';
print "\n"; print "\n";
print htmlspecialchars($readme_text); print htmlspecialchars($readme_text);
print "\n"; print "\n";
print '</pre>'; print '</pre>';
print '</div>'; print '</div>';
} }
print '<div id="code_folder_mainarea_result_info" class="infobox">';
print '<div class="title">';
print $this->lang->line('CODE_COMMIT');
print '</div>';
print '<ul>';
print '<li>';
printf ($this->lang->line('CODE_MSG_COMMITTED_BY'), $file['last_author']);
print '</li>';
print '</ul>';
print '<div class="title">';
print $this->lang->line('Message');
print '</div>';
print '<pre id="code_folder_mainarea_result_info_logmsg" class="pre-wrapped">';
print htmlspecialchars ($file['logmsg']);
print '</pre>';
if (array_key_exists('properties', $file) && count($file['properties']) > 0)
{
print '<div class="title">';
print $this->lang->line('CODE_PROPERTIES');
print '</div>';
print '<ul id="code_folder_mainarea_result_info_property_list">';
foreach ($file['properties'] as $pn => $pv)
{
print '<li>';
print htmlspecialchars($pn);
if ($pv != '')
{
print ' - ';
print htmlspecialchars($pv);
}
print '</li>';
}
print '</ul>';
}
print '<div class="title">LOC</div>';
print '<a id="code_folder_mainarea_result_info_loc_by_lang_button" href="#">';
print '<i id="code_folder_mainarea_result_info_loc_by_lang_spin" class="fa"></i>';
print $this->lang->line('Language');
print '</a>';
print ' ';
print '<a id="code_folder_mainarea_result_info_loc_by_file_button" href="#">';
print '<i id="code_folder_mainarea_result_info_loc_by_file_spin" class="fa"></i>';
print $this->lang->line('File');
print '</a>';
print '</div>';
} }
?> ?>
</div> <!-- code_folder_mainarea_result --> </div> <!-- code_folder_result -->
<?php if (isset($login['id']) && $login['id'] != ''): ?> <?php if (isset($login['id']) && $login['id'] != ''): ?>

View File

@ -51,9 +51,9 @@ $this->load->view (
<div class="mainarea" id="code_history_mainarea"> <div class="mainarea" id="code_history_mainarea">
<div class="title-band" id="code_history_mainarea_title_band"> <div class="title-band" id="code_history_title_band">
<div class="title" id="code_history_mainarea_title"> <div class="title">
<?php <?php
if ($revision <= 0) if ($revision <= 0)
{ {
@ -92,11 +92,7 @@ $this->load->view (
<div style="clear: both;"></div> <div style="clear: both;"></div>
</div> </div>
<div class="menu" id="code_history_mainarea_menu"> <div class="graph" id="code_history_mainarea_graph">
</div> <!-- code_history_mainarea_menu -->
<div class="result" id="code_history_mainarea_result">
<?php <?php
$xfullpath = $this->converter->AsciiToHex (($fullpath == '')? '.': $fullpath); $xfullpath = $this->converter->AsciiToHex (($fullpath == '')? '.': $fullpath);
@ -106,8 +102,12 @@ $this->load->view (
$graph_url = codepot_merge_path (site_url(), "/code/graph/commit-share-by-users/{$project->id}/{$xfullpath}{$revreq}"); $graph_url = codepot_merge_path (site_url(), "/code/graph/commit-share-by-users/{$project->id}/{$xfullpath}{$revreq}");
print "<img src='{$graph_url}' />"; print "<img src='{$graph_url}' />";
?> ?>
</div> <!-- code_history_mainarea_graph -->
<table id="code_history_mainarea_result_table" class="full-width-result-table"> <div class="result" id="code_history_result">
<table id="code_history_result_table" class="full-width-result-table">
<tr class='full-width-result-table-header'> <tr class='full-width-result-table-header'>
<th><?php print $this->lang->line('Revision')?></th> <th><?php print $this->lang->line('Revision')?></th>
<th><?php print $this->lang->line('Committer')?></th> <th><?php print $this->lang->line('Committer')?></th>

View File

@ -496,24 +496,24 @@ function render_wiki()
function hide_unneeded_divs() function hide_unneeded_divs()
{ {
// hide the properties division if its table contains no rows // hide the properties division if its table contains no rows
var nrows = $('#code_revision_mainarea_result_properties_table tr').length; var nrows = $('#code_revision_result_properties_table tr').length;
if (nrows <= 0) $('#code_revision_mainarea_result_properties').hide(); if (nrows <= 0) $('#code_revision_result_properties').hide();
} }
$(function() { $(function() {
$("#code_revision_mainarea_result_message").accordion ({ $("#code_revision_result_message").accordion ({
collapsible: true collapsible: true
}); });
$("#code_revision_mainarea_result_files").accordion ({ $("#code_revision_result_files").accordion ({
collapsible: true collapsible: true
}); });
$("#code_revision_mainarea_result_properties").accordion ({ $("#code_revision_result_properties").accordion ({
collapsible: true collapsible: true
}); });
$("#code_revision_mainarea_result_comments").accordion ({ $("#code_revision_result_comments").accordion ({
collapsible: true collapsible: true
}); });
@ -566,8 +566,8 @@ $this->load->view (
$history = $file['history']; $history = $file['history'];
?> ?>
<div class="title-band" id="code_revision_mainarea_title_band"> <div class="title-band" id="code_revision_title_band">
<div class="title" id="code_revision_mainarea_title"> <div class="title">
<?php <?php
print anchor ( print anchor (
"code/revision/{$project->id}{$revreqroot}", "code/revision/{$project->id}{$revreqroot}",
@ -640,10 +640,10 @@ $history = $file['history'];
?> ?>
</div> <!-- code_revision_mainarea_menu --> </div> <!-- code_revision_mainarea_menu -->
<div class="result" id="code_revision_mainarea_result"> <div class="result" id="code_revision_result">
<div id="code_revision_mainarea_result_message" class="collapsible-box"> <div id="code_revision_result_message" class="collapsible-box">
<div id="code_revision_mainarea_result_message_header" class="collapsible-box-header" > <div id="code_revision_result_message_header" class="collapsible-box-header" >
<?php <?php
print '<div class="metadata-committer">'; print '<div class="metadata-committer">';
$user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($history['author'])); $user_icon_url = codepot_merge_path (site_url(), '/user/icon/' . $this->converter->AsciiToHex($history['author']));
@ -673,15 +673,15 @@ $history = $file['history'];
<div style='clear: both'></div> <div style='clear: both'></div>
</div> </div>
<div id="code_revision_mainarea_result_message_body"> <div id="code_revision_result_message_body">
<pre id="code_revision_mainarea_result_message_text" class="pre-wrapped"><?php print htmlspecialchars($history['msg']); ?></pre> <pre id="code_revision_result_message_text" class="pre-wrapped"><?php print htmlspecialchars($history['msg']); ?></pre>
</div> </div>
</div> </div>
<div id="code_revision_mainarea_result_files" class="collapsible-box"> <div id="code_revision_result_files" class="collapsible-box">
<div class="collapsible-box-header"><?php print $this->lang->line('Files')?></div> <div class="collapsible-box-header"><?php print $this->lang->line('Files')?></div>
<div id="code_revision_mainarea_result_files_table_container" class="collapsible-box-panel"> <div id="code_revision_result_files_table_container" class="collapsible-box-panel">
<table id="code_revision_mainarea_result_files_table" class="fit-width-result-table"> <table id="code_revision_result_files_table" class="fit-width-result-table">
<?php <?php
/* /*
print '<tr class="heading">'; print '<tr class="heading">';
@ -722,10 +722,10 @@ $history = $file['history'];
</div> </div>
</div> </div>
<div id="code_revision_mainarea_result_properties" class="collapsible-box"> <div id="code_revision_result_properties" class="collapsible-box">
<div class="collapsible-box-header"><?php print $this->lang->line('CODE_PROPERTIES');?></div> <div class="collapsible-box-header"><?php print $this->lang->line('CODE_PROPERTIES');?></div>
<div id="code_revision_mainarea_result_properties_table_container" class="collapsible-box-panel"> <div id="code_revision_result_properties_table_container" class="collapsible-box-panel">
<table id="code_revision_mainarea_result_properties_table" class="fit-width-result-table"> <table id="code_revision_result_properties_table" class="fit-width-result-table">
<?php <?php
$rowclasses = array ('odd', 'even'); $rowclasses = array ('odd', 'even');
$rowcount = 0; $rowcount = 0;
@ -788,7 +788,7 @@ $history = $file['history'];
</div> </div>
</div> </div>
<div id="code_revision_mainarea_result_comments" class="collapsible-box"> <div id="code_revision_result_comments" class="collapsible-box">
<div class="collapsible-box-header"><?php print $this->lang->line('Comment')?>&nbsp; <div class="collapsible-box-header"><?php print $this->lang->line('Comment')?>&nbsp;
<?php if ($is_loggedin): ?> <?php if ($is_loggedin): ?>
<span class='anchor'> <span class='anchor'>
@ -831,9 +831,9 @@ $history = $file['history'];
} }
?> ?>
</div> <!-- code_revision_mainarea_review_comment --> </div> <!-- code_revision_mainarea_review_comment -->
</div> <!-- code_revision_mainarea_result_comments --> </div> <!-- code_revision_result_comments -->
</div> <!-- code_revision_mainarea_result --> </div> <!-- code_revision_result -->
<?php if ($is_loggedin): ?> <?php if ($is_loggedin): ?>

View File

@ -259,7 +259,7 @@ $this->load->view (
<div class="mainarea" id="file_home_mainarea"> <div class="mainarea" id="file_home_mainarea">
<div class="title-band" id="file_home_mainarea_title_band"> <div class="title-band" id="file_home_title_band">
<div class="title"><?php print $this->lang->line('Files')?></div> <div class="title"><?php print $this->lang->line('Files')?></div>
<div class="actions"> <div class="actions">

View File

@ -594,7 +594,7 @@ $this->load->view (
<div class="mainarea" id="file_show_mainarea"> <div class="mainarea" id="file_show_mainarea">
<div class="title-band" id="file_show_mainarea_title_band"> <div class="title-band" id="file_show_title_band">
<div class="title"><?php print htmlspecialchars($file->name)?></div> <div class="title"><?php print htmlspecialchars($file->name)?></div>
<div class="actions"> <div class="actions">

View File

@ -480,7 +480,7 @@ $this->load->view (
<div class="mainarea" id="graph_main_mainarea"> <div class="mainarea" id="graph_main_mainarea">
<div class="title-band" id="graph_main_mainarea_title_band"> <div class="title-band" id="graph_main_title_band">
<div class="title"><?php print htmlspecialchars($project->name);?></div> <div class="title"><?php print htmlspecialchars($project->name);?></div>
<div class="actions"> <div class="actions">

View File

@ -309,7 +309,7 @@ $this->load->view (
<div class="mainarea" id="issue_home_mainarea"> <div class="mainarea" id="issue_home_mainarea">
<div class="title-band" id="issue_home_mainarea_title_band"> <div class="title-band" id="issue_home_title_band">
<div class="title"><?php print $this->lang->line('Issues')?></div> <div class="title"><?php print $this->lang->line('Issues')?></div>
<div class="actions"> <div class="actions">

View File

@ -713,7 +713,7 @@ $this->load->view (
<div class="mainarea" id="issue_show_mainarea"> <div class="mainarea" id="issue_show_mainarea">
<div class="title-band" id="issue_show_mainarea_title_band"> <div class="title-band" id="issue_show_title_band">
<div class="title"> <div class="title">
<?php print $this->lang->line('Issue')?> <?php print htmlspecialchars($issue->id)?>: <?php print $this->lang->line('Issue')?> <?php print htmlspecialchars($issue->id)?>:
<?php print htmlspecialchars($issue->summary)?> <?php print htmlspecialchars($issue->summary)?>

View File

@ -122,9 +122,9 @@ $this->load->view (
<div class="mainarea" id="log_mainarea"> <div class="mainarea" id="log_mainarea">
<div class="title-band" id="code_blame_mainarea_title_band"> <div class="title-band" id="log_title_band">
<div class="title" id="log_mainarea_title"> <div class="title">
<?php print anchor ("site/log", $this->lang->line ('Change log')) ?> <?php print anchor ("site/log", $this->lang->line ('Change log')) ?>
</div> </div>

View File

@ -51,7 +51,7 @@ $this->load->view (
<div class="mainarea" id="wiki_home_mainarea"> <div class="mainarea" id="wiki_home_mainarea">
<div class="title-band" id="wiki_home_mainarea_title_band"> <div class="title-band" id="wiki_home_title_band">
<div class="title"><?php print $this->lang->line('Wikis');?></div> <div class="title"><?php print $this->lang->line('Wikis');?></div>
<div class="actions"> <div class="actions">

View File

@ -103,7 +103,7 @@ $this->load->view (
<div class="mainarea" id="wiki_show_mainarea"> <div class="mainarea" id="wiki_show_mainarea">
<div class="title-band" id="wiki_show_mainarea_title_band"> <div class="title-band" id="wiki_show_title_band">
<div class="title"><?php print htmlspecialchars($wiki->name)?></div> <div class="title"><?php print htmlspecialchars($wiki->name)?></div>
<div class="actions"> <div class="actions">

View File

@ -1,91 +1,51 @@
/*-----------------------------------------------
* project source folder view
*-----------------------------------------------*/
#code_folder_mainarea_result {
overflow: auto;
position: relative;
}
#code_folder_mainarea_result_table tr {
vertical-align: middle;
}
#code_folder_mainarea_result_table tr.executable {
background-color: #F0FAF0;
}
#code_folder_mainarea_result_readme {
padding: 0.2em 0.2em 0.2em 0.2em;
}
#code_folder_mainarea_result_readme_text {
white-space: pre-wrap;
padding: 0.3em;
line-height: 1.2em;
background-color: #F8F8FA;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
#code_folder_mainarea_result_loc_by_file_graph {
overflow: auto;
}
#code_folder_mainarea_result_loc_by_file_graph circle.node {
cursor: pointer;
stroke: #000;
stroke-width: .5px;
}
#code_folder_mainarea_result_loc_by_file_graph circle.node.directory {
stroke: #9ecae1;
stroke-width: 2px;
}
#code_folder_mainarea_result_loc_by_file_graph circle.node.collapsed {
stroke: #555;
}
#code_folder_mainarea_result_loc_by_file_graph .nodetext {
fill: #252929;
font-weight: bold;
text-shadow: 0 0 0.2em white;
font-size: 0.9em;
}
#code_folder_mainarea_result_loc_by_file_graph line.link {
fill: none;
stroke: #9ecae1;
stroke-width: 1.5px;
}
/*----------------------------------------------- /*-----------------------------------------------
* project source file view * project source file view & blame view
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_file_mainarea_result { #code_folder_result,
#code_file_result,
#code_blame_result,
#code_revision_result,
#code_history_result,
#code_diff_result {
position: relative; position: relative;
overflow: auto;
margin: 0.2em 0 0.2em 0;
} }
#code_file_mainarea_result_code { #code_file_result_code,
line-height: 1.4em; #code_blame_result_code_container {
border: none;
line-height: 1.3em;
} }
#code_file_mainarea_result_info_locgraph { #code_blame_result_code_author {
background: #FEF8F8;
}
#code_blame_result_code ol {
/* pre-wrap can't be used for the actual line number in the blame view.
* because the revision span and the author span floating on the left
* doesn't wrap lines when the code part wraps. so reset it to 'pre' */
white-space: pre;
}
#code_file_result_info_locgraph {
width: 21em; width: 21em;
height: auto; height: auto;
} }
#code_file_mainarea_metadata_header, #code_folder_metadata_header,
#code_blame_mainarea_metadata_header, #code_file_metadata_header,
#code_revision_mainarea_result_message_header { #code_blame_metadata_header,
#code_revision_result_message_header {
line-height: 2em; line-height: 2em;
} }
#code_file_mainarea_metadata_header .metadata-committer-icon, #code_folder_metadata_header .metadata-committer-icon,
#code_blame_mainarea_metadata_header .metadata-committer-icon, #code_file_metadata_header .metadata-committer-icon,
#code_revision_mainarea_result_message_header .metadata-committer-icon { #code_blame_metadata_header .metadata-committer-icon,
#code_revision_result_message_header .metadata-committer-icon {
height: 2em; height: 2em;
width: auto; width: auto;
vertical-align: middle; vertical-align: middle;
@ -96,72 +56,116 @@
border-radius: 3px; border-radius: 3px;
} }
#code_file_mainarea_metadata_header .metadata-committer, #code_folder_metadata_header .metadata-committer,
#code_blame_mainarea_metadata_header .metadata-committer, #code_file_metadata_header .metadata-committer,
#code_revision_mainarea_result_message_header .metadata-committer { #code_blame_metadata_header .metadata-committer,
#code_revision_result_message_header .metadata-committer {
float: left; float: left;
color: #111111; color: #111111;
} }
#code_file_mainarea_metadata_header .metadata-menu, #code_folder_metadata_header .metadata-menu,
#code_blame_mainarea_metadata_header .metadata-menu, #code_file_metadata_header .metadata-menu,
#code_revision_mainarea_result_message_header .metadata-menu { #code_blame_metadata_header .metadata-menu,
#code_revision_result_message_header .metadata-menu {
float: left; float: left;
margin-left: 1em; margin-left: 1em;
} }
#code_file_mainarea_metadata_header .metadata-commit-date, #code_folder_metadata_header .metadata-commit-date,
#code_blame_mainarea_metadata_header .metadata-commit-date, #code_file_metadata_header .metadata-commit-date,
#code_revision_mainarea_result_message_header .metadata-commit-date { #code_blame_metadata_header .metadata-commit-date,
#code_revision_result_message_header .metadata-commit-date {
float: right; float: right;
} }
#code_file_mainarea_metadata_body, #code_folder_metadata_body,
#code_blame_mainarea_metadata_body, #code_file_metadata_body,
#code_revision_mainarea_result_message_body { #code_blame_metadata_body,
#code_revision_result_message_body {
background-color: #FCFCFC; background-color: #FCFCFC;
padding: 0 0.5em 0 0.5em; padding: 0.2em 0.2em 0.2em 0.2em;
margin: 0; margin: 0;
} }
#code_file_mainarea_metadata_body ul, #code_folder_metadata_body ul,
#code_blame_mainarea_metadata_body ul { #code_file_metadata_body ul,
padding: 0; #code_blame_metadata_body ul {
margin: 0 0 0.5em 0; padding: 0 !important;
list-style: outside none none; margin: 0 0 0.5em 0 !important;
list-style: outside none none !important;
} }
#code_file_mainarea_metadata_body ul li, #code_folder_metadata_body ul li,
#code_blame_mainarea_metadata_body ul li { #code_file_metadata_body ul li,
padding: 0.2em 0.2em 0.2em 0.2em; #code_blame_metadata_body ul li {
margin: 0em 0.2em 0.4em 0.2em; padding: 0.2em 0.2em 0.2em 0.2em !important;
float: left; margin: 0em 0.2em 0.4em 0.2em !important;
background-color: #44AD8E; float: left !important;
color: #FFFFFF; background-color: #44AD8E !important;
color: #FFFFFF !important;
} }
/*----------------------------------------------- /*-----------------------------------------------
* project source blame view * project source folder view
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_folder_search {
#code_blame_mainarea_result { padding: 0.2em 0.2em 0.2em 0.2em;
position: relative; /* required for infobox positioning */ }
#code_folder_result_table tr {
vertical-align: middle;
} }
#code_blame_mainarea_result_code_container { #code_folder_result_table tr.executable {
border: none; background-color: #F0FAF0;
line-height: 1.4em;
} }
#code_blame_mainarea_result_code_author { #code_folder_result_readme {
background: #FEF8F8; padding: 0.2em 0.2em 0.2em 0.2em;
} }
#code_blame_mainarea_result_code ol { #code_folder_result_readme_text {
/* pre-wrap can't be used for the actual line number in the blame view. white-space: pre-wrap;
* because the revision span and the author span floating on the left padding: 0.3em;
* doesn't wrap lines when the code part wraps. so reset it to 'pre' */ line-height: 1.2em;
white-space: pre; background-color: #F8F8FA;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
#code_folder_result_loc_by_file_graph {
overflow: auto;
}
#code_folder_result_loc_by_file_graph circle.node {
cursor: pointer;
stroke: #000;
stroke-width: .5px;
}
#code_folder_result_loc_by_file_graph circle.node.directory {
stroke: #9ecae1;
stroke-width: 2px;
}
#code_folder_result_loc_by_file_graph circle.node.collapsed {
stroke: #555;
}
#code_folder_result_loc_by_file_graph .nodetext {
fill: #252929;
font-weight: bold;
text-shadow: 0 0 0.2em white;
font-size: 0.9em;
}
#code_folder_result_loc_by_file_graph line.link {
fill: none;
stroke: #9ecae1;
stroke-width: 1.5px;
} }
/*----------------------------------------------- /*-----------------------------------------------
@ -178,7 +182,7 @@
-o-tab-size: 5; -o-tab-size: 5;
font-size: 1em; font-size: 1em;
line-height: 1.4em; line-height: 1.3em;
position: absolute !important; position: absolute !important;
/*top: 300; /*top: 300;
@ -190,15 +194,7 @@
/*----------------------------------------------- /*-----------------------------------------------
* project source history view * project source history view
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_history_mainarea_result { #code_history_result_table_path_list {
overflow: auto;
}
#code_history_mainarea_result_table {
margin-top: 1em;
}
#code_history_mainarea_result_table_path_list {
/* the list in the 'paths' column */ /* the list in the 'paths' column */
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -206,15 +202,7 @@
white-space: nowrap; white-space: nowrap;
} }
#code_history_mainarea_result_table pre { #code_history_result_table .title {
border: 0;
background-color: inherit;
padding: 0;
margin: 0;
color: #333333;
}
#code_history_mainarea_result_table .title {
font-size: inherit; font-size: inherit;
font-weight: inherit; font-weight: inherit;
font-style: italic; font-style: italic;
@ -222,13 +210,13 @@
background-color: #AABBFF; background-color: #AABBFF;
} }
#code_history_mainarea_result_table td.commit-message-td:hover { #code_history_result_table td.commit-message-td:hover {
background-color: #F0F0F0; background-color: #F0F0F0;
} }
#code_history_mainarea_result_table a.commit-message, #code_history_result_table a.commit-message,
#code_history_mainarea_result_table a.commit-message:visited, #code_history_result_table a.commit-message:visited,
#code_history_mainarea_result_table a.commit-message:focus { #code_history_result_table a.commit-message:focus {
color: inherit; color: inherit;
white-space: pre-wrap; /* css-3 */ white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
@ -240,34 +228,29 @@
/*----------------------------------------------- /*-----------------------------------------------
* project source revision view * project source revision view
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_revision_result .collapsible-box {
#code_revision_mainarea_result {
overflow: auto;
}
#code_revision_mainarea_result .collapsible-box{
margin-bottom: 0.5em; margin-bottom: 0.5em;
} }
#code_revision_mainarea_result_message_text { #code_revision_result_message_text {
line-height: 1.3em; line-height: 1.3em;
padding: 0 0.2em 0 0.2em; padding: 0 0.2em 0 0.2em;
} }
#code_revision_mainarea_result_files_table, #code_revision_result_files_table,
#code_revision_mainarea_result_properties_table { #code_revision_result_properties_table {
padding: 0.5em 0 0.5em 0; padding: 0.5em 0 0.5em 0;
background: inherit; background: inherit;
line-height: 1.5em; line-height: 1.5em;
} }
#code_revision_mainarea_result_files_table td, #code_revision_result_files_table td,
#code_revision_mainarea_result_properties_table td { #code_revision_result_properties_table td {
white-space: nowrap; white-space: nowrap;
} }
#code_revision_mainarea_result_files_table td.M, #code_revision_result_files_table td.M,
#code_revision_mainarea_result_properties_table td.M { #code_revision_result_properties_table td.M {
white-space: nowrap; white-space: nowrap;
background-image:url(images/page_white_edit.png); background-image:url(images/page_white_edit.png);
background-position:2px 50%; background-position:2px 50%;
@ -275,8 +258,8 @@
padding-left: 22px; padding-left: 22px;
} }
#code_revision_mainarea_result_files_table td.D, #code_revision_result_files_table td.D,
#code_revision_mainarea_result_properties_table td.D { #code_revision_result_properties_table td.D {
white-space: nowrap; white-space: nowrap;
background-image:url(images/page_white_delete.png); background-image:url(images/page_white_delete.png);
background-position:2px 50%; background-position:2px 50%;
@ -284,8 +267,8 @@
padding-left: 22px; padding-left: 22px;
} }
#code_revision_mainarea_result_files_table td.A, #code_revision_result_files_table td.A,
#code_revision_mainarea_result_properties_table td.A { #code_revision_result_properties_table td.A {
white-space: nowrap; white-space: nowrap;
background-image:url(images/page_white_add.png); background-image:url(images/page_white_add.png);
background-position:2px 50%; background-position:2px 50%;
@ -293,8 +276,8 @@
padding-left: 22px; padding-left: 22px;
} }
#code_revision_mainarea_result_files_table td.R, #code_revision_result_files_table td.R,
#code_revision_mainarea_result_properties_table td.R { #code_revision_result_properties_table td.R {
white-space: nowrap; white-space: nowrap;
background-image:url(images/page_white_add.png); background-image:url(images/page_white_add.png);
background-position:2px 50%; background-position:2px 50%;
@ -331,33 +314,29 @@
/*----------------------------------------------- /*-----------------------------------------------
* project source diff view * project source diff view
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_diff_mainarea_result { #code_diff_result_table {
overflow: auto;
}
#code_diff_mainarea_result_table {
border: 0; border: 0;
} }
#code_diff_mainarea_result_table tr.diff td pre { #code_diff_result_table tr.diff td pre {
background-color: inherit; background-color: inherit;
border: 0; border: 0;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
#code_diff_mainarea_result_table tr.diff td.diff { #code_diff_result_table tr.diff td.diff {
padding: 0; padding: 0;
padding-left:22px; padding-left:22px;
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_table tr.diff td.diffrow { #code_diff_result_table tr.diff td.diffrow {
font-style: italic; font-style: italic;
font-weight: bold; font-weight: bold;
} }
#code_diff_mainarea_result_table tr.diff td.diffadded { #code_diff_result_table tr.diff td.diffadded {
border:1px solid #cdf0cd; border:1px solid #cdf0cd;
background-color:#ddffdd; background-color:#ddffdd;
background-image:url(images/bullet_add.png); background-image:url(images/bullet_add.png);
@ -368,7 +347,7 @@
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_table tr.diff td.diffdeleted { #code_diff_result_table tr.diff td.diffdeleted {
border:1px solid #e8d4bc; border:1px solid #e8d4bc;
background-color:#f8e4cc; background-color:#f8e4cc;
background-image:url(images/bullet_delete.png); background-image:url(images/bullet_delete.png);
@ -379,7 +358,7 @@
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_table tr.diff td.diffchanged { #code_diff_result_table tr.diff td.diffchanged {
border:1px solid #f0f0bc; border:1px solid #f0f0bc;
background-color:#ffffcc; background-color:#ffffcc;
background-image:url(images/bullet_yellow.png); background-image:url(images/bullet_yellow.png);
@ -390,23 +369,23 @@
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_fulldiffold { #code_diff_result_fulldiffold {
border: none; border: none;
/*padding-left: 10px; /*padding-left: 10px;
background: #F8F8FA;*/ background: #F8F8FA;*/
padding-left: 1px; padding-left: 1px;
line-height: 1.4em; line-height: 1.3em;
} }
#code_diff_mainarea_result_fulldiffnew { #code_diff_result_fulldiffnew {
border: none; border: none;
/*padding-left: 10px;*/ /*padding-left: 10px;*/
background: #FEF8F8; background: #FEF8F8;
padding-left: 1px; padding-left: 1px;
line-height: 1.4em; line-height: 1.3em;
} }
#code_diff_mainarea_result_fullview .navigator { #code_diff_result_fullview .navigator {
padding: 0.5em 0.8em 0.5em 0.8em; padding: 0.5em 0.8em 0.5em 0.8em;
font-weight: bold; font-weight: bold;
text-align: left; text-align: left;
@ -415,7 +394,7 @@
white-space: nowrap; white-space: nowrap;
} }
#code_diff_mainarea_result_fullview .diff { #code_diff_result_fullview .diff {
background-position: 2px 50%; background-position: 2px 50%;
padding: 0; padding: 0;
padding-left:15px; padding-left:15px;
@ -423,7 +402,7 @@
} }
#code_diff_mainarea_result_fullview .diffadded { #code_diff_result_fullview .diffadded {
border:1px solid #cdf0cd; border:1px solid #cdf0cd;
background-color:#ddffdd; background-color:#ddffdd;
background-image:url(images/bullet_add.png); background-image:url(images/bullet_add.png);
@ -435,7 +414,7 @@
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_fullview .diffdeleted { #code_diff_result_fullview .diffdeleted {
border:1px solid #e8d4bc; border:1px solid #e8d4bc;
background-color:#f8e4cc; background-color:#f8e4cc;
background-image:url(images/bullet_delete.png); background-image:url(images/bullet_delete.png);
@ -447,7 +426,7 @@
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_fullview .diffchanged { #code_diff_result_fullview .diffchanged {
border:1px solid #f0f0bc; border:1px solid #f0f0bc;
background-color:#ffffcc; background-color:#ffffcc;
background-image:url(images/bullet_yellow.png); background-image:url(images/bullet_yellow.png);
@ -459,16 +438,16 @@
margin: 0; margin: 0;
} }
#code_diff_mainarea_result_fullview .diffchangedold { #code_diff_result_fullview .diffchangedold {
text-decoration: line-through; text-decoration: line-through;
} }
#code_diff_mainarea_result_fullview .diffchangednew { #code_diff_result_fullview .diffchangednew {
/*background-color:#ffff00;*/ /*background-color:#ffff00;*/
text-decoration: underline; text-decoration: underline;
} }
#code_diff_mainarea_result_fullview .diffrow { #code_diff_result_fullview .diffrow {
font-size: 1.2em; font-size: 1.2em;
padding: 0.2em 0.2em 0.2em 0.2em; padding: 0.2em 0.2em 0.2em 0.2em;
font-weight: bold; font-weight: bold;
@ -478,7 +457,7 @@
/*----------------------------------------------- /*-----------------------------------------------
* project source search view (including folder view) * project source search view (including folder view)
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_search_invertedly_label .ui-button-text, #code_search_invertedly_label .ui-button-text,
#code_search_case_insensitively_label .ui-button-text, #code_search_case_insensitively_label .ui-button-text,
#code_search_recursively_label .ui-button-text, #code_search_recursively_label .ui-button-text,

View File

@ -79,6 +79,8 @@ textarea {
overflow: auto; overflow: auto;
border: none; border: none;
white-space: pre; white-space: pre;
margin: 0;
padding: 0.2em 0.2em 0.2em 0.2em;
tab-size: 5; tab-size: 5;
-moz-tab-size: 5; -moz-tab-size: 5;
@ -732,7 +734,7 @@ textarea {
background: #F0F0F0 none repeat scroll 0 0; background: #F0F0F0 none repeat scroll 0 0;
/*border: #D4DBE8 1px solid; */ /*border: #D4DBE8 1px solid; */
margin: 0.3em 0em 0.5em 0em; margin: 0.2em 0em 0.2em 0em;
padding: 1em 0.5em 1em 0.5em; padding: 1em 0.5em 1em 0.5em;
/*text-align: right;*/ /*text-align: right;*/