# added sanity check on user settigs taken from the session/cookie data

# added revision navigator in the code folder view.
# added etag/last-modified to user icon retrieval.
# fixed various css issues
This commit is contained in:
hyung-hwan 2015-04-18 16:09:57 +00:00
parent a382e3979c
commit 1d5a16a1d4
16 changed files with 247 additions and 413 deletions

View File

@ -223,8 +223,8 @@ LICENSE
CodeIgniter 1.7.2 See src/system/license.txt CodeIgniter 1.7.2 See src/system/license.txt
Google code prettify Apache License 2.0 Google code prettify Apache License 2.0
JavaScript Creole 1.0 Wiki Markup Parser See src/js/creole.js JavaScript Creole 1.0 Wiki Markup Parser See src/js/creole.js
jQuery JavaScript Library v1.4.2 See http://jquery.org/license jQuery JavaScript Library v1.11.2 MIT See http://jquery.org/license
jQuery UI 1.8 MIT or GPL jQuery UI 1.9.2 MIT See http://jquery.org/license
PHPGraphLib MIT PHPGraphLib MIT
CLOC 1.62 GPL CLOC 1.62 GPL
Flot https://github.com/flot/flot/blob/master/LICENSE.txt Flot https://github.com/flot/flot/blob/master/LICENSE.txt

View File

