added primitive issue management pages.

still far more to be done
This commit is contained in:
hyung-hwan 2010-03-10 13:48:48 +00:00
parent d9121598aa
commit d1420f9c2b
28 changed files with 349 additions and 90 deletions

View File

@ -52,12 +52,12 @@ CREATE TABLE wiki (
CREATE TABLE issue (
projectid VARCHAR(32) NOT NULL,
# id BIGINT NOT NULL AUTO_INCREMENT,
id BIGINT NOT NULL,
summary VARCHAR(255) NOT NULL,
type VARCHAR(32) NOT NULL,
status VARCHAR(32) NOT NULL,
assignedto VARCHAR(255) NOT NULL,
owner VARCHAR(255) NOT NULL,
priority VARCHAR(32) NOT NULL,
description TEXT NOT NULL,
createdon DATETIME,
@ -66,7 +66,8 @@ CREATE TABLE issue (
updatedby VARCHAR(32),
PRIMARY KEY (projectid, id),
UNIQUE KEY issue_id (projectid, summary),
KEY issue_status_type_summary (projectid, status, type, summary),
KEY issue_summary (projectid, summary),
CONSTRAINT issue_projectid FOREIGN KEY (projectid) REFERENCES project(id)
ON DELETE RESTRICT ON UPDATE CASCADE

View File

@ -44,7 +44,8 @@ $db['default']['database'] = CODEPOT_DATABASE_NAME;
$db['default']['dbdriver'] = CODEPOT_DATABASE_DRIVER;
$db['default']['dbprefix'] = CODEPOT_DATABASE_PREFIX;
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = FALSE;
//$db['default']['db_debug'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";

View File

@ -62,7 +62,7 @@ class Issue extends Controller
}
}
function _show_issue ($projectid, $name, $create)
function show ($projectid = '', $id = '')
{
$this->load->model ('ProjectModel', 'projects');
$this->load->model ('IssueModel', 'issues');
@ -72,14 +72,14 @@ class Issue extends Controller
redirect ('main/signin');
$data['login'] = $login;
if ($name == '')
if ($id == '')
{
$data['message'] = 'INVALID PARAMETERS';
$this->load->view ($this->VIEW_ERROR, $data);
return;
}
$name = $this->converter->HexToAscii ($name);
$id = $this->converter->HexToAscii ($id);
$project = $this->projects->get ($projectid);
if ($project === FALSE)
@ -96,7 +96,7 @@ class Issue extends Controller
}
else
{
$issue = $this->issues->get ($login['id'], $project, $name);
$issue = $this->issues->get ($login['id'], $project, $id);
if ($issue === FALSE)
{
$data['message'] = 'DATABASE ERROR';
@ -104,18 +104,10 @@ class Issue extends Controller
}
else if ($issue === NULL)
{
if ($create)
{
redirect ("issue/create/{$projectid}/".
$this->converter->AsciiToHex($name));
}
else
{
$data['message'] =
$this->lang->line('MSG_NO_SUCH_ISSUE') .
" - {$name}";
$this->load->view ($this->VIEW_ERROR, $data);
}
$data['message'] =
$this->lang->line('MSG_NO_SUCH_ISSUE') .
" - {$id}";
$this->load->view ($this->VIEW_ERROR, $data);
}
else
{
@ -126,17 +118,7 @@ class Issue extends Controller
}
}
function show ($projectid = '' , $name = '')
{
$this->_show_issue ($projectid, $name, TRUE);
}
function show_r ($projectid = '' , $name = '')
{
$this->_show_issue ($projectid, $name, FALSE);
}
function _edit_issue ($projectid, $name, $mode)
function _edit_issue ($projectid, $id, $mode)
{
$this->load->helper ('form');
$this->load->library ('form_validation');
@ -147,7 +129,7 @@ class Issue extends Controller
if ($login['id'] == '') redirect ('main');
$data['login'] = $login;
$name = $this->converter->HexToAscii ($name);
$id = $this->converter->HexToAscii ($id);
$project = $this->projects->get ($projectid);
if ($project === FALSE)
@ -173,9 +155,17 @@ class Issue extends Controller
$this->form_validation->set_rules (
'issue_projectid', 'project ID', 'required|alpha_dash|max_length[32]');
$this->form_validation->set_rules (
'issue_name', 'name', 'required|max_length[255]');
'issue_summary', 'summary', 'required|max_length[255]');
$this->form_validation->set_rules (
'issue_text', 'text', 'required');
'issue_status', 'status', 'required');
$this->form_validation->set_rules (
'issue_type', 'type', 'required');
$this->form_validation->set_rules (
'issue_priority', 'priority', 'required');
$this->form_validation->set_rules (
'issue_owner', 'owner', 'required');
$this->form_validation->set_rules (
'issue_description', 'description', 'required');
$this->form_validation->set_error_delimiters (
'<span class="form_field_error">','</span>');
@ -186,15 +176,20 @@ class Issue extends Controller
if ($this->input->post('issue'))
{
$issue->projectid = $this->input->post('issue_projectid');
$issue->name = $this->input->post('issue_name');
$issue->text = $this->input->post('issue_text');
$issue->id = $this->input->post('issue_id');
$issue->summary = $this->input->post('issue_summary');
$issue->description = $this->input->post('issue_description');
$issue->type = $this->input->post('issue_type');
$issue->status = $this->input->post('issue_status');
$issue->priority = $this->input->post('issue_priority');
$issue->owner = $this->input->post('issue_owner');
if ($this->form_validation->run())
{
$result = ($mode == 'update')?
$id = ($mode == 'update')?
$this->issues->update ($login['id'], $issue):
$this->issues->create ($login['id'], $issue);
if ($result === FALSE)
if ($id === FALSE)
{
$data['message'] = 'DATABASE ERROR';
$data['issue'] = $issue;
@ -202,8 +197,8 @@ class Issue extends Controller
}
else
{
redirect ('issue/show/' . $project->id . '/' .
$this->converter->AsciiToHex($issue->name));
redirect ("issue/show/{$project->id}/" .
$this->converter->AsciiToHex((string)$id));
}
}
else
@ -217,7 +212,7 @@ class Issue extends Controller
{
if ($mode == 'update')
{
$issue = $this->issues->get ($login['id'], $project, $name);
$issue = $this->issues->get ($login['id'], $project, $id);
if ($issue === FALSE)
{
$data['message'] = 'DATABASE ERROR';
@ -227,7 +222,7 @@ class Issue extends Controller
{
$data['message'] =
$this->lang->line('MSG_NO_SUCH_ISSUE') .
" - {$name}";
" - {$id}";
$this->load->view ($this->VIEW_ERROR, $data);
}
else
@ -239,8 +234,13 @@ class Issue extends Controller
else
{
$issue->projectid = $projectid;
$issue->name = $name;
$issue->text = '';
$issue->id = $id;
$issue->summary = '';
$issue->type = '';
$issue->status = '';
$issue->owner = '';
$issue->priority = '';
$issue->description = '';
$data['issue'] = $issue;
$this->load->view ($this->VIEW_EDIT, $data);
@ -250,17 +250,17 @@ class Issue extends Controller
}
}
function create ($projectid = '', $name = '')
function create ($projectid = '', $id = '')
{
return $this->_edit_issue ($projectid, $name, 'create');
return $this->_edit_issue ($projectid, $id, 'create');
}
function update ($projectid = '', $name = '')
function update ($projectid = '', $id = '')
{
return $this->_edit_issue ($projectid, $name, 'update');
return $this->_edit_issue ($projectid, $id, 'update');
}
function delete ($projectid = '', $name = '')
function delete ($projectid = '', $id = '')
{
$this->load->helper ('form');
$this->load->library ('form_validation');
@ -271,7 +271,7 @@ class Issue extends Controller
if ($login['id'] == '') redirect ('main');
$data['login'] = $login;
$name = $this->converter->HexToAscii ($name);
$id = $this->converter->HexToAscii ($id);
$project = $this->projects->get ($projectid);
if ($project === FALSE)
@ -303,7 +303,7 @@ class Issue extends Controller
if($this->input->post('issue'))
{
$issue->projectid = $this->input->post('issue_projectid');
$issue->name = $this->input->post('issue_name');
$issue->id = $this->input->post('issue_id');
$data['issue_confirm'] = $this->input->post('issue_confirm');
if ($this->form_validation->run())
@ -325,7 +325,7 @@ class Issue extends Controller
else
{
redirect ("issue/show/{$project->id}/" .
$this->converter->AsciiToHex($issue->name));
$this->converter->AsciiToHex($issue->id));
}
}
else
@ -337,7 +337,7 @@ class Issue extends Controller
}
else
{
$issue = $this->issues->get ($login['id'], $project, $name);
$issue = $this->issues->get ($login['id'], $project, $id);
if ($issue === FALSE)
{
$data['message'] = 'DATABASE ERROR';
@ -347,7 +347,7 @@ class Issue extends Controller
{
$data['message'] =
$this->lang->line('MSG_NO_SUCH_ISSUE') .
" - {$name}";
" - {$id}";
$this->load->view ($this->VIEW_ERROR, $data);
}
else

View File

@ -39,8 +39,10 @@ $lang['Last updated on'] = 'Last updated on';
$lang['Latest projects'] = 'Latest projects';
$lang['Other projects'] = 'Other projects';
$lang['Overview'] = 'Overview';
$lang['Owner'] = 'Owner';
$lang['Password'] = 'Password';
$lang['Path'] = 'Path';
$lang['Priority'] = 'Priority';
$lang['Project'] = 'Project';
$lang['Projects'] = 'Projects';
$lang['Repository'] = 'Repository';
@ -49,11 +51,13 @@ $lang['Sign in'] = 'Sign in';
$lang['Sign out'] = 'Sign out';
$lang['Size'] = 'Size';
$lang['Source'] = 'Source';
$lang['Status'] = 'Status';
$lang['Summary'] = 'Summary';
$lang['System'] = 'System';
$lang['Tag'] = 'Tag';
$lang['Text'] = 'Text';
$lang['Time'] = 'Time';
$lang['Type'] = 'Type';
$lang['Update'] = 'Update';
$lang['Username'] = 'Username';
$lang['Wiki'] = 'Wiki';
@ -69,6 +73,7 @@ $lang['MSG_NO_DIFF'] = 'No difference found';
$lang['MSG_NO_CODE_AVAIL'] = 'No source code available';
$lang['MSG_NO_FILES_AVAIL'] = 'No files available';
$lang['MSG_NO_ISSUES_AVAIL'] = 'No outstanding issues';
$lang['MSG_NO_SUCH_ISSUE'] = 'No such issue';
$lang['MSG_NO_SUCH_PROJECT'] = 'No such project';
$lang['MSG_NO_SUCH_WIKI_PAGE'] = 'No such wiki page';
$lang['MSG_NO_WIKIS_AVAIL'] = 'No wiki pages available';

View File

@ -39,8 +39,10 @@ $lang['Last updated on'] = 'Waktu memperbaharui terakhir';
$lang['Latest projects'] = 'Proyek terakhir';
$lang['Other projects'] = 'Proyek lain';
$lang['Overview'] = 'Ringkasan';
$lang['Owner'] = 'Owner';
$lang['Password'] = 'Kata sandi';
$lang['Path'] = 'Path';
$lang['Priority'] = 'Pirority';
$lang['Project'] = 'Proyek';
$lang['Projects'] = 'Proyek';
$lang['Repository'] = 'Repository';
@ -49,11 +51,13 @@ $lang['Sign in'] = 'Masuk';
$lang['Sign out'] = 'Keluar';
$lang['Size'] = 'Ukuran';
$lang['Source'] = 'Sumber';
$lang['Status'] = 'Status';
$lang['Summary'] = 'Rangkuman';
$lang['System'] = 'Sistem';
$lang['Tag'] = 'Label';
$lang['Text'] = 'Teks';
$lang['Time'] = 'Waktu';
$lang['Type'] = 'Type';
$lang['Update'] = 'Memperbaharui';
$lang['Username'] = 'Nama pemakai';
$lang['Wiki'] = 'Wiki';
@ -68,6 +72,7 @@ $lang['MSG_NO_DIFF'] = 'Tidak ada bedanya';
$lang['MSG_NO_CODE_AVAIL'] = 'Tidak ada kode sumber tersedia';
$lang['MSG_NO_FILES_AVAIL'] = 'Tidak ada file tersedia';
$lang['MSG_NO_ISSUES_AVAIL'] = 'Tidak ada issue';
$lang['MSG_NO_SUCH_ISSUE'] = 'No such issue';
$lang['MSG_NO_SUCH_PROJECT'] = 'No such project';
$lang['MSG_NO_SUCH_WIKI_PAGE'] = 'No such wiki page';
$lang['MSG_NO_WIKIS_AVAIL'] = 'Tidak ada halaman wiki tersedia';

View File

@ -39,8 +39,10 @@ $lang['Last updated on'] = '최종수정시간';
$lang['Latest projects'] = '최근 프로젝트';
$lang['Other projects'] = '다른 프로젝트';
$lang['Overview'] = '개요';
$lang['Owner'] = '소유자';
$lang['Password'] = '패스워드';
$lang['Path'] = '경로';
$lang['Priority'] = '중요도';
$lang['Project'] = '프로젝트';
$lang['Projects'] = '프로젝트';
$lang['Repository'] = '저장소';
@ -48,12 +50,14 @@ $lang['Revision'] = '리비전';
$lang['Sign in'] = '로그인';
$lang['Sign out'] = '로그아웃';
$lang['Size'] = '크기';
$lang['Status'] = '상태';
$lang['Source'] = '소스';
$lang['Summary'] = '요약';
$lang['System'] = '시스템';
$lang['Tag'] = '태그';
$lang['Text'] = '본문';
$lang['Time'] = '시간';
$lang['Type'] = '종류';
$lang['Update'] = '수정';
$lang['Username'] = '사용자명';
$lang['Wiki'] = '위키';
@ -68,6 +72,7 @@ $lang['MSG_NO_DIFF'] = '차이점이 없습니다';
$lang['MSG_NO_CODE_AVAIL'] = '소스코드가 없습니다';
$lang['MSG_NO_FILES_AVAIL'] = '파일이 없습니다';
$lang['MSG_NO_ISSUES_AVAIL'] = '이슈항목이 없습니다';
$lang['MSG_NO_SUCH_ISSUE'] = '이슈항목이 없습니다';
$lang['MSG_NO_SUCH_PROJECT'] = '프로젝트가 없습니다';
$lang['MSG_NO_SUCH_WIKI_PAGE'] = '위키페이지가 없습니다';
$lang['MSG_NO_WIKIS_AVAIL'] = '사용가능한 위키페이지가 없습니다';

View File

@ -37,12 +37,23 @@ class IssueModel extends Model
{
// TODO: check if userid can do this..
$this->db->trans_start ();
$this->db->where ('projectid', $issue->projectid);
$this->db->select ('MAX(id) as maxid');
$query = $this->db->get ('issue');
$result = $query->result();
$maxid = (empty($result) || $result[0] == NULL)? 0: $result[0]->maxid;
$newid = $maxid + 1;
$this->db->set ('projectid', $issue->projectid);
$this->db->set ('id', $newid);
$this->db->set ('summary', $issue->summary);
$this->db->set ('type', $issue->type);
$this->db->set ('status', $issue->status);
$this->db->set ('owner', $issue->owner);
$this->db->set ('priority', $issue->priority);
$this->db->set ('description', $issue->description);
$this->db->set ('assignedto', $issue->assignedto);
$this->db->set ('createdon', date('Y-m-d H:i:s'));
$this->db->set ('updatedon', date('Y-m-d H:i:s'));
$this->db->set ('createdby', $userid);
@ -54,12 +65,13 @@ class IssueModel extends Model
$this->db->set ('action', 'create');
$this->db->set ('projectid', $issue->projectid);
$this->db->set ('userid', $userid);
//$this->db->set ('message', 'LAST_INSERT_ID()');
$this->db->set ('message', 'CONVERT(LAST_INSERT_ID(),CHAR)');
$this->db->set ('message', $newid);
$this->db->insert ('log');
$this->db->trans_complete ();
return $this->db->trans_status();
if ($this->db->trans_status() === FALSE) return FALSE;
return $newid;
}
function update ($userid, $issue)
@ -72,7 +84,8 @@ class IssueModel extends Model
$this->db->set ('type', $issue->type);
$this->db->set ('status', $issue->status);
$this->db->set ('description', $issue->description);
$this->db->set ('assignedto', $issue->assignedto);
$this->db->set ('owner', $issue->owner);
$this->db->set ('priority', $issue->priority);
$this->db->set ('updatedon', date('Y-m-d H:i:s'));
$this->db->set ('updatedby', $userid);
$this->db->update ('issue');
@ -86,7 +99,9 @@ class IssueModel extends Model
$this->db->insert ('log');
$this->db->trans_complete ();
return $this->db->trans_status();
if ($this->db->trans_status() === FALSE) return FALSE;
return $issue->id;
}
function delete ($userid, $issue)

View File

@ -13,8 +13,10 @@ www_DATA = \
file_show.php \
footer.php \
index.html \
issue_delete.php \
issue_edit.php \
issue_home.php \
issue_show.php \
log.php \
login.php \
project_delete.php \

View File

@ -176,8 +176,10 @@ www_DATA = \
file_show.php \
footer.php \
index.html \
issue_delete.php \
issue_edit.php \
issue_home.php \
issue_show.php \
log.php \
login.php \
project_delete.php \

View File

@ -20,11 +20,14 @@
<!---------------------------------------------------------------------------->
<?php
if (!isset($project)) $project = NULL;
if (!isset($site)) $site = NULL;
$this->load->view (
'projectbar',
array (
'site' => NULL,
'project' => NULL,
'site' => $site,
'project' => $project,
'pageid' => '',
'ctxmenuitems' => array ()
)

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" />
<title><title><?=htmlspecialchars($issue->id)?></title></title>
</head>
<body>
<div class="content" id="project_issue_delete_content">
<!---------------------------------------------------------------------------->
<?php $this->load->view ('taskbar'); ?>
<!---------------------------------------------------------------------------->
<?php
$this->load->view (
'projectbar',
array (
'site' => NULL,
'pageid' => 'issue',
'ctxmenuitems' => array ()
)
);
?>
<!---------------------------------------------------------------------------->
<div class="mainarea">
<?php if ($message != "") print '<div id="issue_delete_message" class="form_message">'.htmlspecialchars($message).'</div>'; ?>
<?=form_open("issue/delete/{$project->id}/".$this->converter->AsciiToHex($issue->id))?>
<?=form_fieldset()?>
<div>
<div>
<?=form_checkbox('issue_confirm', 'yes', set_checkbox('issue_confirm', $issue_confirm))?>
<?=$this->lang->line('MSG_SURE_TO_DELETE_THIS')?> - <?=htmlspecialchars($issue->id)?>
<?=form_error('issue_confirm')?>
</div>
</div>
<div>
<?=form_hidden('issue_projectid', set_value('issue_projectid', $issue->projectid))?>
<?=form_hidden('issue_id', set_value('issue_id', $issue->id))?>
</div>
<div>
<?=form_submit('issue', $this->lang->line('Delete'))?>
</div>
<?=form_fieldset_close()?>
<?=form_close();?>
</div> <!-- mainarea -->
<!---------------------------------------------------------------------------->
<?php $this->load->view ('footer'); ?>
<!---------------------------------------------------------------------------->
</div> <!-- project_issue_delete_content -->
</body>
</html>

View File

@ -4,7 +4,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" />
<title><?=htmlspecialchars($issue->name)?></title>
<title><?=htmlspecialchars($issue->id)?></title>
</head>
<body>
@ -18,7 +19,6 @@
<!---------------------------------------------------------------------------->
<?php
$hexname = $this->converter->AsciiToHex ($issue->name);
$this->load->view (
'projectbar',
array (
@ -35,29 +35,79 @@ $this->load->view (
<?php if ($message != "") print '<div id="issue_edit_message" class="form_message">'.htmlspecialchars($message).'</div>'; ?>
<?=form_open("issue/{$mode}/".$project->id.'/'.$this->converter->AsciiToHex($issue->name))?>
<?=form_open("issue/{$mode}/{$project->id}/".$this->converter->AsciiToHex($issue->id))?>
<?=form_fieldset()?>
<div>
<div>
<?=form_label($this->lang->line('Name').': ', 'issue_name')?>
<?=form_error('issue_name');?>
<?=form_label($this->lang->line('ID').': ', 'issue_id')?>
<?=form_error('issue_id');?>
</div>
<div>
<?php
$extra = ($mode == 'update')? 'readonly="readonly"': '';
$extra .= 'maxlength="80" size="40"';
?>
<?=form_input('issue_name', set_value('issue_name', $issue->name), $extra)?>
<?=form_input('issue_id', set_value('issue_id', $issue->id), $extra)?>
</div>
</div>
<div>
<div>
<?=form_label($this->lang->line('Text').': ', 'issue_text')?>
<?=form_error('issue_text');?>
<?=form_label($this->lang->line('Summary').': ', 'issue_summary')?>
<?=form_error('issue_summary');?>
</div>
<div>
<?=form_textarea('issue_text', set_value('issue_text', $issue->text))?>
<?=form_input('issue_summary', set_value('issue_summary', $issue->summary))?>
</div>
</div>
<div>
<div>
<?=form_label($this->lang->line('Description').': ', 'issue_description')?>
<?=form_error('issue_description');?>
</div>
<div>
<?=form_textarea('issue_description', set_value('issue_description', $issue->description), 'id="issue_description"')?>
</div>
</div>
<div>
<div>
<?=form_label($this->lang->line('Type').': ', 'issue_type')?>
<?=form_error('issue_type');?>
</div>
<div>
<?=form_input('issue_type', set_value('issue_type', $issue->type), 'id="issue_type"')?>
</div>
</div>
<div>
<div>
<?=form_label($this->lang->line('Status').': ', 'issue_status')?>
<?=form_error('issue_status');?>
</div>
<div>
<?=form_input('issue_status', set_value('issue_status', $issue->status))?>
</div>
</div>
<div>
<div>
<?=form_label($this->lang->line('Priority').': ', 'issue_priority')?>
<?=form_error('issue_priority');?>
</div>
<div>
<?=form_input('issue_priority', set_value('issue_priority', $issue->priority))?>
</div>
</div>
<div>
<div>
<?=form_label($this->lang->line('Owner').': ', 'issue_owner')?>
<?=form_error('issue_owner');?>
</div>
<div>
<?=form_input('issue_owner', set_value('issue_owner', $issue->owner))?>
</div>
</div>

View File

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" />
<title><?=htmlspecialchars($project->name)?></title>
<title><?=htmlspecialchars($project->id)?></title>
</head>
<body>
@ -46,8 +46,12 @@ else
print '<ul>';
foreach ($issues as $issue)
{
$hexname = $this->converter->AsciiToHex ($issue->name);
print '<li>' . anchor ("issue/show/{$project->id}/{$hexname}", htmlspecialchars($issue->name)) .'</li>';
$hexid = $this->converter->AsciiToHex ($issue->id);
print '<li>';
print anchor ("issue/show/{$project->id}/{$hexid}", htmlspecialchars($issue->id));
print ': ';
print htmlspecialchars($issue->summary);
print '</li>';
}
print '</ul>';
}

View File

@ -0,0 +1,82 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" />
<link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" />
<script type="text/javascript" src="<?=base_url()?>/js/creole.js"></script>
<title><?=htmlspecialchars($issue->id)?></title>
</head>
<script type="text/javascript">
function render_wiki()
{
creole_render_wiki (
"project_issue_show_textpre",
"project_issue_show_textarea",
"<?=site_url()?>/issue/show/<?=$project->id?>/"
);
}
</script>
<body onLoad="render_wiki()">
<div class="content" id="project_issue_show_content">
<!---------------------------------------------------------------------------->
<?php $this->load->view ('taskbar'); ?>
<!---------------------------------------------------------------------------->
<?php
$hexname = $this->converter->AsciiToHex ($issue->id);
$this->load->view (
'projectbar',
array (
'site' => NULL,
'pageid' => 'issue',
'ctxmenuitems' => array (
array ("issue/create/{$project->id}", $this->lang->line('New')),
array ("issue/update/{$project->id}/{$hexname}", $this->lang->line('Edit')),
array ("issue/delete/{$project->id}/{$hexname}", $this->lang->line('Delete'))
)
)
);
?>
<!---------------------------------------------------------------------------->
<div class="mainarea" id="project_issue_show_mainarea">
<div class="title">
<?=$this->lang->line('Issue')?> <?=htmlspecialchars($issue->id)?>:
<?=htmlspecialchars($issue->summary)?>
</div>
<div class="infostrip" id="project_issue_show_mainarea_infostrip">
Reported by <?=htmlspecialchars($issue->createdby)?> on <?=$issue->createdon?> |
<?=$this->lang->line('Status') ?>: <?=htmlspecialchars($issue->status)?> |
<?=$this->lang->line('Type') ?>: <?=htmlspecialchars($issue->type)?>
</div>
<div id="project_issue_show_textarea">
<pre id="project_issue_show_textpre" style="visibility: hidden">
<?php print htmlspecialchars($issue->description); ?>
</pre>
</div> <!-- project_issue_show_textarea -->
</div> <!-- project_issue_show_mainarea -->
<!---------------------------------------------------------------------------->
<?php $this->load->view ('footer'); ?>
<!---------------------------------------------------------------------------->
</div> <!-- project_issue_show_content -->
</body>
</html>

View File

@ -133,6 +133,11 @@ $this->load->view (
$hex = $this->converter->AsciiToHex ($log['message']);
$uri = "/file/show/{$log['projectid']}/{$hex}";
}
else if ($log['type'] == 'issue')
{
$hex = $this->converter->AsciiToHex ($log['message']);
$uri = "/issue/show/{$log['projectid']}/{$hex}";
}
$trimmed = preg_replace("/(.{10}).+/u", "$1…", $log['message']);
if ($uri != '')

View File

@ -147,6 +147,11 @@ $this->load->view (
$hex = $this->converter->AsciiToHex ($log['message']);
$uri = "/file/show/{$log['projectid']}/{$hex}";
}
else if ($log['type'] == 'issue')
{
$hex = $this->converter->AsciiToHex ($log['message']);
$uri = "/issue/show/{$log['projectid']}/{$hex}";
}
$trimmed = preg_replace("/(.{20}).+/u", "$1…", $log['message']);
if ($uri != '')

View File

@ -160,6 +160,11 @@ foreach ($latest_projects as $project)
$hex = $this->converter->AsciiToHex ($log['message']);
$uri = "/file/show/{$log['projectid']}/{$hex}";
}
else if ($log['type'] == 'issue')
{
$hex = $this->converter->AsciiToHex ($log['message']);
$uri = "/issue/show/{$log['projectid']}/{$hex}";
}
$trimmed = preg_replace("/(.{15}).+/u", "$1…", $log['message']);
if ($uri != '')

View File

@ -39,8 +39,10 @@ function show_taskbar ($con, $loginid, $issysadmin)
print '<div class="boxa">';
print anchor ('site/home', $con->lang->line('Home'));
print anchor ('site/projectlist', $con->lang->line('Projects'));
/*
if ($issysadmin)
print anchor ('site/admin', $con->lang->line('System'));
*/
print '</div>';
print '</div>';

View File

@ -18,7 +18,6 @@
<!---------------------------------------------------------------------------->
<?php
$hexname = $this->converter->AsciiToHex ($wiki->name);
$this->load->view (
'projectbar',
array (
@ -35,7 +34,7 @@ $this->load->view (
<?php if ($message != "") print '<div id="wiki_edit_message" class="form_message">'.htmlspecialchars($message).'</div>'; ?>
<?=form_open("wiki/{$mode}/".$project->id.'/'.$this->converter->AsciiToHex($wiki->name))?>
<?=form_open("wiki/{$mode}/{$project->id}/".$this->converter->AsciiToHex($wiki->name))?>
<?=form_fieldset()?>
<div>
<div>

View File

@ -80,12 +80,12 @@ body {
.content .projectbar .ctxmenu {
float: right;
padding-top: 0.1em 0em 0.1em 0em;
padding: 0.1em 0em 0.1em 0em;
}
.content .projectbar .fixedmenu {
float: none;
padding-top: 0.1em 0em 0.1em 0em;
padding: 0.1em 0em 0.1em 0em;
}
.content .projectbar a {
@ -236,7 +236,7 @@ body {
}
.content .mainarea table tr td.code {
white-space: nowarp;
white-space: nowrap;
}
.content .mainarea table tr td.code pre {

View File

@ -14,7 +14,6 @@ www_DATA = \
diff.png \
e-node.png \
exclamation.png \
favicon.ico \
file.png \
filec.png \
filedb.png \
@ -39,8 +38,7 @@ www_DATA = \
textbg.png \
toggledown.png \
toggleup.png \
up.png \
xml.gif
up.png
EXTRA_DIST = $(www_DATA)

View File

@ -177,7 +177,6 @@ www_DATA = \
diff.png \
e-node.png \
exclamation.png \
favicon.ico \
file.png \
filec.png \
filedb.png \
@ -202,8 +201,7 @@ www_DATA = \
textbg.png \
toggledown.png \
toggleup.png \
up.png \
xml.gif
up.png
EXTRA_DIST = $(www_DATA)
all: all-am

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 B

View File

@ -1,7 +1,7 @@
SUBDIRS = prettify
wwwdir=$(WWWDIR)/js
www_DATA = \
www_DATA = \
creole.js
EXTRA_DIST = $(www_DATA)