@ -199,12 +199,18 @@ class User extends Controller
} }
} }
//
// make sure that these field also exist in the database
// also change the sanity check in LoginModel/getUser()
// if you add/delete fields to the settings object.
//
$settings->code_hide_line_num = $this->input->post('code_hide_line_num'); $settings->code_hide_line_num = $this->input->post('code_hide_line_num');
$settings->code_hide_metadata = $this->input->post('code_hide_metadata'); $settings->code_hide_metadata = $this->input->post('code_hide_metadata');
$settings->icon_name = $icon_fname;
$settings->uploaded_icon_name = $uploaded_fname;
if ($this->users->storeSettings ($login['id'], $settings) === FALSE) /* $uploaded_fname will be renamed to this name in users->storeSettings() */
$settings->icon_name = $icon_fname;
if ($this->users->storeSettings ($login['id'], $settings, $uploaded_fname) === FALSE)
{ {
@unlink (CODEPOT_USERICON_DIR . '/' . $uploaded_fname); @unlink (CODEPOT_USERICON_DIR . '/' . $uploaded_fname);
$data['message'] = 'DATABASE ERROR'; $data['message'] = 'DATABASE ERROR';
@ -249,6 +255,25 @@ class User extends Controller
if ($userid_len > 0) if ($userid_len > 0)
{ {
$icon_path = CODEPOT_USERICON_DIR . '/' . $userid . '.png'; $icon_path = CODEPOT_USERICON_DIR . '/' . $userid . '.png';
$stat = @stat($icon_path);
if ($stat !== FALSE)
{
$etag = sprintf ('%x-%x-%x-%x', $stat['dev'], $stat['ino'], $stat['size'], $stat['mtime']);
$lastmod = gmdate ('D, d M Y H:i:s', $stat['mtime']);
header ('Last-Modified: ' . $lastmod . ' GMT');
header ('Etag: ' . $etag);
if ((isset($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH'] == $etag) ||
(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $stat['mtime']))
{
header('Not Modified', true, 304);
flush ();
return;
}
}
$icon_size = @filesize ($icon_path); $icon_size = @filesize ($icon_path);
if (@file_exists($icon_path) === TRUE && if (@file_exists($icon_path) === TRUE &&
($icon_size = @filesize($icon_path)) !== FALSE && ($icon_size = @filesize($icon_path)) !== FALSE &&

View File

@ -43,6 +43,12 @@ class LoginModel extends Model
{ {
$settings = @unserialize ($settings); $settings = @unserialize ($settings);
if ($settings === FALSE) $settings = NULL; if ($settings === FALSE) $settings = NULL;
// Sanity check on the session/cookie data
// See Controller/User->settings() for required fields.
if (!isset($settings->code_hide_line_num)) $settings->code_hide_line_num = '';
if (!isset($settings->code_hide_metadata)) $settings->code_hide_metadata = '';
if (!isset($settings->icon_name)) $settings->icon_name = '';
} }
} }

View File

@ -33,7 +33,7 @@ class UserModel extends Model
return $result[0]; return $result[0];
} }
function storeSettings ($userid, $settings) function storeSettings ($userid, $settings, $uploaded_icon_name)
{ {
$icon_name_set = strlen($settings->icon_name) > 0; $icon_name_set = strlen($settings->icon_name) > 0;
@ -74,7 +74,7 @@ class UserModel extends Model
if ($icon_name_set) if ($icon_name_set)
{ {
if (@rename (CODEPOT_USERICON_DIR . '/' . $settings->uploaded_icon_name, if (@rename (CODEPOT_USERICON_DIR . '/' . $uploaded_icon_name,
CODEPOT_USERICON_DIR . '/' . $settings->icon_name) === FALSE) CODEPOT_USERICON_DIR . '/' . $settings->icon_name) === FALSE)
{ {
$this->db->trans_rollback (); $this->db->trans_rollback ();

View File

@ -176,7 +176,14 @@ print anchor ("code/fetch/{$project->id}/${xpar}{$revreq}", $this->lang->line('D
<div class="infostrip" id="code_blame_mainarea_infostrip"> <div class="infostrip" id="code_blame_mainarea_infostrip">
<?php <?php
print anchor ("code/blame/{$project->id}/${xpar}/{$file['prev_rev']}", '<<'); print anchor ("code/blame/{$project->id}/${xpar}/{$file['prev_rev']}", '<<');
printf ('%s: %s', $this->lang->line('Revision'), $file['created_rev']); print ' ';
// anchor to the revision history at the root directory
print anchor (
"code/revision/{$project->id}/!/{$file['created_rev']}",
sprintf("%s %s", $this->lang->line('Revision'), $file['created_rev'])
);
if (!empty($file['created_tag'])) if (!empty($file['created_tag']))
{ {
print ' '; print ' ';
@ -184,6 +191,7 @@ print anchor ("code/fetch/{$project->id}/${xpar}{$revreq}", $this->lang->line('D
print htmlspecialchars($file['created_tag']); print htmlspecialchars($file['created_tag']);
print ('</span>'); print ('</span>');
} }
print ' ';
print anchor ("code/blame/{$project->id}/${xpar}/{$file['next_rev']}", '>>'); print anchor ("code/blame/{$project->id}/${xpar}/{$file['next_rev']}", '>>');
print ' | '; print ' | ';
@ -254,7 +262,10 @@ if ($login['settings'] != NULL &&
<div id="code_blame_mainarea_result_info" class="infobox"> <div id="code_blame_mainarea_result_info" class="infobox">
<div class="title"><?php print $this->lang->line('CODE_COMMIT') ?></div> <div class="title"><?php print $this->lang->line('CODE_COMMIT') ?></div>
<?php printf ($this->lang->line('CODE_MSG_COMMITTED_BY_ON'), $file['last_author'], $file['time']); ?> <ul>
<li><?php printf ($this->lang->line('CODE_MSG_COMMITTED_BY_ON'), $file['last_author'], $file['time']); ?></li>
</ul>
<div class="title"><?php print $this->lang->line('Message') ?></div> <div class="title"><?php print $this->lang->line('Message') ?></div>
<pre id="code_blame_mainarea_result_info_logmsg"> <pre id="code_blame_mainarea_result_info_logmsg">

View File

@ -213,7 +213,14 @@ $this->load->view (
<?php <?php
print anchor ("code/file/{$project->id}/${xpar}/{$file['prev_rev']}", '<<'); print anchor ("code/file/{$project->id}/${xpar}/{$file['prev_rev']}", '<<');
printf ('%s: %s', $this->lang->line('Revision'), $file['created_rev']); print ' ';
// anchor to the revision history at the root directory
print anchor (
"code/revision/{$project->id}/!/{$file['created_rev']}",
sprintf("%s %s", $this->lang->line('Revision'), $file['created_rev'])
);
if (!empty($file['created_tag'])) if (!empty($file['created_tag']))
{ {
print ' '; print ' ';
@ -221,6 +228,8 @@ $this->load->view (
print htmlspecialchars($file['created_tag']); print htmlspecialchars($file['created_tag']);
print ('</span>'); print ('</span>');
} }
print ' ';
print anchor ("code/file/{$project->id}/${xpar}/{$file['next_rev']}", '>>'); print anchor ("code/file/{$project->id}/${xpar}/{$file['next_rev']}", '>>');
print ' | '; print ' | ';
@ -229,6 +238,11 @@ $this->load->view (
<a id="code_file_mainarea_metadata_button" href='#'><?php print $this->lang->line('Metadata')?></a> <a id="code_file_mainarea_metadata_button" href='#'><?php print $this->lang->line('Metadata')?></a>
</div> </div>
<div style="display:none">
<pre id="code_file_mainarea_result_raw">
</pre>
</div>
<div class="result" id="code_file_mainarea_result"> <div class="result" id="code_file_mainarea_result">
<?php <?php
@ -278,7 +292,9 @@ if ($login['settings'] != NULL &&
<div id="code_file_mainarea_result_info" class="infobox"> <div id="code_file_mainarea_result_info" class="infobox">
<div class="title"><?php print $this->lang->line('CODE_COMMIT') ?></div> <div class="title"><?php print $this->lang->line('CODE_COMMIT') ?></div>
<?php printf ($this->lang->line('CODE_MSG_COMMITTED_BY_ON'), $file['last_author'], $file['time']); ?> <ul>
<li><?php printf ($this->lang->line('CODE_MSG_COMMITTED_BY_ON'), $file['last_author'], $file['time']); ?></li>
</ul>
<div class="title"><?php print $this->lang->line('Message') ?></div> <div class="title"><?php print $this->lang->line('Message') ?></div>
<pre id="code_file_mainarea_result_info_logmsg"> <pre id="code_file_mainarea_result_info_logmsg">
@ -319,11 +335,6 @@ if (array_key_exists('properties', $file) && count($file['properties']) > 0)
</div> <!-- code_file_mainarea_result_info --> </div> <!-- code_file_mainarea_result_info -->
<div style="display:none">
<pre id="code_file_mainarea_result_raw">
</pre>
</div>
</div> <!-- code_file_mainarea_result --> </div> <!-- code_file_mainarea_result -->
</div> <!-- code_file_mainarea --> </div> <!-- code_file_mainarea -->

View File

@ -30,7 +30,6 @@
<script type="text/javascript" src="<?php print base_url_make('/js/jquery.flot.tickrotor.js')?>"></script> <script type="text/javascript" src="<?php print base_url_make('/js/jquery.flot.tickrotor.js')?>"></script>
<?php <?php
$file_count = count($file['content']); $file_count = count($file['content']);
@ -151,8 +150,8 @@ function render_readme()
creole_render_wiki ( creole_render_wiki (
"code_folder_mainarea_result_readme_text", "code_folder_mainarea_result_readme_text",
"code_folder_mainarea_result_readme", "code_folder_mainarea_result_readme",
"<?php print site_url()?>/wiki/show/<?php print $project->id?>/", codepot_merge_path("<?php print site_url(); ?>", "/wiki/show/<?php print $project->id?>/"),
"<?php print site_url()?>/wiki/attachment0/<?php print $project->id?>/" codepot_merge_path("<?php print site_url(); ?>", "/wiki/attachment0/<?php print $project->id?>/")
); );
prettyPrint(); prettyPrint();
<?php endif; ?> <?php endif; ?>
@ -201,7 +200,9 @@ $(function () {
//setTimeout (show_progress, 1000); //setTimeout (show_progress, 1000);
var ajax_req = $.ajax ({ var ajax_req = $.ajax ({
url: '<?php print site_url()?>/graph/folder_loc_json/<?php print $project->id?>/<?php print $this->converter->AsciiToHex($headpath)?><?php print $revreq?>', url: codepot_merge_path (
"<?php print site_url(); ?>",
"/graph/folder_loc_json/<?php print $project->id; ?>/<?php print $this->converter->AsciiToHex($headpath)?><?php print $revreq?>"),
context: document.body, context: document.body,
success: show_loc_graph success: show_loc_graph
}); });
@ -390,13 +391,25 @@ $this->load->view (
print ' | '; print ' | ';
} }
printf ('%s: %s', $this->lang->line('Revision'), $file['created_rev']); $xpar = $this->converter->AsciiTohex ($headpath);
print anchor ("code/file/{$project->id}/${xpar}/{$prev_revision}", '<<');
print ' ';
// anchor to the revision history at the root directory
print anchor (
"code/revision/{$project->id}/!/{$file['created_rev']}",
sprintf("%s %s", $this->lang->line('Revision'), $file['created_rev'])
);
if (!empty($file['created_tag'])) if (!empty($file['created_tag']))
{ {
print ' '; print ' ';
printf ('<span class="left_arrow_indicator">%s</span>', htmlspecialchars($file['created_tag'])); printf ('<span class="left_arrow_indicator">%s</span>', htmlspecialchars($file['created_tag']));
} }
print ' ';
print anchor ("code/file/{$project->id}/${xpar}/{$next_revision}", '>>');
if ($file_count > 0) if ($file_count > 0)
{ {
print ' | '; print ' | ';
@ -561,7 +574,11 @@ $this->load->view (
print '<div class="title">'; print '<div class="title">';
print $this->lang->line('CODE_COMMIT'); print $this->lang->line('CODE_COMMIT');
print '</div>'; print '</div>';
print '<ul>';
print '<li>';
printf ($this->lang->line('CODE_MSG_COMMITTED_BY'), $file['last_author']); printf ($this->lang->line('CODE_MSG_COMMITTED_BY'), $file['last_author']);
print '</li>';
print '</ul>';
print '<div class="title">'; print '<div class="title">';
print $this->lang->line('Message'); print $this->lang->line('Message');

View File

@ -182,13 +182,6 @@ $(function() {
function render_wiki() function render_wiki()
{ {
creole_render_wiki (
"code_revision_mainarea_result_msg_text",
"code_revision_mainarea_result_msg",
"<?php print site_url()?>/wiki/show/<?php print $project->id?>/",
""
);
<?php <?php
print "for (i = 0; i < $review_count; i++) {\n"; print "for (i = 0; i < $review_count; i++) {\n";
?> ?>
@ -330,7 +323,9 @@ $history = $file['history'];
<div class="infostrip" id="code_revision_mainarea_infostrip"> <div class="infostrip" id="code_revision_mainarea_infostrip">
<?php <?php
print anchor ("code/revision/{$project->id}/${xpar}/{$prev_revision}", '<<'); print anchor ("code/revision/{$project->id}/${xpar}/{$prev_revision}", '<<');
printf ('%s: %s', $this->lang->line('Revision'), $history['rev']); print ' ';
printf ('%s %s', $this->lang->line('Revision'), $history['rev']);
if (!empty($history['tag'])) if (!empty($history['tag']))
{ {
print ' '; print ' ';
@ -338,6 +333,8 @@ $history = $file['history'];
print htmlspecialchars($history['tag']); print htmlspecialchars($history['tag']);
print ('</span>'); print ('</span>');
} }
print ' ';
print anchor ("code/revision/{$project->id}/${xpar}/{$next_revision}", '>>'); print anchor ("code/revision/{$project->id}/${xpar}/{$next_revision}", '>>');
if ($can_edit) if ($can_edit)
@ -369,7 +366,7 @@ $history = $file['history'];
</div> </div>
<div id="code_revision_mainarea_result_msg"> <div id="code_revision_mainarea_result_msg">
<pre id="code_revision_mainarea_result_msg_text" style="visibility: hidden;"> <pre id="code_revision_mainarea_result_msg_text">
<?php print htmlspecialchars($history['msg']); ?> <?php print htmlspecialchars($history['msg']); ?>
</pre> </pre>
</div> </div>

View File

@ -460,8 +460,10 @@ $this->load->view (
<!-- <!--
<div class="sidebar" id="graph_main_sidebar"> <div class="sidebar" id="graph_main_sidebar">
<div class="box"> <div class="collapsible-box">
<ul> <div class="collapsible-box-header">
</div>
<ul class="collapsible-box-list">
<li><?php print $this->lang->line('Created on')?> <?php print $project->createdon?></li> <li><?php print $this->lang->line('Created on')?> <?php print $project->createdon?></li>
<li><?php print $this->lang->line('Created by')?> <?php print $project->createdby?></li> <li><?php print $this->lang->line('Created by')?> <?php print $project->createdby?></li>
<li><?php print $this->lang->line('Last updated on')?> <?php print $project->updatedon?></li> <li><?php print $this->lang->line('Last updated on')?> <?php print $project->updatedon?></li>

View File

@ -51,7 +51,7 @@ function render_project_pages (total, shown, req_offset, req_size)
var num_pages = parseInt((total + req_size - 1) / req_size); var num_pages = parseInt((total + req_size - 1) / req_size);
var page_no = parseInt(req_offset / req_size) + 1; var page_no = parseInt(req_offset / req_size) + 1;
var max_page_buttons = 10; var max_page_buttons = 9;
var page_no_start = page_no, page_no_stop = page_no; var page_no_start = page_no, page_no_stop = page_no;
var button_count = 1; var button_count = 1;
while (button_count < max_page_buttons) while (button_count < max_page_buttons)
@ -97,7 +97,7 @@ function render_project_pages (total, shown, req_offset, req_size)
var b = prepare_page_button (i, req_size); var b = prepare_page_button (i, req_size);
if (i == page_no) b.addClass ("ui-state-active"); if (i == page_no) b.addClass ("ui-state-active");
} }
if (page_no_stop < num_pages) prepare_page_button (num_pages); if (page_no_stop < num_pages) prepare_page_button (num_pages, req_size);
} }
function render_project_list (json) function render_project_list (json)
@ -199,12 +199,13 @@ $this->load->view (
<div class="mainarea" id="project_catalog_mainarea"> <div class="mainarea" id="project_catalog_mainarea">
<div id="project_catalog_mainarea_search_form"> <div id="project_catalog_mainarea_search_form" class="collapsible-box">
<div id="project_catalog_mainarea_search_form_header"> <div id="project_catalog_mainarea_search_form_header" class="collapsible-box-header">
<span><?php print $this->lang->line('Filters'); ?></span> <span><?php print $this->lang->line('Filters'); ?></span>
<span id="project_catalog_mainarea_total_projects_holder"><?php printf ('%s: <span id="project_catalog_mainarea_total_projects">%d</span>', $this->lang->line('PROJECT_LABEL_TOTAL_PROJECTS'), $total_num_projects); ?></span> <span id="project_catalog_mainarea_total_projects_holder"><?php printf ('%s: <span id="project_catalog_mainarea_total_projects">%d</span>', $this->lang->line('PROJECT_LABEL_TOTAL_PROJECTS'), $total_num_projects); ?></span>
</div> </div>
<form id="project_search_form">
<form id="project_search_form" class="collapsible-box-form">
<div id="project_search_form_id_and_name"> <div id="project_search_form_id_and_name">
<?php <?php

View File

@ -107,7 +107,10 @@ $this->load->view (
<div class="sidebar" id="site_home_sidebar"> <div class="sidebar" id="site_home_sidebar">
<div id="site_home_sidebar_latest_projects_box" class="collapsible-box"> <div id="site_home_sidebar_latest_projects_box" class="collapsible-box">
<div id="site_home_sidebar_latest_projects_header" class="collapsible-box-header"><?php print $this->lang->line('Latest projects'); ?></div> <div id="site_home_sidebar_latest_projects_header" class="collapsible-box-header">
<?php print $this->lang->line('Latest projects'); ?>
</div>
<ul id="site_home_sidebar_latest_projects_list" class="collapsible-box-list"> <ul id="site_home_sidebar_latest_projects_list" class="collapsible-box-list">
<?php <?php
foreach ($latest_projects as $project) foreach ($latest_projects as $project)
@ -126,6 +129,7 @@ foreach ($latest_projects as $project)
} }
?> ?>
</ul> </ul>
</div> </div>
<div id="site_home_sidebar_log_box" class="collapsible-box"> <div id="site_home_sidebar_log_box" class="collapsible-box">
@ -272,9 +276,11 @@ foreach ($latest_projects as $project)
<div class="result" id="site_home_mainarea_result"> <div class="result" id="site_home_mainarea_result">
<?php if ($issues && count($issues) > 0): ?> <?php if ($issues && count($issues) > 0): ?>
<div id="site_home_mainarea_result_open_issues"> <div id="site_home_mainarea_result_open_issues" class="collapsible-box">
<div id="site_home_mainarea_result_open_issues_header"><?php print $this->lang->line('Open issues')?></div> <div id="site_home_mainarea_result_open_issues_header" class="collapsible-box-header">
<ul id="site_home_mainarea_result_open_issues_list"> <?php print $this->lang->line('Open issues')?>
</div>
<ul id="site_home_mainarea_result_open_issues_list" class="collapsible-box-list">
<?php <?php
foreach ($issues as $issue) foreach ($issues as $issue)
{ {
@ -301,9 +307,11 @@ foreach ($latest_projects as $project)
<?php endif; ?> <?php endif; ?>
<?php if ($recently_resolved_issues && count($recently_resolved_issues) > 0): ?> <?php if ($recently_resolved_issues && count($recently_resolved_issues) > 0): ?>
<div id="site_home_mainarea_result_resolved_issues"> <div id="site_home_mainarea_result_resolved_issues" class="collapsible-box">
<div id="site_home_mainarea_result_resolved_issues_header"><?php print $this->lang->line('Recently resolved issues')?></div> <div id="site_home_mainarea_result_resolved_issues_header" class="collapsible-box-header">
<ul id="site_home_mainarea_result_resolved_issues_list"> <?php print $this->lang->line('Recently resolved issues')?>
</div>
<ul id="site_home_mainarea_result_resolved_issues_list" class="collapsible-box-list">
<?php <?php
foreach ($recently_resolved_issues as $issue) foreach ($recently_resolved_issues as $issue)
{ {

View File

@ -1,10 +1,6 @@
/*----------------------------------------------- /*-----------------------------------------------
* project source folder view * project source folder view
*-----------------------------------------------*/ *-----------------------------------------------*/
#code_folder_sidebar_info pre {
white-space: pre-wrap;
}
#code_folder_mainarea_result { #code_folder_mainarea_result {
overflow: auto; overflow: auto;
position: relative; position: relative;
@ -15,45 +11,6 @@
white-space: nowrap; white-space: nowrap;
} }
#code_folder_mainarea_result_info {
position: absolute;
top: 5px;
right: 2px;
width: 22em;
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
overflow: auto;
padding: 0.2em 0.4em 0.2em 0.4em;
font-size: 0.9em;
}
#code_folder_mainarea_result_info pre {
overflow: auto;
border: 0;
margin: 0;
background-color: inherit;
white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
padding-left: 0.5em;
font-size: 0.9em;
line-height: 1.2em;
color: #333333;
}
#code_folder_mainarea_result_info .title {
background-color: #8888FF;
color: #FFFFFF;
border: #D4DBE8 1px solid;
margin: 0.3em 0 0.3em 0;
padding: 0.1em 0.1em 0.1em 0.1em;
font-size: inherit;
text-transform: uppercase;
}
#code_folder_mainarea_result_readme { #code_folder_mainarea_result_readme {
padding: 0.2em 0.2em 0.2em 0.2em; padding: 0.2em 0.2em 0.2em 0.2em;
} }
@ -62,6 +19,11 @@
white-space: pre-wrap; white-space: pre-wrap;
padding: 0.3em; padding: 0.3em;
line-height: 1.2em; line-height: 1.2em;
background-color: #F8F8FA;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
} }
/*----------------------------------------------- /*-----------------------------------------------
@ -75,45 +37,6 @@
line-height: 1.4em; line-height: 1.4em;
} }
#code_file_mainarea_result_info {
position: absolute;
top: 5px;
right: 2px;
width: 22em;
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
overflow: auto;
padding: 0.2em 0.4em 0.2em 0.4em;
font-size: 0.9em;
}
#code_file_mainarea_result_info pre {
overflow: auto;
border: 0;
margin: 0;
background-color: inherit;
white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
padding-left: 0.5em;
font-size: 0.9em;
line-height: 1.2em;
color: #333333;
}
#code_file_mainarea_result_info .title {
background-color: #8888FF;
color: #FFFFFF;
border: #D4DBE8 1px solid;
margin: 0.3em 0 0.3em 0;
padding: 0.1em 0.1em 0.1em 0.1em;
font-size: inherit;
text-transform: uppercase;
}
#code_file_mainarea_result_info_locgraph { #code_file_mainarea_result_info_locgraph {
width: 21em; width: 21em;
height: auto; height: auto;
@ -130,45 +53,6 @@
line-height: 1.4em; line-height: 1.4em;
} }
#code_blame_mainarea_result_info {
position: absolute;
top: 5px;
right: 2px;
width: 22em;
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
overflow: auto;
padding: 0.2em 0.4em 0.2em 0.4em;
font-size: 0.9em;
}
#code_blame_mainarea_result_info pre {
overflow: auto;
border: 0;
margin: 0;
background-color: inherit;
white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
padding-left: 0.5em;
font-size: 0.9em;
line-height: 1.2em;
color: #333333;
}
#code_blame_mainarea_result_info .title {
background-color: #8888FF;
color: #FFFFFF;
border: #D4DBE8 1px solid;
margin: 0.3em 0 0.3em 0;
padding: 0.1em 0.1em 0.1em 0.1em;
font-size: inherit;
text-transform: uppercase;
}
/*----------------------------------------------- /*-----------------------------------------------
* project source history view * project source history view
*-----------------------------------------------*/ *-----------------------------------------------*/
@ -220,12 +104,18 @@
} }
#code_revision_mainarea_result_msg { #code_revision_mainarea_result_msg {
border: 0; }
padding: 0;
background-color: inherit; #code_revision_mainarea_result_msg_text {
margin: 0; padding: 0.5em 0.5em 0.5em 0.5em;
margin-bottom: 1em;
white-space: pre-wrap; white-space: pre-wrap;
line-height: 1.2em;
background-color: #F8F8FA;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
} }
#code_revision_mainarea_result_files_table td { #code_revision_mainarea_result_files_table td {
@ -293,16 +183,6 @@
padding-left: 22px; padding-left: 22px;
} }
#code_revision_mainarea_result_sidebar {
/*overflow: auto;*/
}
#code_revision_mainarea_result_sidebar pre {
overflow: auto;
border: 0;
padding: 0;
}
.review_comment_title { .review_comment_title {
padding: 3px 3px 3px 3px; padding: 3px 3px 3px 3px;
margin-top: 5px; margin-top: 5px;
@ -393,15 +273,15 @@
#code_diff_mainarea_result_fulldiffold { #code_diff_mainarea_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.4em;
} }
#code_diff_mainarea_result_fulldiffnew { #code_diff_mainarea_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.4em;
@ -432,7 +312,7 @@
background-color:#ddffdd; background-color:#ddffdd;
background-image:url(images/bullet_add.png); background-image:url(images/bullet_add.png);
background-repeat:no-repeat; background-repeat:no-repeat;
//background-position: 2px 50%; /*background-position: 2px 50%;*/
background-position: 0 50%; background-position: 0 50%;
padding: 0; padding: 0;
padding-left:15px; padding-left:15px;
@ -444,7 +324,7 @@
background-color:#f8e4cc; background-color:#f8e4cc;
background-image:url(images/bullet_delete.png); background-image:url(images/bullet_delete.png);
background-repeat:no-repeat; background-repeat:no-repeat;
//background-position: 2px 50%; /*background-position: 2px 50%;*/
background-position: 0 50%; background-position: 0 50%;
padding: 0; padding: 0;
padding-left:15px; padding-left:15px;
@ -456,7 +336,7 @@
background-color:#ffffcc; background-color:#ffffcc;
background-image:url(images/bullet_yellow.png); background-image:url(images/bullet_yellow.png);
background-repeat:no-repeat; background-repeat:no-repeat;
//background-position: 2px 50%; /*background-position: 2px 50%;*/
background-position: 0 50%; background-position: 0 50%;
padding: 0; padding: 0;
padding-left:15px; padding-left:15px;
@ -468,7 +348,7 @@
} }
#code_diff_mainarea_result_fullview .diffchangednew { #code_diff_mainarea_result_fullview .diffchangednew {
//background-color:#ffff00; /*background-color:#ffff00;*/
text-decoration: underline; text-decoration: underline;
} }
@ -484,68 +364,6 @@
*-----------------------------------------------*/ *-----------------------------------------------*/
/*
label.code_search_option {
display: inline-block;
cursor: pointer;
position: relative;
font-size: 13px;
margin-left: 9px;
margin-right: 9px;
}
label.code_search_option:before {
content:"";
display: inline-block;
width: 16px;
height: 16px;
margin-right: 10px;
position: absolute;
left: 0;
top: 0;
background-color: #aaa;
box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8);
border-radius: 3px;
}
input[type=checkbox].code_search_option {
display: none;
}
input[type=checkbox].code_search_option:checked + label:before {
content:"\2713";
text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
font-size: 15px;
color: #f3f3f3;
text-align: center;
line-height: 15px;
}
#code_search_invertedly:checked + label:before {
content: "v";
}
#code_search_case_insensitively:checked + label:before {
content: "i";
}
#code_search_recursively:checked + label:before {
content: "r";
}
#code_search_is_regex:checked + label:before {
content: "x";
}
#code_folder_search_submit {
margin-left: 0.5em;
}
#code_search_search_submit {
margin-left: 0.5em;
} */
#code_search_invertedly_label .ui-button-text { #code_search_invertedly_label .ui-button-text {
padding-left: 0.5em; padding-left: 0.5em;
padding-right: 0.5em; padding-right: 0.5em;

View File

@ -1,33 +1,17 @@
html {
}
body { body {
padding: 0; padding: 0;
margin: 5px 5px 5px 5px; margin: 4px 4px 4px 4px;
/*margin: 0;*/ /*margin: 0;*/
min-width: 600px;
/* color: #333333; */ /* color: #333333; */
} min-width: 600px;
pre {
font-family: consolas, "Andale Mono", monospace;
overflow: auto;
width: inherit;
border: none;
tab-size: 5;
-moz-tab-size: 5;
-o-tab-size: 5;
}
textarea {
font-family: consolas, "Andale Mono", monospace;
tab-size: 5;
-moz-tab-size: 5;
-o-tab-size: 5;
} }
.content { .content {
font-size: 0.9em; font-size: 0.9em;
font-family: Ubuntu, "Trebuchet MS", sans-serif; font-family: Ubuntu, "Trebuchet MS", Tahoma, Verdana, sans-serif;
} }
.content h1 { .content h1 {
@ -68,6 +52,52 @@ textarea {
color: #4665A2; color: #4665A2;
} }
.content pre {
font-family: consolas, "Andale Mono", monospace;
overflow: auto;
width: inherit;
border: none;
tab-size: 5;
-moz-tab-size: 5;
-o-tab-size: 5;
}
.content textarea {
font-family: consolas, "Andale Mono", monospace;
tab-size: 5;
-moz-tab-size: 5;
-o-tab-size: 5;
}
.content .collapsible-box {
margin: 0;
padding: 0;
}
.content .collapsible-box-header {
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
color: #1C94C4;
font-size: 0.9em;
}
.content .collapsible-box-list {
line-height: 1.5em;
margin: 1px 0 0 0;
}
.content .collapsible-box-table {
border-collapse: collapse;
line-height: 1.5em;
margin: 1px 0 0 0;
}
.content .collapsible-box-form {
line-height: 2em;
margin: 1px 0 0 0;
}
.content .taskbar { .content .taskbar {
font-size: 1em; font-size: 1em;
@ -226,6 +256,10 @@ textarea {
padding: 0.3em 0.5em 0.3em 0.5em; padding: 0.3em 0.5em 0.3em 0.5em;
} }
.content .sidebar .collapsible-box {
margin-bottom: 1em;
}
.content .mainarea .title { .content .mainarea .title {
font-size: 120%; font-size: 120%;
margin-top: 0.2em; margin-top: 0.2em;
@ -263,6 +297,7 @@ textarea {
.content .mainarea .result { .content .mainarea .result {
min-height: 30em; min-height: 30em;
overflow: auto;
} }
.content .mainarea .form_container { .content .mainarea .form_container {
@ -274,10 +309,7 @@ textarea {
} }
.content .mainarea form { .content .mainarea form {
margin: 0; margin-bottom: 0;
}
.content .mainarea form label {
} }
.content .mainarea form input { .content .mainarea form input {
@ -612,77 +644,13 @@ pre.prettyprint li.L9 { background: #eee }
float: right; float: right;
width: 22em; width: 22em;
margin-top: 0.3em; margin-top: 0.3em;
} margin-left: 0.5em;
.content .sidebar .box {
/* box in an sidebar to present actual information */
padding:8px 8px 8px 8px;
margin: 1px 1px 5px 1px;
display:block;
overflow: auto;
/*background: #E5ECF9 none repeat scroll 0 0;*/
background: #EEEEEE none repeat scroll 0 0;
border: #D4DBE8 1px solid;
/* background: #DDDDDD none repeat scroll 0 0;
border: #CCCCCC 1px solid; */
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
/*
-webkit-box-shadow: 0 8px 6px -6px #777;
-moz-box-shadow: 0 8px 6px -6px #777;
box-shadow: 0 8px 6px -6px #777;*/
}
.content .sidebar .boxtitle {
/* title of an infobox */
font-weight:bold;
outline-color:-moz-use-text-color;
outline-style:none;
outline-width:0;
padding: 2px;
vertical-align:baseline;
border:0 none;
color:#FFFFFF;
/*background-color: #7777FF;*/
background-color: #4665A2;
text-transform: uppercase;
}
.content .sidebar .boxtitle a {
text-decoration: none;
color: #FFFFFF;
}
.content .sidebar .boxtitle a:hover {
/*background-color: #BBBBFF;*/
color: #8899CC;
} }
.content .sidebar .collapsible-box { .content .sidebar .collapsible-box {
margin-bottom: 1em; margin-bottom: 0.5em;
padding-left: 0.5em;
} }
.content .sidebar .collapsible-box-header {
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
color: #1C94C4;
}
.content .sidebar .collapsible-box-list {
padding-left: 1.8em;
margin-left: 0;
line-height: 1.5em;
}
.content .sidebar .collapsible-box-table {
line-height: 1.5em;
border-collapse: collapse;
}
.content .sidebar .user_icon_img { .content .sidebar .user_icon_img {
height: 2em; height: 2em;
@ -697,10 +665,12 @@ pre.prettyprint li.L9 { background: #eee }
border-radius: 3px; border-radius: 3px;
} }
/*
.content .sidebar ul { .content .sidebar ul {
margin: 0.2em 0 0.2em 0.5em; margin: 0.2em 0 0.2em 0.5em;
padding: 0.2em 0 0.2em 1em; padding: 0.2em 0 0.2em 1em;
} }
*/
.content .sidebar a { .content .sidebar a {
text-decoration: none; text-decoration: none;
@ -708,22 +678,58 @@ pre.prettyprint li.L9 { background: #eee }
padding-right: .2em; padding-right: .2em;
} }
/*
.content .sidebar table { .content .sidebar table {
font-size: 1em; font-size: 1em;
width: 100%; width: 100%;
margin: 0.2em 0 0.2em 0; margin: 0.2em 0 0.2em 0;
padding: 0.2em 0 0.2em 1em; padding: 0.2em 0 0.2em 1em;
} }
*/
.content .infobox { .content .infobox {
position: absolute;
top: 5px;
right: 2px;
width: 22em;
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
overflow: auto;
padding: 0.2em 0.4em 0.2em 0.4em;
font-size: 0.9em;
-moz-border-radius: 3px; -moz-border-radius: 3px;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
/* color: #333333;
-webkit-box-shadow: 0 8px 6px -6px #777; }
-moz-box-shadow: 0 8px 6px -6px #777;
box-shadow: 0 8px 6px -6px #777;*/ .content .infobox .title {
background: #E0E0E0;
/*background: #E5ECF9 none repeat scroll 0 0;*/
border: none;
color: #1C94C4;
font-size: 0.9em;
padding: 0.5em;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.content .infobox ul {
line-height: 1.5em;
margin: 1px 0 0 0;
padding: 0.5em 1.8em 0.5em 1.8em;
}
.content .infobox pre {
white-space: pre-wrap;
margin: 0;
padding: 0.5em 0.2em 0.5em 0.2em;
} }
.content .footer { .content .footer {

View File

@ -85,14 +85,6 @@
margin-top: 1em; margin-top: 1em;
} }
/*#project_catalog_mainarea_search_form .ui-accordion-header {*/
#project_catalog_mainarea_search_form_header {
/* trying to emulate infostrip with the header of a jquery-ui's accordion widget */
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
color: #1C94C4;
}
#project_catalog_mainarea_search_form form { #project_catalog_mainarea_search_form form {
line-height: 2.5em; line-height: 2.5em;
} }

View File

@ -50,40 +50,6 @@
white-space: pre-wrap; white-space: pre-wrap;
} }
#site_home_mainarea_result_open_issues {
margin-bottom: 1em;
}
#site_home_mainarea_result_open_issues_header {
background: none repeat scroll 0 0 #E5ECF9;
border: 1px solid #D4DBE8;
color: #1C94C4;
font-size: 0.9em;
}
#site_home_mainarea_result_open_issues_list {
margin: 0;
padding-left: 1.8em;
line-height: 1.5em;
}
#site_home_mainarea_result_resolved_issues {
margin-bottom: 1em;
}
#site_home_mainarea_result_resolved_issues_header {
background: none repeat scroll 0 0 #E5ECF9;
border: 1px solid #D4DBE8;
color: #1C94C4;
font-size: 0.9em;
}
#site_home_mainarea_result_resolved_issues_list {
margin: 0;
padding-left: 1.8em;
line-height: 1.5em;
}
/*----------------------------------------------- /*-----------------------------------------------
* site show view * site show view
*-----------------------------------------------*/ *-----------------------------------------------*/

View File

@ -16,32 +16,6 @@
column-gap: 2em; column-gap: 2em;
} }
#wiki_show_mainarea_result_info {
position: absolute;
top: 5px;
right: 2px;
width: 22em;
background: #E5ECF9 none repeat scroll 0 0;
border: #D4DBE8 1px solid;
overflow: auto;
padding: 0.2em 0.4em 0.2em 0.4em;
font-size: 0.9em;
}
#wiki_show_mainarea_result_info ul {
padding-left: 2em;
}
#wiki_show_mainarea_result_info .title {
background-color: #8888FF;
color: #FFFFFF;
border: #D4DBE8 1px solid;
margin: 0.3em 0 0.3em 0;
padding: 0.1em 0.1em 0.1em 0.1em;
font-size: inherit;
text-transform: uppercase;
}
/*--------------------------------------------- /*---------------------------------------------
* wiki edit * wiki edit
*---------------------------------------------*/ *---------------------------------------------*/