issue:17256358 - added issuetracker module
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4484 201d5d3c-b55e-5fd7-737f-ddc643e51545
3
modules/issuetracker/tpl/addition_setup.html
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
{$setup_content}
|
||||
35
modules/issuetracker/tpl/attach_release.html
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_release.xml")-->
|
||||
|
||||
<!--@if($release)-->
|
||||
<form action="{Context::getRequestUri()}" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="release_srl" value="{$release->release_srl}" />
|
||||
<input type="hidden" name="package_srl" value="{$release->package_srl}" />
|
||||
<input type="hidden" name="act" value="procIssuetrackerAdminAttachRelease" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<caption>{$release->title}</caption>
|
||||
<col width="120" />
|
||||
<col width="*" />
|
||||
<tr>
|
||||
<th>{$lang->cmd_attach_file}</th>
|
||||
<td><input type="file" name="file" value="" class="inputTypeTextArea w400" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->description}</th>
|
||||
<td><textarea name="comment" class="inputTypeTextArea w400" />{$relese->description}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" value="{$lang->cmd_registration}" accesskey="s"class="btnSubmit" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
<!--@end-->
|
||||
12
modules/issuetracker/tpl/attached.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<script type="text/javascript">
|
||||
alert("{$msg}");
|
||||
|
||||
var url = current_url.setQuery('act','dispIssuetrackerAdminReleaseSetting');
|
||||
url = url.setQuery('module_srl', '{$module_srl}');
|
||||
url = url.setQuery('module', '{$module}');
|
||||
url = url.setQuery('mid', '{$mid}');
|
||||
url = url.setQuery('release_srl', '{$release_srl}');
|
||||
url = url.setQuery('package_srl', '{$package_srl}');
|
||||
|
||||
location.href = url+"#attach_{$file_srl}";
|
||||
</script>
|
||||
24
modules/issuetracker/tpl/css/issuetracker.css
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
.top1 { clear:both; }
|
||||
.top2 { clear:both; }
|
||||
.projectHalf { width:380px; }
|
||||
.left { float:left; }
|
||||
.right { float:right; }
|
||||
.vtop { vertical-align: top; }
|
||||
.display_date { cursor:pointer; width:80px; float:left; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; height:1em; padding:3px; }
|
||||
.ht30 { height: 30px; }
|
||||
.ht60 { height: 60px; }
|
||||
|
||||
input.btnSubmit { background:url("../images/buttonInsert.gif") no-repeat 3px 2px; line-height:150%; height:23px; padding:2px 3px 2px 18px; border:1px solid; border-color:#d8d8d8 #a6a6a6 #a6a6a6 #d8d8d8; }
|
||||
|
||||
table thead th { text-align:center !important; }
|
||||
table tbody td.button { padding-left:16px; }
|
||||
table tbody td.strike { text-decoration:line-through; }
|
||||
|
||||
td.summaryText div { line-height:20px; padding-left:20px; cursor:pointer;}
|
||||
td.summaryText div.open { background:url("../images/opener.gif") no-repeat left 4px; overflow:visible; }
|
||||
td.summaryText div.close { background:url("../images/closer.gif") no-repeat left 4px; height:20px; overflow:hidden; }
|
||||
|
||||
img.btnDelete { vertical-align:middle; }
|
||||
|
||||
td.filename { background-color:#EFEFEF; }
|
||||
td.filename a { font-weight:bold;}
|
||||
13
modules/issuetracker/tpl/filter/delete_component.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_component" module="issuetracker" act="procIssuetrackerAdminDeleteComponent" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="component_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/delete_file.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_file" module="issuetracker" act="procIssuetrackerAdminDeleteFile" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="file_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeReleaseInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
10
modules/issuetracker/tpl/filter/delete_issuetracker.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<filter name="delete_issuetracker" module="issuetracker" act="procIssuetrackerAdminDeleteIssuetracker">
|
||||
<form>
|
||||
<node target="module_srl" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeDeleteIssuetracker">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/delete_milestone.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_milestone" module="issuetracker" act="procIssuetrackerAdminDeleteMilestone" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="milestone_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/delete_package.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_package" module="issuetracker" act="procIssuetrackerAdminDeletePackage" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="package_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeReleaseInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/delete_priority.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_priority" module="issuetracker" act="procIssuetrackerAdminDeletePriority" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="priority_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/delete_release.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_release" module="issuetracker" act="procIssuetrackerAdminDeleteRelease" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="release_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeReleaseInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/delete_type.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="delete_type" module="issuetracker" act="procIssuetrackerAdminDeleteType" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="target_srl" required="true" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="type_srl" target="target_srl" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/insert_component.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="insert_component" module="issuetracker" act="procIssuetrackerAdminInsertComponent" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="title" required="true" maxlength="255" />
|
||||
</form>
|
||||
<parameter>
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
||||
11
modules/issuetracker/tpl/filter/insert_grant.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<filter name="insert_grant" module="issuetracker" act="procIssuetrackerAdminInsertGrant" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="module_srl" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeInsertGrant">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/insert_milestone.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="insert_milestone" module="issuetracker" act="procIssuetrackerAdminInsertMilestone" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="title" required="true" maxlength="255" />
|
||||
</form>
|
||||
<parameter>
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
||||
11
modules/issuetracker/tpl/filter/insert_package.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<filter name="insert_package" module="issuetracker" act="procIssuetrackerAdminInsertPackage" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="title" required="true" maxlength="255" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeReleaseInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/insert_priority.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="insert_priority" module="issuetracker" act="procIssuetrackerAdminInsertPriority" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="title" required="true" maxlength="255" />
|
||||
</form>
|
||||
<parameter>
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
||||
148
modules/issuetracker/tpl/filter/insert_project.xml
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
<filter name="insert_project" module="issuetracker" act="procIssuetrackerAdminInsertProject" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="mid" required="true" filter="alpha_number" />
|
||||
<node target="browser_title" required="true" maxlength="250" />
|
||||
</form>
|
||||
<parameter>
|
||||
<param name="project_name" target="mid" />
|
||||
<param name="module_srl" target="module_srl" />
|
||||
<param name="module_category_srl" target="module_category_srl" />
|
||||
<param name="layout_srl" target="layout_srl" />
|
||||
<param name="skin" target="skin" />
|
||||
<param name="browser_title" target="browser_title" />
|
||||
<param name="is_default" target="is_default" />
|
||||
<param name="description" target="description" />
|
||||
<param name="admin_id" target="admin_id" />
|
||||
<param name="svn_url" target="svn_url" />
|
||||
<param name="svn_cmd" target="svn_cmd" />
|
||||
<param name="diff_cmd" target="diff_cmd" />
|
||||
<param name="extra_vars_1_name" target="extra_vars_1_name" />
|
||||
<param name="extra_vars_1_type" target="extra_vars_1_type" />
|
||||
<param name="extra_vars_1_is_required" target="extra_vars_1_is_required" />
|
||||
<param name="extra_vars_1_search" target="extra_vars_1_search" />
|
||||
<param name="extra_vars_1_default" target="extra_vars_1_default" />
|
||||
<param name="extra_vars_1_desc" target="extra_vars_1_desc" />
|
||||
<param name="extra_vars_2_name" target="extra_vars_2_name" />
|
||||
<param name="extra_vars_2_type" target="extra_vars_2_type" />
|
||||
<param name="extra_vars_2_is_required" target="extra_vars_2_is_required" />
|
||||
<param name="extra_vars_2_search" target="extra_vars_2_search" />
|
||||
<param name="extra_vars_2_default" target="extra_vars_2_default" />
|
||||
<param name="extra_vars_2_desc" target="extra_vars_2_desc" />
|
||||
<param name="extra_vars_3_name" target="extra_vars_3_name" />
|
||||
<param name="extra_vars_3_type" target="extra_vars_3_type" />
|
||||
<param name="extra_vars_3_is_required" target="extra_vars_3_is_required" />
|
||||
<param name="extra_vars_3_search" target="extra_vars_3_search" />
|
||||
<param name="extra_vars_3_default" target="extra_vars_3_default" />
|
||||
<param name="extra_vars_3_desc" target="extra_vars_3_desc" />
|
||||
<param name="extra_vars_4_name" target="extra_vars_4_name" />
|
||||
<param name="extra_vars_4_type" target="extra_vars_4_type" />
|
||||
<param name="extra_vars_4_is_required" target="extra_vars_4_is_required" />
|
||||
<param name="extra_vars_4_search" target="extra_vars_4_search" />
|
||||
<param name="extra_vars_4_default" target="extra_vars_4_default" />
|
||||
<param name="extra_vars_4_desc" target="extra_vars_4_desc" />
|
||||
<param name="extra_vars_5_name" target="extra_vars_5_name" />
|
||||
<param name="extra_vars_5_type" target="extra_vars_5_type" />
|
||||
<param name="extra_vars_5_is_required" target="extra_vars_5_is_required" />
|
||||
<param name="extra_vars_5_search" target="extra_vars_5_search" />
|
||||
<param name="extra_vars_5_default" target="extra_vars_5_default" />
|
||||
<param name="extra_vars_5_desc" target="extra_vars_5_desc" />
|
||||
<param name="extra_vars_6_name" target="extra_vars_6_name" />
|
||||
<param name="extra_vars_6_type" target="extra_vars_6_type" />
|
||||
<param name="extra_vars_6_is_required" target="extra_vars_6_is_required" />
|
||||
<param name="extra_vars_6_search" target="extra_vars_6_search" />
|
||||
<param name="extra_vars_6_default" target="extra_vars_6_default" />
|
||||
<param name="extra_vars_6_desc" target="extra_vars_6_desc" />
|
||||
<param name="extra_vars_7_name" target="extra_vars_7_name" />
|
||||
<param name="extra_vars_7_type" target="extra_vars_7_type" />
|
||||
<param name="extra_vars_7_is_required" target="extra_vars_7_is_required" />
|
||||
<param name="extra_vars_7_search" target="extra_vars_7_search" />
|
||||
<param name="extra_vars_7_default" target="extra_vars_7_default" />
|
||||
<param name="extra_vars_7_desc" target="extra_vars_7_desc" />
|
||||
<param name="extra_vars_8_name" target="extra_vars_8_name" />
|
||||
<param name="extra_vars_8_type" target="extra_vars_8_type" />
|
||||
<param name="extra_vars_8_is_required" target="extra_vars_8_is_required" />
|
||||
<param name="extra_vars_8_search" target="extra_vars_8_search" />
|
||||
<param name="extra_vars_8_default" target="extra_vars_8_default" />
|
||||
<param name="extra_vars_8_desc" target="extra_vars_8_desc" />
|
||||
<param name="extra_vars_9_name" target="extra_vars_9_name" />
|
||||
<param name="extra_vars_9_type" target="extra_vars_9_type" />
|
||||
<param name="extra_vars_9_is_required" target="extra_vars_9_is_required" />
|
||||
<param name="extra_vars_9_search" target="extra_vars_9_search" />
|
||||
<param name="extra_vars_9_default" target="extra_vars_9_default" />
|
||||
<param name="extra_vars_9_desc" target="extra_vars_9_desc" />
|
||||
<param name="extra_vars_10_name" target="extra_vars_10_name" />
|
||||
<param name="extra_vars_10_type" target="extra_vars_10_type" />
|
||||
<param name="extra_vars_10_is_required" target="extra_vars_10_is_required" />
|
||||
<param name="extra_vars_10_search" target="extra_vars_10_search" />
|
||||
<param name="extra_vars_10_default" target="extra_vars_10_default" />
|
||||
<param name="extra_vars_10_desc" target="extra_vars_10_desc" />
|
||||
<param name="extra_vars_11_name" target="extra_vars_11_name" />
|
||||
<param name="extra_vars_11_type" target="extra_vars_11_type" />
|
||||
<param name="extra_vars_11_is_required" target="extra_vars_11_is_required" />
|
||||
<param name="extra_vars_11_search" target="extra_vars_11_search" />
|
||||
<param name="extra_vars_11_default" target="extra_vars_11_default" />
|
||||
<param name="extra_vars_11_desc" target="extra_vars_11_desc" />
|
||||
<param name="extra_vars_12_name" target="extra_vars_12_name" />
|
||||
<param name="extra_vars_12_type" target="extra_vars_12_type" />
|
||||
<param name="extra_vars_12_is_required" target="extra_vars_12_is_required" />
|
||||
<param name="extra_vars_12_search" target="extra_vars_12_search" />
|
||||
<param name="extra_vars_12_default" target="extra_vars_12_default" />
|
||||
<param name="extra_vars_12_desc" target="extra_vars_12_desc" />
|
||||
<param name="extra_vars_13_name" target="extra_vars_13_name" />
|
||||
<param name="extra_vars_13_type" target="extra_vars_13_type" />
|
||||
<param name="extra_vars_13_is_required" target="extra_vars_13_is_required" />
|
||||
<param name="extra_vars_13_search" target="extra_vars_13_search" />
|
||||
<param name="extra_vars_13_default" target="extra_vars_13_default" />
|
||||
<param name="extra_vars_13_desc" target="extra_vars_13_desc" />
|
||||
<param name="extra_vars_14_name" target="extra_vars_14_name" />
|
||||
<param name="extra_vars_14_type" target="extra_vars_14_type" />
|
||||
<param name="extra_vars_14_is_required" target="extra_vars_14_is_required" />
|
||||
<param name="extra_vars_14_search" target="extra_vars_14_search" />
|
||||
<param name="extra_vars_14_default" target="extra_vars_14_default" />
|
||||
<param name="extra_vars_14_desc" target="extra_vars_14_desc" />
|
||||
<param name="extra_vars_15_name" target="extra_vars_15_name" />
|
||||
<param name="extra_vars_15_type" target="extra_vars_15_type" />
|
||||
<param name="extra_vars_15_is_required" target="extra_vars_15_is_required" />
|
||||
<param name="extra_vars_15_search" target="extra_vars_15_search" />
|
||||
<param name="extra_vars_15_default" target="extra_vars_15_default" />
|
||||
<param name="extra_vars_15_desc" target="extra_vars_15_desc" />
|
||||
<param name="extra_vars_16_name" target="extra_vars_16_name" />
|
||||
<param name="extra_vars_16_type" target="extra_vars_16_type" />
|
||||
<param name="extra_vars_16_is_required" target="extra_vars_16_is_required" />
|
||||
<param name="extra_vars_16_search" target="extra_vars_16_search" />
|
||||
<param name="extra_vars_16_default" target="extra_vars_16_default" />
|
||||
<param name="extra_vars_16_desc" target="extra_vars_16_desc" />
|
||||
<param name="extra_vars_17_name" target="extra_vars_17_name" />
|
||||
<param name="extra_vars_17_type" target="extra_vars_17_type" />
|
||||
<param name="extra_vars_17_is_required" target="extra_vars_17_is_required" />
|
||||
<param name="extra_vars_17_search" target="extra_vars_17_search" />
|
||||
<param name="extra_vars_17_default" target="extra_vars_17_default" />
|
||||
<param name="extra_vars_17_desc" target="extra_vars_17_desc" />
|
||||
<param name="extra_vars_18_name" target="extra_vars_18_name" />
|
||||
<param name="extra_vars_18_type" target="extra_vars_18_type" />
|
||||
<param name="extra_vars_18_is_required" target="extra_vars_18_is_required" />
|
||||
<param name="extra_vars_18_search" target="extra_vars_18_search" />
|
||||
<param name="extra_vars_18_default" target="extra_vars_18_default" />
|
||||
<param name="extra_vars_18_desc" target="extra_vars_18_desc" />
|
||||
<param name="extra_vars_19_name" target="extra_vars_19_name" />
|
||||
<param name="extra_vars_19_type" target="extra_vars_19_type" />
|
||||
<param name="extra_vars_19_is_required" target="extra_vars_19_is_required" />
|
||||
<param name="extra_vars_19_search" target="extra_vars_19_search" />
|
||||
<param name="extra_vars_19_default" target="extra_vars_19_default" />
|
||||
<param name="extra_vars_19_desc" target="extra_vars_19_desc" />
|
||||
<param name="extra_vars_20_name" target="extra_vars_20_name" />
|
||||
<param name="extra_vars_20_type" target="extra_vars_20_type" />
|
||||
<param name="extra_vars_20_is_required" target="extra_vars_20_is_required" />
|
||||
<param name="extra_vars_20_search" target="extra_vars_20_search" />
|
||||
<param name="extra_vars_20_default" target="extra_vars_20_default" />
|
||||
<param name="extra_vars_20_desc" target="extra_vars_20_desc" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertProject">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module" />
|
||||
<tag name="act" />
|
||||
<tag name="page" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/insert_release.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="insert_release" module="issuetracker" act="procIssuetrackerAdminInsertRelease" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="title" required="true" maxlength="255" />
|
||||
<node target="package_srl" required="true" maxlength="255" />
|
||||
<node target="module_srl" required="true" maxlength="255" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeReleaseInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
13
modules/issuetracker/tpl/filter/insert_type.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<filter name="insert_type" module="issuetracker" act="procIssuetrackerAdminInsertType" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="title" required="true" maxlength="255" />
|
||||
</form>
|
||||
<parameter>
|
||||
</parameter>
|
||||
<response callback_func="completeInsertSetting">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
||||
45
modules/issuetracker/tpl/grant_list.html
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<!--#include("./header.html")-->
|
||||
<!--%import("filter/insert_grant.xml")-->
|
||||
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_grant)">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl?$module_srl:$module_srls}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col width="*" />
|
||||
<col width="120" />
|
||||
<col width="120" />
|
||||
<caption>{$lang->about_grant}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->grant}</th>
|
||||
<th scope="col" colspan="3">{$lang->target}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<!--@foreach($grant_list as $key => $val)-->
|
||||
<tr>
|
||||
<th scope="row">{$val->title}</th>
|
||||
<td class="left">
|
||||
<!--@foreach($group_list as $k => $v)-->
|
||||
<div>
|
||||
<input type="checkbox" class="checkbox" name="{$key}" value="{$v->group_srl}" id="grant_{$key}_{$v->group_srl}" <!--@if(is_array($module_info->grants[$key])&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="checked"<!--@end-->/>
|
||||
<label for="grant_{$key}_{$v->group_srl}">{$v->title}</label>
|
||||
</div>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td><a href="#" onclick="doSelectAll(this, '{$key}');return false;" class="blue">{$lang->cmd_select_all}</a></td>
|
||||
<td><a href="#" onclick="doUnSelectAll(this, '{$key}');return false;" class="red">{$lang->cmd_unselect_all}</a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row" colspan="4" class="button">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span>
|
||||
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="history.back(); return false;" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
33
modules/issuetracker/tpl/header.html
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<!--%import("js/issue_admin.js")-->
|
||||
|
||||
<h3>{$lang->issuetracker} {$lang->project}<span class="gray">{$lang->cmd_management}</span></h3>
|
||||
|
||||
<div class="infoText">{nl2br($lang->about_issuetracker)}</div>
|
||||
|
||||
<!--@if($module_info)-->
|
||||
<div class="header4">
|
||||
<!--@if($module_info->mid)-->
|
||||
<h4>{$module_info->mid} <!--@if($module_info->is_default=='Y')--><span class="bracket">({$lang->is_default})</span><!--@end--> <span class="vr">|</span> <a href="{getUrl('','mid',$module_info->mid)}" onclick="window.open(this.href); return false;" class="view">View</a></h4>
|
||||
<!--@end-->
|
||||
|
||||
<ul class="localNavigation">
|
||||
<!--@if($module=='admin')-->
|
||||
|
||||
<li <!--@if($act=='dispIssuetrackerAdminContent')-->class="on"<!--@end-->><a href="{getUrl('act','dispIssuetrackerAdminContent','module_srl','')}">{$lang->cmd_project_list}</a></li>
|
||||
|
||||
<!--@else-->
|
||||
|
||||
<li><a href="{getUrl('act','')}">{$lang->cmd_back}</a></li>
|
||||
|
||||
<!--@end-->
|
||||
|
||||
<li <!--@if($act=='dispIssuetrackerAdminProjectInfo')-->class="on"<!--@end-->><a href="{getUrl('','module_srl',$module_srl,'mid',$mid,'module',$module,'act','dispIssuetrackerAdminProjectInfo')}">{$lang->cmd_view_info}</a></li>
|
||||
<li <!--@if($act=='dispIssuetrackerAdminProjectSetting')-->class="on"<!--@end-->><a href="{getUrl('','module_srl',$module_srl,'mid',$mid,'module',$module,'act','dispIssuetrackerAdminProjectSetting')}">{$lang->cmd_project_setting}</a></li>
|
||||
<li <!--@if($act=='dispIssuetrackerAdminReleaseSetting')-->class="on"<!--@end-->><a href="{getUrl('','module_srl',$module_srl,'mid',$mid,'module',$module,'act','dispIssuetrackerAdminReleaseSetting')}">{$lang->cmd_release_setting}</a></li>
|
||||
<li <!--@if($act=='dispIssuetrackerAdminAdditionSetup')-->class="on"<!--@end-->><a href="{getUrl('','module_srl',$module_srl,'mid',$mid,'module',$module,'act','dispIssuetrackerAdminAdditionSetup')}">{$lang->cmd_addition_setup}</a></li>
|
||||
<li <!--@if($act=='dispIssuetrackerAdminGrantInfo')-->class="on"<!--@end-->><a href="{getUrl('','module_srl',$module_srl,'mid',$mid,'module',$module,'act','dispIssuetrackerAdminGrantInfo')}">{$lang->cmd_manage_grant}</a></li>
|
||||
<li <!--@if($act=='dispIssuetrackerAdminSkinInfo')-->class="on"<!--@end-->><a href="{getUrl('','module_srl',$module_srl,'mid',$mid,'module',$module,'act','dispIssuetrackerAdminSkinInfo')}">{$lang->cmd_manage_skin}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
BIN
modules/issuetracker/tpl/images/btnDelete.gif
Normal file
|
After Width: | Height: | Size: 61 B |
BIN
modules/issuetracker/tpl/images/buttonAttach.gif
Normal file
|
After Width: | Height: | Size: 157 B |
BIN
modules/issuetracker/tpl/images/buttonDeleteX.gif
Normal file
|
After Width: | Height: | Size: 337 B |
BIN
modules/issuetracker/tpl/images/buttonInsert.gif
Normal file
|
After Width: | Height: | Size: 322 B |
BIN
modules/issuetracker/tpl/images/buttonModify.gif
Normal file
|
After Width: | Height: | Size: 336 B |
BIN
modules/issuetracker/tpl/images/closer.gif
Normal file
|
After Width: | Height: | Size: 337 B |
BIN
modules/issuetracker/tpl/images/opener.gif
Normal file
|
After Width: | Height: | Size: 337 B |
92
modules/issuetracker/tpl/index.html
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
<!--#include("./header.html")-->
|
||||
|
||||
<!-- 정보 -->
|
||||
<div class="tableSummaryType1">
|
||||
Total <strong>{number_format($total_count)}</strong>, Page <strong>{number_format($page)}</strong>/{number_format($total_page)}
|
||||
</div>
|
||||
|
||||
<!-- 목록 -->
|
||||
<form action="{Context::getRequestUri()}" method="get" onsubmit="return doChangeCategory(this);" id="fo_list">
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<!--@if($lang_type == 'ko')-->
|
||||
{@ $col_width = array(50,150,0,65,45,45)}
|
||||
<!--@else if($lang_type == 'en')-->
|
||||
{@ $col_width = array(50,150,0,80,45,55)}
|
||||
<!--@else if($lang_type == 'zh-CN')-->
|
||||
{@ $col_width = array(50,150,0,65,45,45)}
|
||||
<!--@else if($lang_type == 'jp')-->
|
||||
{@ $col_width = array(50,150,0,65,45,45)}
|
||||
<!--@else if($lang_type == 'es')-->
|
||||
{@ $col_width = array(50,150,0,80,40,70)}
|
||||
<!--@else if($lang_type == 'ru')-->
|
||||
{@ $col_width = array(50,150,0,90,95,70)}
|
||||
<!--@else if($lang_type == 'fr')-->
|
||||
{@ $col_width = array(50,150,0,75,40,55)}
|
||||
<!--@end-->
|
||||
|
||||
<!--@foreach($col_width as $width)-->
|
||||
<col <!--@if($width)-->width="{$width}" <!--@end-->/>
|
||||
<!--@end-->
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->no}</th>
|
||||
<th scope="col">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
<select name="module_category_srl" class="w100">
|
||||
<option value="">{$lang->module_category}</option>
|
||||
<!--@foreach($module_category as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
<option value="">---------</option>
|
||||
<option value="-1">{$lang->cmd_management}</option>
|
||||
</select>
|
||||
<input type="submit" name="go_button" id="go_button" value="GO" class="buttonTypeGo" />
|
||||
</th>
|
||||
<th scope="col">{$lang->mid} / {$lang->browser_title}</th>
|
||||
<th scope="col">{$lang->regdate}</th>
|
||||
<th scope="col">{$lang->cmd_view}</th>
|
||||
<th scope="col">{$lang->cmd_delete}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($project_list as $no => $val)-->
|
||||
<tr>
|
||||
<td class="tahoma">{$no}</td>
|
||||
<td>
|
||||
<!--@if(!$val->module_category_srl)-->
|
||||
{$lang->not_exists}
|
||||
<!--@else-->
|
||||
{$module_category[$val->module_category_srl]->title}
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td class="left subject">
|
||||
{$val->mid} -
|
||||
<a href="{getUrl('act','dispIssuetrackerAdminProjectInfo','module_srl',$val->module_srl)}" class="blue">{htmlspecialchars($val->browser_title)}</a>
|
||||
</td>
|
||||
<td class="tahoma">{zdate($val->regdate,"Y-m-d")}</td>
|
||||
<td class="green"><a href="{getUrl('','mid',$val->mid)}" onclick="window.open(this.href); return false;">{$lang->cmd_view}</a></td>
|
||||
<td class="red"><!--@if($val->is_default!='Y')--><a href="{getUrl('act','dispIssuetrackerAdminDeleteIssuetracker','module_srl', $val->module_srl)}">{$lang->cmd_delete}</a><!--@else--> <!--@end--></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<!-- 버튼 -->
|
||||
<div class="fr gap1">
|
||||
<a href="{getUrl('act','dispIssuetrackerAdminInsertProject','module_srl','')}" class="button"><span>{$lang->cmd_make}</span></a>
|
||||
</div>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div class="pageNavigation">
|
||||
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="../../admin/tpl/images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
<span class="current">{$page_no}</span>
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="../../admin/tpl/images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
|
||||
</div>
|
||||
32
modules/issuetracker/tpl/issuetracker_delete.html
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<!--%import("filter/delete_issuetracker.xml")-->
|
||||
<!--%import("js/issuetracker_admin.js")-->
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<form action="{Context::getRequestUri()}" method="get" onsubmit="return procFilter(this, delete_issuetracker)">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<caption>{$lang->confirm_delete}</caption>
|
||||
<tr>
|
||||
<th scope="row">{$lang->module_name}</th>
|
||||
<td>{$module_info->mid}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->module}</th>
|
||||
<td>{$module_info->module}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->document_count}</th>
|
||||
<td>{$module_info->document_count}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="tRight gap1">
|
||||
<a href="{getUrl('act','dispIssuetrackerAdminContent')}" class="button"><span>{$lang->cmd_back}</span></a>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_delete}" /></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
327
modules/issuetracker/tpl/js/issue_admin.js
Normal file
|
|
@ -0,0 +1,327 @@
|
|||
/**
|
||||
* @file modules/board/js/board_admin.js
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief board 모듈의 관리자용 javascript
|
||||
**/
|
||||
|
||||
/* 모듈 생성 후 */
|
||||
function completeInsertProject(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
|
||||
var page = ret_obj['page'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
|
||||
alert(message);
|
||||
|
||||
var url = current_url.setQuery('act','dispIssuetrackerAdminProjectInfo');
|
||||
if(module_srl) url = url.setQuery('module_srl',module_srl);
|
||||
if(page) url.setQuery('page',page);
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
function deleteByFilter(target_srl, filter)
|
||||
{
|
||||
var e = xGetElementById('target_srl');
|
||||
e.value= target_srl;
|
||||
var hF = xGetElementById("deleteForm");
|
||||
procFilter(hF, filter);
|
||||
}
|
||||
|
||||
function completeInsertSetting(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
var url = current_url.setQuery('act','dispIssuetrackerAdminProjectSetting');
|
||||
if(module_srl) url = url.setQuery('module_srl',module_srl);
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
|
||||
function completeReleaseInsertSetting(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var url = current_url.setQuery('act','dispIssuetrackerAdminReleaseSetting');
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 모듈 삭제 후 */
|
||||
function completeDeleteIssuetracker(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var page = ret_obj['page'];
|
||||
alert(message);
|
||||
|
||||
var url = current_url.setQuery('act','dispIssuetrackerAdminContent').setQuery('module_srl','');
|
||||
if(page) url = url.setQuery('page',page);
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
/* 카테고리 관련 작업들 */
|
||||
function doUpdateCategory(category_srl, mode, message) {
|
||||
if(typeof(message)!='undefined'&&!confirm(message)) return;
|
||||
|
||||
var fo_obj = xGetElementById('fo_category_info');
|
||||
fo_obj.category_srl.value = category_srl;
|
||||
fo_obj.mode.value = mode;
|
||||
|
||||
procFilter(fo_obj, update_category);
|
||||
}
|
||||
|
||||
/* 카테고리 정보 수정 후 */
|
||||
function completeUpdateCategory(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
var page = ret_obj['page'];
|
||||
alert(message);
|
||||
|
||||
var url = current_url.setQuery('module_srl',module_srl).setQuery('act','dispIssuetrackerAdminCategoryInfo');
|
||||
if(page) url.setQuery('page',page);
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
/* 권한 관련 */
|
||||
function doSelectAll(obj, key) {
|
||||
var fo_obj = obj.parentNode;
|
||||
while(fo_obj.nodeName != 'FORM') {
|
||||
fo_obj = fo_obj.parentNode;
|
||||
}
|
||||
|
||||
for(var i=0;i<fo_obj.length;i++) {
|
||||
var tobj = fo_obj[i];
|
||||
if(tobj.name == key) tobj.checked=true;
|
||||
}
|
||||
}
|
||||
|
||||
function doUnSelectAll(obj, key) {
|
||||
var fo_obj = obj.parentNode;
|
||||
while(fo_obj.nodeName != 'FORM') {
|
||||
fo_obj = fo_obj.parentNode;
|
||||
}
|
||||
|
||||
for(var i=0;i<fo_obj.length;i++) {
|
||||
var tobj = fo_obj[i];
|
||||
if(tobj.name == key) tobj.checked = false;
|
||||
}
|
||||
}
|
||||
|
||||
function completeInsertGrant(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var page = ret_obj['page'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
|
||||
alert(message);
|
||||
}
|
||||
|
||||
/* 카테고리 이동 */
|
||||
function doChangeCategory(fo_obj) {
|
||||
var module_category_srl = fo_obj.module_category_srl.options[fo_obj.module_category_srl.selectedIndex].value;
|
||||
if(module_category_srl==-1) {
|
||||
location.href = current_url.setQuery('act','dispModuleAdminCategory');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/* 일괄 설정 */
|
||||
function doCartSetup(act_type) {
|
||||
var fo_obj = xGetElementById('fo_list');
|
||||
var module_srl = new Array();
|
||||
if(typeof(fo_obj.cart.length)=='undefined') {
|
||||
if(fo_obj.cart.checked) module_srl[module_srl.length] = fo_obj.cart.value;
|
||||
} else {
|
||||
for(var i=0;i<fo_obj.cart.length;i++) {
|
||||
if(fo_obj.cart[i].checked) module_srl[module_srl.length] = fo_obj.cart[i].value;
|
||||
}
|
||||
}
|
||||
if(module_srl.length<1) return;
|
||||
|
||||
var url = current_url.setQuery('act',act_type).setQuery('module_srl','').setQuery('module_srls',module_srl.join(','));
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 관리
|
||||
**/
|
||||
|
||||
/* 빈 카테고리 아이템 추가 */
|
||||
function doInsertCategory(parent_srl) {
|
||||
if(typeof(parent_srl)=='undefined') parent_srl = 0;
|
||||
var params = {node_srl:0, parent_srl:parent_srl}
|
||||
doGetCategoryInfo(null, params);
|
||||
deSelectNode();
|
||||
}
|
||||
|
||||
/* 카테고리 클릭시 적용할 함수 */
|
||||
function doGetCategoryInfo(category_id, obj) {
|
||||
// category, category_id, node_srl을 추출
|
||||
var fo_obj = xGetElementById("fo_category");
|
||||
var module_srl = fo_obj.module_srl.value;
|
||||
var node_srl = 0;
|
||||
var parent_srl = 0;
|
||||
|
||||
if(typeof(obj)!="undefined") {
|
||||
if(typeof(obj.getAttribute)!="undefined") {
|
||||
node_srl = obj.getAttribute("node_srl");
|
||||
} else {
|
||||
node_srl = obj.node_srl;
|
||||
parent_srl = obj.parent_srl;
|
||||
}
|
||||
}
|
||||
|
||||
var params = new Array();
|
||||
params["category_srl"] = node_srl;
|
||||
params["parent_srl"] = parent_srl;
|
||||
params["module_srl"] = module_srl;
|
||||
|
||||
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
|
||||
var response_tags = new Array('error','message','tpl');
|
||||
exec_xml('board', 'getIssuetrackerAdminCategoryTplInfo', params, completeGetCategoryTplInfo, response_tags, params);
|
||||
}
|
||||
|
||||
/* 서버로부터 받아온 카테고리 정보를 출력 */
|
||||
xAddEventListener(document,'mousedown',checkMousePosition);
|
||||
var _xPos = 0;
|
||||
var _yPos = 0;
|
||||
function checkMousePosition(e) {
|
||||
var evt = new xEvent(e);
|
||||
_xPos = evt.pageX;
|
||||
_yPos = evt.pageY;
|
||||
}
|
||||
|
||||
function hideCategoryInfo() {
|
||||
var obj = xGetElementById('category_info');
|
||||
obj.style.display = "none";
|
||||
}
|
||||
|
||||
function completeGetCategoryTplInfo(ret_obj, response_tags) {
|
||||
var obj = xGetElementById('category_info');
|
||||
if(xScrollTop()>200) {
|
||||
obj.style.marginTop = ( xScrollTop() - 210 )+'px';
|
||||
} else {
|
||||
obj.style.marginTop = '0px';
|
||||
}
|
||||
|
||||
var tpl = ret_obj['tpl'];
|
||||
xInnerHtml(obj, tpl);
|
||||
obj.style.display = 'block';
|
||||
|
||||
var fo_obj = xGetElementById("fo_category");
|
||||
fo_obj.category_title.focus();
|
||||
}
|
||||
|
||||
/* 카테고리 아이템 입력후 */
|
||||
function completeInsertCategory(ret_obj) {
|
||||
var xml_file = ret_obj['xml_file'];
|
||||
var category_srl = ret_obj['category_srl'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
var parent_srl = ret_obj['parent_srl'];
|
||||
|
||||
if(!xml_file) return;
|
||||
|
||||
loadTreeMenu(xml_file, 'category', 'zone_category', category_title, '',doGetCategoryInfo, category_srl, doMoveTree);
|
||||
|
||||
if(!category_srl) {
|
||||
xInnerHtml("category_info", "");
|
||||
} else {
|
||||
var params = {node_srl:category_srl, parent_srl:parent_srl}
|
||||
doGetCategoryInfo(null, params)
|
||||
}
|
||||
|
||||
if(typeof('fixAdminLayoutFooter')=="function") fixAdminLayoutFooter();
|
||||
}
|
||||
|
||||
|
||||
/* 카테고리를 드래그하여 이동한 후 실행할 함수 , 이동하는 category_srl과 대상 category_srl을 받음 */
|
||||
function doMoveTree(category_id, source_category_srl, target_category_srl) {
|
||||
source_category_srl = source_category_srl.replace(/menu_category_/,'');
|
||||
target_category_srl = target_category_srl.replace(/menu_category_/,'');
|
||||
var p_fo_obj = xGetElementById("fo_category");
|
||||
|
||||
var fo_obj = xGetElementById("fo_move_category");
|
||||
fo_obj.source_category_srl.value = source_category_srl;
|
||||
fo_obj.target_category_srl.value = target_category_srl;
|
||||
fo_obj.module_srl.value = p_fo_obj.module_srl.value;
|
||||
|
||||
// 이동 취소를 선택하였을 경우 다시 그림;;
|
||||
if(!procFilter(fo_obj, move_category)) {
|
||||
var params = new Array();
|
||||
params["xml_file"] = xGetElementById('fo_category').xml_file.value;
|
||||
params["source_category_srl"] = source_category_srl;
|
||||
completeMoveCategory(params);
|
||||
}
|
||||
}
|
||||
|
||||
function completeMoveCategory(ret_obj) {
|
||||
var source_category_srl = ret_obj['source_category_srl'];
|
||||
var xml_file = ret_obj['xml_file'];
|
||||
|
||||
loadTreeMenu(xml_file, 'category', "zone_category", category_title, '', doGetCategoryInfo, source_category_srl, doMoveTree);
|
||||
}
|
||||
|
||||
/* 카테고리 목록 갱신 */
|
||||
function doReloadTreeCategory(module_srl) {
|
||||
var params = new Array();
|
||||
params["module_srl"] = module_srl;
|
||||
|
||||
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
|
||||
var response_tags = new Array('error','message', 'xml_file');
|
||||
exec_xml('board', 'procIssuetrackerAdminMakeXmlFile', params, completeInsertCategory, response_tags, params);
|
||||
}
|
||||
|
||||
/* 카테고리 삭제 */
|
||||
function doDeleteCategory(category_srl) {
|
||||
var fo_obj = xGetElementById("fo_category");
|
||||
if(!fo_obj) return;
|
||||
|
||||
procFilter(fo_obj, delete_category);
|
||||
}
|
||||
|
||||
/* 카테고리 아이템 삭제 후 */
|
||||
function completeDeleteCategory(ret_obj) {
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
var category_srl = ret_obj['category_srl'];
|
||||
var xml_file = ret_obj['xml_file'];
|
||||
alert(ret_obj['message']);
|
||||
|
||||
loadTreeMenu(xml_file, 'category', 'zone_category', category_title, '', doGetCategoryInfo, category_srl, doMoveTree);
|
||||
|
||||
var obj = xGetElementById('category_info');
|
||||
xInnerHtml(obj, "");
|
||||
obj.style.display = 'none';
|
||||
}
|
||||
|
||||
|
||||
/* 내용 숨김/열기 */
|
||||
xAddEventListener(document,'click',openSummaryText);
|
||||
function openSummaryText(evt) {
|
||||
var e = new xEvent(evt);
|
||||
if(!e.target) return;
|
||||
var pObj = e.target;
|
||||
while(pObj) {
|
||||
if(pObj.nodeName == "DIV" && (pObj.className == "open" || pObj.className == "close")) {
|
||||
if(pObj.className == 'open') {
|
||||
pObj.className = 'close';
|
||||
} else if(pObj.className == 'close') {
|
||||
pObj.className = 'open';
|
||||
}
|
||||
}
|
||||
pObj = pObj.parentNode;
|
||||
}
|
||||
}
|
||||
41
modules/issuetracker/tpl/modify_component.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_component.xml")-->
|
||||
|
||||
|
||||
<!--@if($component)-->
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_component)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="component_srl" value="{$component->component_srl}" />
|
||||
<!--@if($component->is_default=="Y")--><input type="hidden" name="is_default" value="Y" /><!--@end-->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<col width="*" />
|
||||
<col width="100" />
|
||||
<col width="110" />
|
||||
<tr>
|
||||
<th scope="col">{$lang->name}</th>
|
||||
<th scope="col">{$lang->cmd_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="ht60">
|
||||
<td><input name="title" type="text" class="inputTypeText w400" value="{$component->title}" /></td>
|
||||
<td>
|
||||
<!--@if($component->is_default=='Y')-->
|
||||
{$lang->is_default}
|
||||
<!--@else-->
|
||||
<input type="checkbox" name="is_default" value="Y" />
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<!--@end-->
|
||||
81
modules/issuetracker/tpl/modify_milestone.html
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_milestone.xml")-->
|
||||
|
||||
<!--// calendar -->
|
||||
<!--%import("../../common/js/calendar.min.js",optimized=false)-->
|
||||
<!--@if($lang_type == 'ko')-->
|
||||
<!--%import("../../common/js/calendar-ko.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'es')-->
|
||||
<!--%import("../../common/js/calendar-es.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'ge')-->
|
||||
<!--%import("../../common/js/calendar-ge.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'ru')-->
|
||||
<!--%import("../../common/js/calendar-ru.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'zh-CN')-->
|
||||
<!--%import("../../common/js/calendar-zh-CN.js",optimized=false)-->
|
||||
<!--@else-->
|
||||
<!--%import("../../common/js/calendar-en.js",optimized=false)-->
|
||||
<!--@end-->
|
||||
<!--%import("../../common/js/calendar-setup.js",optimized=false)-->
|
||||
<!--%import("../../common/css/calendar-system.css",optimized=false)-->
|
||||
|
||||
|
||||
<!--@if($milestone)-->
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_milestone)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="milestone_srl" value="{$milestone->milestone_srl}" />
|
||||
<!--@if($milestone->is_default=="Y")--><input type="hidden" name="is_default" value="Y" /><!--@end-->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<col width="*" />
|
||||
<col width="110" />
|
||||
<col width="100" />
|
||||
<col width="110" />
|
||||
<col width="100" />
|
||||
<tr>
|
||||
<th scope="col">{$lang->name} </th>
|
||||
<th scope="col">{$lang->deadline} </th>
|
||||
<th scope="col">{$lang->complete}</th>
|
||||
<th scope="col">{$lang->completed_date}</th>
|
||||
<th scope="col">{$lang->is_default}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="ht60">
|
||||
<td><input name="title" type="text" class="inputTypeText w300" value="{$milestone->title}" /></td>
|
||||
<td>
|
||||
<input type="hidden" name="deadline" id="date_deadline" value="{$milestone->deadline}"/>
|
||||
<div class="display_date" id="str_deadline"><!--@if($milestone->deadline)-->{zdate("Ymd",$milestone->deadline)}<!--@end--></div>
|
||||
<script type="text/javascript">
|
||||
DyCalendar.setup( { firstDay : 0, inputField : "date_deadline", ifFormat : "%Y%m%d", displayArea : "str_deadline", daFormat : "%Y-%m-%d" } );
|
||||
</script>
|
||||
</td>
|
||||
<td><input type="checkbox" value="Y" name="is_completed" <!--@if($milestone->is_completed == 'Y')-->checked<!--@end--> /></td>
|
||||
<td>
|
||||
<input type="hidden" name="released_date" id="date_released_date" value="{$milestone->released_date}"/>
|
||||
<div class="display_date" id="str_released_date"><!--@if($milestone->released_date)-->{zdate("Ymd",$milestone->released_date)}<!--@end--></div>
|
||||
<script type="text/javascript">
|
||||
DyCalendar.setup( { firstDay : 0, inputField : "date_released_date", ifFormat : "%Y%m%d", displayArea : "str_released_date", daFormat : "%Y-%m-%d" } );
|
||||
</script>
|
||||
</td>
|
||||
<td>
|
||||
<!--@if($milestone->is_default=='Y')-->
|
||||
{$lang->is_default}
|
||||
<!--@else-->
|
||||
<input type="checkbox" name="is_default" value="Y" />
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4"><textarea name="description" class="inputTypeTextArea w400" />{$milestone->description}</textarea></td>
|
||||
<td>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<!--@end-->
|
||||
29
modules/issuetracker/tpl/modify_package.html
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_package.xml")-->
|
||||
|
||||
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_package)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="package_srl" value="{$package->package_srl}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<col width="120" />
|
||||
<col width="*" />
|
||||
<tr>
|
||||
<th>{$lang->name}</th>
|
||||
<td><input name="title" type="text" value="{htmlspecialchars($package->title)}" class="inputTypeText w400" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->description}</th>
|
||||
<td><textarea name="description" class="inputTypeTextArea w400" />{htmlspecialchars($package->description)}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" value="{$lang->cmd_registration}" accesskey="s"class="btnSubmit" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
44
modules/issuetracker/tpl/modify_priority.html
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_priority.xml")-->
|
||||
|
||||
|
||||
<!--@if($priority)-->
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_priority)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="priority_srl" value="{$priority->priority_srl}" />
|
||||
<!--@if($priority->is_default=="Y")--><input type="hidden" name="is_default" value="Y" /><!--@end-->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<col width="*" />
|
||||
<col width="110" />
|
||||
<col width="100" />
|
||||
<col width="110" />
|
||||
<tr>
|
||||
<th scope="col">{$lang->name}</th>
|
||||
<th scope="col">{$lang->order}</th>
|
||||
<th scope="col">{$lang->cmd_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="ht60">
|
||||
<td><input name="title" type="text" class="inputTypeText w300" value="{$priority->title}" /></td>
|
||||
<td><input name="listorder" type="text" class="inputTypeText w60" value="{$priority->listorder}" /></td>
|
||||
<td>
|
||||
<!--@if($priority->is_default=='Y')-->
|
||||
{$lang->is_default}
|
||||
<!--@else-->
|
||||
<input type="checkbox" name="is_default" value="Y" />
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<!--@end-->
|
||||
34
modules/issuetracker/tpl/modify_release.html
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_release.xml")-->
|
||||
|
||||
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_release)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="release_srl" value="{$release->release_srl}" />
|
||||
<input type="hidden" name="package_srl" value="{$release->package_srl?$release->package_srl:$package_srl}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<col width="120" />
|
||||
<col width="*" />
|
||||
<tr>
|
||||
<th>{$lang->name}</th>
|
||||
<td><input name="title" type="text" value="{htmlspecialchars($release->title)}" class="inputTypeText w400" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->release_note}</th>
|
||||
<td><textarea name="release_note" class="inputTypeTextArea w400" />{htmlspecialchars($release->release_note)}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->release_changes}</th>
|
||||
<td><textarea name="release_changes" class="inputTypeTextArea w400" />{htmlspecialchars($release->release_changes)}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" value="{$lang->cmd_registration}" accesskey="s"class="btnSubmit" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
41
modules/issuetracker/tpl/modify_type.html
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_type.xml")-->
|
||||
|
||||
|
||||
<!--@if($type)-->
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_type)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="type_srl" value="{$type->type_srl}" />
|
||||
<!--@if($type->is_default=="Y")--><input type="hidden" name="is_default" value="Y" /><!--@end-->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<thead>
|
||||
<col width="*" />
|
||||
<col width="100" />
|
||||
<col width="110" />
|
||||
<tr>
|
||||
<th scope="col">{$lang->name}</th>
|
||||
<th scope="col">{$lang->cmd_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="ht60">
|
||||
<td><input name="title" type="text" class="inputTypeText w400" value="{$type->title}" /></td>
|
||||
<td>
|
||||
<!--@if($type->is_default=='Y')-->
|
||||
{$lang->is_default}
|
||||
<!--@else-->
|
||||
<input type="checkbox" name="is_default" value="Y" />
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<!--@end-->
|
||||
104
modules/issuetracker/tpl/project_info.html
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<tr>
|
||||
<th scope="row">{$lang->module_category}</th>
|
||||
<td>
|
||||
<!--@if(!$module_info->module_category_srl)-->
|
||||
{$lang->not_exists}
|
||||
<!--@else-->
|
||||
{$module_category[$module_info->module_category_srl]->title}
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->layout}</th>
|
||||
<td>
|
||||
<!--@if($module_info->layout_srl)-->
|
||||
{$module_info->layout_title} ({$module_info->layout})
|
||||
<!--@else-->
|
||||
{$lang->not_exists}
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->skin}</th>
|
||||
<td>{$module_info->skin_title} ({$module_info->skin})</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->browser_title}</th>
|
||||
<td>{htmlspecialchars($module_info->browser_title)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->svn_url}</th>
|
||||
<td>{$module_info->svn_url} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->svn_cmd}</th>
|
||||
<td>{$module_info->svn_cmd} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->diff_cmd}</th>
|
||||
<td>{$module_info->diff_cmd} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->description}</th>
|
||||
<td>{nl2br(htmlspecialchars($module_info->description))} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->admin_id}</th>
|
||||
<td>{implode(",",$module_info->admin_id)} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2" class="button">
|
||||
<a href="{getUrl('act','dispIssuetrackerAdminInsertProject')}" class="button"><span>{$lang->cmd_modify}</span></a>
|
||||
<!--@if($module=="admin")-->
|
||||
<a href="{getUrl('act','dispIssuetrackerAdminContent','module_srl','')}" class="button"><span>{$lang->cmd_list}</span></a>
|
||||
<!--@end-->
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!--@for($i=1;$i<=20;$i++)-->
|
||||
<!--@if($module_info->extra_vars[$i])-->
|
||||
{@ $extra_vars_name = $module_info->extra_vars[$i]->name}
|
||||
{@ $extra_vars_type = $module_info->extra_vars[$i]->type}
|
||||
{@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required=='Y'?'Y':'N'}
|
||||
{@ $extra_vars_default_value = $module_info->extra_vars[$i]->default?$module_info->extra_vars[$i]->default:' '}
|
||||
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc?$module_info->extra_vars[$i]->desc:' '}
|
||||
{@ $extra_vars_search = $module_info->extra_vars[$i]->search=='Y'?'Y':'N'}
|
||||
|
||||
<div class="gap1"></div>
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<caption>{$lang->extra_vars} {$i}</caption>
|
||||
<tr>
|
||||
<th>{$lang->column_name}</th>
|
||||
<td>{$extra_vars_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->column_type}</th>
|
||||
<td>{$extra_vars_type}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->is_required}</th>
|
||||
<td>{$extra_vars_is_required}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->default_value}</th>
|
||||
<td>{$extra_vars_default_value}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->description}</th>
|
||||
<td>{$extra_vars_desc}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->cmd_search}</th>
|
||||
<td>{$extra_vars_search}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
183
modules/issuetracker/tpl/project_insert.html
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
<!--%import("filter/insert_project.xml")-->
|
||||
<!--%import("js/issue_admin.js")-->
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_project)" enctype="multipart/form-data">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl?$module_srl:$module_srls}" />
|
||||
<!--@if($module_info->is_default=='Y')-->
|
||||
<input type="hidden" name="is_default" value="Y" />
|
||||
<!--@end-->
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
|
||||
<!--@if(!$module_srls)-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->mid}</th>
|
||||
<td>
|
||||
<input type="text" name="mid" value="{$module_info->mid}" class="inputTypeText w200" />
|
||||
<p>{$lang->about_mid}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($module_info->is_default!='Y')-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->is_default}</th>
|
||||
<td>
|
||||
<input type="checkbox" name="is_default" value="Y" <!--@if($module_info->is_default=='Y')-->checked="checked"<!--@end--> id="fld_for_default" class="checkbox" />
|
||||
<label for="fld_for_default">{$lang->about_default}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->module_category}</th>
|
||||
<td>
|
||||
<select name="module_category_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<!--@foreach($module_category as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($module_info->module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_module_category}</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!--@if(!$module_srls)-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->browser_title}</th>
|
||||
<td>
|
||||
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText w400" />
|
||||
<p>{$lang->about_browser_title}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
<tr>
|
||||
<th scope="row">{$lang->layout}</th>
|
||||
<td>
|
||||
<select name="layout_srl">
|
||||
<option value="0">{$lang->notuse}</option>
|
||||
<!--@foreach($layout_list as $key => $val)-->
|
||||
<option value="{$val->layout_srl}" <!--@if($module_info->layout_srl==$val->layout_srl)-->selected="selected"<!--@end-->>{$val->title} ({$val->layout})</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_layout}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->skin}</th>
|
||||
<td>
|
||||
<select name="skin">
|
||||
<!--@foreach($skin_list as $key=>$val)-->
|
||||
<option value="{$key}" <!--@if($module_info->skin==$key ||(!$module_info->skin && $key=='xe_board'))-->selected="selected"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<p>{$lang->about_skin}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->svn_url}</th>
|
||||
<td>
|
||||
<input type="text" name="svn_url" value="{$module_info->svn_url}" class="inputTypeText w300" />
|
||||
<p>{$lang->about_svn_url}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->svn_cmd}</th>
|
||||
<td>
|
||||
<input type="text" name="svn_cmd" value="{$module_info->svn_cmd}" class="inputTypeText w300" />
|
||||
<p>{$lang->about_svn_cmd}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->diff_cmd}</th>
|
||||
<td>
|
||||
<input type="text" name="diff_cmd" value="{$module_info->diff_cmd}" class="inputTypeText w300" />
|
||||
<p>{$lang->about_diff_cmd}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->description}</th>
|
||||
<td>
|
||||
<textarea name="description" class="inputTypeTextArea w100">{htmlspecialchars($module_info->description)}</textarea>
|
||||
<p>{$lang->about_description}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->admin_id}</th>
|
||||
<td>
|
||||
<textarea name="admin_id" class="inputTypeTextArea w100"><!--@if($module_info->admin_id)-->{implode(",",$module_info->admin_id)}<!--@end--></textarea>
|
||||
<p>{$lang->about_admin_id}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2" class="button">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="history.back(); return false;" /></span>
|
||||
</th>
|
||||
</table>
|
||||
|
||||
<!--@if(!$module_srls)-->
|
||||
<!--@for($i=1;$i<=20;$i++)-->
|
||||
<div class="gap1"></div>
|
||||
{@ $extra_vars_name = ''}
|
||||
{@ $extra_vars_type = ''}
|
||||
{@ $extra_vars_is_required = ''}
|
||||
{@ $extra_vars_default_value = ''}
|
||||
{@ $extra_vars_desc = ''}
|
||||
{@ $extra_vars_search = ''}
|
||||
<!--@if($module_info->extra_vars[$i])-->
|
||||
{@ $extra_vars_name = $module_info->extra_vars[$i]->name}
|
||||
{@ $extra_vars_type = $module_info->extra_vars[$i]->type}
|
||||
{@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required}
|
||||
{@ $extra_vars_default_value = $module_info->extra_vars[$i]->default}
|
||||
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc}
|
||||
{@ $extra_vars_search = $module_info->extra_vars[$i]->search}
|
||||
<!--@end-->
|
||||
<table cellspacing="0" class="adminTable ">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<caption>{$lang->extra_vars} {$i}</caption>
|
||||
<tr>
|
||||
<th>{$lang->column_name}</th>
|
||||
<td><input type="text" name="extra_vars_{$i}_name" value="{$extra_vars_name}" class="inputTypeText w200" /> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->column_type}</th>
|
||||
<td>
|
||||
<select name="extra_vars_{$i}_type">
|
||||
<!--@foreach($lang->column_type_list as $key => $val)-->
|
||||
<!--@if($key != 'kr_zip')-->
|
||||
<option value="{$key}" <!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->is_required}</th>
|
||||
<td><input type="checkbox" name="extra_vars_{$i}_is_required" value="Y" <!--@if($extra_vars_is_required=='Y')-->checked="checked"<!--@end--> /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->default_value}</th>
|
||||
<td><input type="text" name="extra_vars_{$i}_default" value="{$extra_vars_default_value}" class="inputTypeText w400" /><p>{$lang->about_extra_vars_default_value}</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->description}</th>
|
||||
<td><input type="text" name="extra_vars_{$i}_desc" value="{$extra_vars_desc}" class="inputTypeText w400" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->cmd_search}</th>
|
||||
<td><input type="checkbox" name="extra_vars_{$i}_search" value="Y" <!--@if($extra_vars_search=='Y')-->checked="checked"<!--@end--> /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2" class="button"><span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span></th>
|
||||
</tr>
|
||||
</table>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
||||
|
||||
</form>
|
||||
209
modules/issuetracker/tpl/project_setting.html
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_milestone.xml")-->
|
||||
<!--%import("filter/delete_milestone.xml")-->
|
||||
<!--%import("filter/insert_priority.xml")-->
|
||||
<!--%import("filter/delete_priority.xml")-->
|
||||
<!--%import("filter/insert_type.xml")-->
|
||||
<!--%import("filter/delete_type.xml")-->
|
||||
<!--%import("filter/insert_component.xml")-->
|
||||
<!--%import("filter/delete_component.xml")-->
|
||||
|
||||
<!--// calendar -->
|
||||
<!--%import("../../common/js/calendar.min.js",optimized=false)-->
|
||||
<!--@if($lang_type == 'ko')-->
|
||||
<!--%import("../../common/js/calendar-ko.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'es')-->
|
||||
<!--%import("../../common/js/calendar-es.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'ge')-->
|
||||
<!--%import("../../common/js/calendar-ge.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'ru')-->
|
||||
<!--%import("../../common/js/calendar-ru.js",optimized=false)-->
|
||||
<!--@elseif($lang_type == 'zh-CN')-->
|
||||
<!--%import("../../common/js/calendar-zh-CN.js",optimized=false)-->
|
||||
<!--@else-->
|
||||
<!--%import("../../common/js/calendar-en.js",optimized=false)-->
|
||||
<!--@end-->
|
||||
<!--%import("../../common/js/calendar-setup.js",optimized=false)-->
|
||||
<!--%import("../../common/css/calendar-system.css",optimized=false)-->
|
||||
|
||||
<div class="top2">
|
||||
|
||||
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_milestone)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="*" />
|
||||
<col width="130" />
|
||||
<col width="130" />
|
||||
<col width="90" />
|
||||
<col width="90" />
|
||||
<caption>{$lang->milestone}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->name}</th>
|
||||
<th scope="col">{$lang->completed_date}</th>
|
||||
<th scope="col">{$lang->deadline}</th>
|
||||
<th scope="col">{$lang->is_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($milestone_list as $val)-->
|
||||
<tr>
|
||||
<td <!--@if($val->is_completed=='Y')-->class="strike"<!--@end-->>{$val->title}</td>
|
||||
<td class="tCenter">{zdate($val->released_date,"Y-m-d")}</td>
|
||||
<td class="tCenter">{zdate($val->deadline,"Y-m-d")}</td>
|
||||
<td class="tCenter"><!--@if($val->is_default=='Y')-->{$lang->is_default}<!--@else--> <!--@end--></td>
|
||||
<td class="button">
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminModifyMilestone','milestone_srl',$val->milestone_srl)}"><img src="images/buttonModify.gif" alt="" /></a>
|
||||
<!--@if($val->is_default!='Y')--><a href="#" onclick="deleteByFilter('{$val->milestone_srl}', delete_milestone);"><img src="images/buttonDeleteX.gif" alt="" /></a><!--@else--> <!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input name="title" type="text" class="inputTypeText w400" /><br />
|
||||
</td>
|
||||
<td>
|
||||
<input type="hidden" name="deadline" id="date_deadline" />
|
||||
<div class="display_date" id="str_deadline"></div>
|
||||
<script type="text/javascript">
|
||||
DyCalendar.setup( { firstDay : 0, inputField : "date_deadline", ifFormat : "%Y%m%d", displayArea : "str_deadline", daFormat : "%Y-%m-%d" } );
|
||||
</script>
|
||||
</td>
|
||||
<td class="tCenter"><input type="checkbox" name="is_default" value="Y" /></td>
|
||||
<td class="vtop" rowspan="2">
|
||||
<input type="submit" value="{$lang->cmd_registration}" accesskey="s"class="btnSubmit" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<textarea name="description" class="inputTypeTextArea w400" /></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!--//top2 for milestone-->
|
||||
<form id="deleteForm" action="./" method="POST">
|
||||
<input type="hidden" id="target_srl" name="target_srl" value="" />
|
||||
</form>
|
||||
|
||||
<div class="top2">
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_priority)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="*" />
|
||||
<col width="110" />
|
||||
<col width="90" />
|
||||
<col width="90" />
|
||||
<caption>{$lang->priority}</caption>
|
||||
<thead>
|
||||
<th scope="col">{$lang->name}</th>
|
||||
<th scope="col">{$lang->order}</th>
|
||||
<th scope="col">{$lang->is_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($priority_list as $val)-->
|
||||
<tr>
|
||||
<td>{$val->title}</td>
|
||||
<td>{$val->listorder}</td>
|
||||
<td class="tCenter"><!--@if($val->is_default=='Y')-->{$lang->is_default}<!--@else--> <!--@end--></td>
|
||||
<td class="button">
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminModifyPriority','priority_srl',$val->priority_srl)}"><img src="images/buttonModify.gif" alt="" /></a>
|
||||
<!--@if($val->is_default!='Y')--><a href="#" onclick="deleteByFilter('{$val->priority_srl}', delete_priority);"><img src="images/buttonDeleteX.gif" /></a><!--@else--> <!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td><input name="title" type="text" class="inputTypeText w400" /></td>
|
||||
<td> </td>
|
||||
<td class="tCenter"><input type="checkbox" name="is_default" value="Y" /></td>
|
||||
<td><input type="submit" value="{$lang->cmd_registration}" class="btnSubmit" accesskey="s"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
</div><!--//top1 for priorities-->
|
||||
|
||||
<div class="top2">
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_type)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="*" />
|
||||
<col width="90" />
|
||||
<col width="90" />
|
||||
<caption>{$lang->type}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->type}</th>
|
||||
<th scope="col">{$lang->is_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($type_list as $val)-->
|
||||
<tr>
|
||||
<td>{$val->title}</td>
|
||||
<td class="tCenter"><!--@if($val->is_default=='Y')-->{$lang->is_default}<!--@else--> <!--@end--></td>
|
||||
<td class="button">
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminModifyType','type_srl',$val->type_srl)}"><img src="images/buttonModify.gif" alt="" /></a>
|
||||
<!--@if($val->is_default!='Y')--><a href="#" onclick="deleteByFilter('{$val->type_srl}', delete_type);"><img src="images/buttonDeleteX.gif" /></a><!--@else--> <!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td><input name="title" type="text" class="inputTypeText w400" /></td>
|
||||
<td class="tCenter"><input type="checkbox" name="is_default" value="Y" /></td>
|
||||
<td><input type="submit" value="{$lang->cmd_registration}" class="btnSubmit" accesskey="s"/></td>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<!--// HalfTable Left -->
|
||||
|
||||
<div class="top2">
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_component)">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="*" />
|
||||
<col width="90" />
|
||||
<col width="90" />
|
||||
<caption>{$lang->component}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->component}</th>
|
||||
<th scope="col">{$lang->is_default}</th>
|
||||
<th scope="col"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($component_list as $val)-->
|
||||
<tr>
|
||||
<td>{$val->title}</td>
|
||||
<td class="tCenter"><!--@if($val->is_default=='Y')-->{$lang->is_default}<!--@else--> <!--@end--></td>
|
||||
<td class="button">
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminModifyComponent','component_srl',$val->component_srl)}"><img src="images/buttonModify.gif" alt="" /></a>
|
||||
<!--@if($val->is_default!='Y')--><a href="#" onclick="deleteByFilter('{$val->component_srl}', delete_component);"><img src="images/buttonDeleteX.gif" /></a><!--@else--> <!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td><input name="title" type="text" class="inputTypeText w400" /></td>
|
||||
<td class="tCenter"><input type="checkbox" name="is_default" value="Y" /></td>
|
||||
<td><input type="submit" value="{$lang->cmd_registration}" class="btnSubmit" accesskey="s"/></td>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div> <!--// HalfTable Right -->
|
||||
<!--// top1 -->
|
||||
|
||||
131
modules/issuetracker/tpl/release_setting.html
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
<!--#include("header.html")-->
|
||||
<!--%import("css/issuetracker.css")-->
|
||||
<!--%import("filter/insert_release.xml")-->
|
||||
<!--%import("filter/delete_release.xml")-->
|
||||
<!--%import("filter/delete_package.xml")-->
|
||||
<!--%import("filter/delete_file.xml")-->
|
||||
|
||||
<form id="deleteForm" action="{Context::getRequestUri()}" method="POST">
|
||||
<input type="hidden" id="target_srl" name="target_srl" value="" />
|
||||
</form>
|
||||
|
||||
<div class="top1">
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<caption>{$lang->package}</caption>
|
||||
<col width="200" />
|
||||
<col width="*" />
|
||||
<col width="80" />
|
||||
<!--@foreach($package_list as $key => $val)-->
|
||||
<tr>
|
||||
<td><a href="{getUrl('package_srl', $key)}">{$val->title}</a></td>
|
||||
<td class="summaryText"><div class="close">{nl2br($val->description)}</div></td>
|
||||
<td class="button">
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminModifyPackage','package_srl',$val->package_srl)}"><img src="images/buttonModify.gif" alt="" /></a>
|
||||
<!--@if($val->is_default!='Y')--><a href="#" onclick="deleteByFilter('{$val->package_srl}', delete_package);"><img src="images/buttonDeleteX.gif" /></a><!--@else--> <!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="fr">
|
||||
<form action="{Context::getRequestUri()}" method="get">
|
||||
<input type="hidden" name="module" value="{$module}"/>
|
||||
<input type="hidden" name="mid" value="{$mid}"/>
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}"/>
|
||||
<input type="hidden" name="act" value="dispIssuetrackerAdminModifyPackage" />
|
||||
<input type="submit" value="{$lang->cmd_insert_package}" class="btnSubmit" />
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!--@if($package_srl)-->
|
||||
{@ $package = $package_list[$package_srl] }
|
||||
<div class="top2">
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="200" />
|
||||
<col width="80" />
|
||||
<col width="*" />
|
||||
<col width="80" />
|
||||
<caption>{$lang->package} : {$package->title}</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<div class="fr">
|
||||
<form action="{Context::getRequestUri()}" method="get">
|
||||
<input type="hidden" name="module" value="{$module}"/>
|
||||
<input type="hidden" name="mid" value="{$mid}"/>
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}"/>
|
||||
<input type="hidden" name="package_srl" value="{$package_srl}"/>
|
||||
<input type="hidden" name="act" value="dispIssuetrackerAdminModifyRelease" />
|
||||
<input type="submit" value="{$lang->cmd_insert_release}" class="btnSubmit" />
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@foreach($package->releases as $key => $val)-->
|
||||
<tr>
|
||||
<td class="vtop" rowspan="4">{$val->title}</th>
|
||||
<th>{$lang->regdate}</th>
|
||||
<td>{zdate($val->regdate)}</td>
|
||||
<td class="tCenter">
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminAttachRelease','release_srl',$val->release_srl)}"><img src="images/buttonAttach.gif" alt="" /></a>
|
||||
<a href="{getUrl('module_srl',$module_srl,'act','dispIssuetrackerAdminModifyRelease','release_srl',$val->release_srl)}"><img src="images/buttonModify.gif" alt="" /></a>
|
||||
<a href="#" onclick="deleteByFilter('{$val->release_srl}', delete_release);"><img src="images/buttonDeleteX.gif" alt="" /></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->release_note}</th>
|
||||
<td colspan="2" class="summaryText"><div class="close">{nl2br($val->release_note)}</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->release_changes}</th>
|
||||
<td colspan="2" class="summaryText"><div class="close">{nl2br($val->release_changes)}</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->attached_file}</th>
|
||||
<td colspan="2">
|
||||
<!--@if($val->files)-->
|
||||
<!--@foreach($val->files as $file)-->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="180" />
|
||||
<col width="*" />
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" class="filename">
|
||||
<a href="#" onclick="deleteByFilter('{$file->file_srl}', delete_file);"><img src="images/btnDelete.gif" class="btnDelete" alt="" /></a>
|
||||
<a href="{$file->download_url}" name="attach_{$file->file_srl}">{$file->source_filename}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{FileHandler::filesize($file->file_size)} / {$file->download_count}</td>
|
||||
<td>{nl2br($file->comment)} </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<div class="fr">
|
||||
<form action="{Context::getRequestUri()}" method="get">
|
||||
<input type="hidden" name="module" value="{$module}"/>
|
||||
<input type="hidden" name="mid" value="{$mid}"/>
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}"/>
|
||||
<input type="hidden" name="package_srl" value="{$package_srl}"/>
|
||||
<input type="hidden" name="act" value="dispIssuetrackerAdminModifyRelease" />
|
||||
<input type="submit" value="{$lang->cmd_insert_release}" class="btnSubmit" />
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--@end-->
|
||||
155
modules/issuetracker/tpl/skin_info.html
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
<!--#include("./header.html")-->
|
||||
<form action="{Context::getRequestUri()}" method="post" enctype="multipart/form-data" target="hidden_iframe">
|
||||
<input type="hidden" name="module" value="{$module_info->module}" />
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="act" value="procIssuetrackerAdminUpdateSkinInfo" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<caption>{$lang->skin_default_info}</caption>
|
||||
<tr>
|
||||
<th scope="row">{$lang->skin}</th>
|
||||
<td class="left" >{$skin_info->title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->skin_author}</th>
|
||||
<td class="left blue" >
|
||||
<!--@foreach($skin_info->author as $author)-->
|
||||
{$author->name} (<a href="{$author->homepage}" onclick="window.open(this.href);return false;">{$author->homepage}</a>, <a href="mailto:{$author->email_address}">{$author->email_address}</a>)<br />
|
||||
<!--@endforeach-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@if($skin_info->homepage)-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->homepage}</th>
|
||||
<td class="left blue"><a href="{$skin_info->homepage}" onclick="window.open(this.href);return false;">{$skin_info->homepage}</a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->date}</th>
|
||||
<td class="left" >{zdate($skin_info->date, 'Y-m-d')}</td>
|
||||
</tr>
|
||||
<!--@if($skin_info->license || $skin_info->license_link)-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->skin_license}</th>
|
||||
<td>
|
||||
{nl2br(trim($skin_info->license))}
|
||||
<!--@if($skin_info->license_link)-->
|
||||
<p><a href="{$skin_info->license_link}" onclick="window.close(); return false;">{$skin_info->license_link}</a></p>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row">{$lang->description}</th>
|
||||
<td class="left" >{nl2br($skin_info->description)}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<caption>{$lang->extra_vars}</caption>
|
||||
<tr valign="top">
|
||||
<th scope="row">{$lang->colorset}</th>
|
||||
<td class="left">
|
||||
<!--@foreach($skin_info->colorset as $key => $val)-->
|
||||
<!--@if($val->screenshot)-->
|
||||
{@ $_img_info = getImageSize($val->screenshot); $_height = $_img_info[1]+40; $_width = $_img_info[0]+20; $_talign = "center"; }
|
||||
<!--@else-->
|
||||
{@ $_width = 200; $_height = 20; $_talign = "left"; }
|
||||
<!--@end-->
|
||||
<div style="float:left;text-align:{$_talign};margin-bottom:1em;width:{$_width}px;height:{$_height}px;margin-right:10px;">
|
||||
<input type="radio" name="colorset" value="{$val->name}" id="colorset_{$key}" <!--@if($module_info->colorset==$val->name)-->checked="checked"<!--@end-->/>
|
||||
<label for="colorset_{$key}">{$val->title}</label>
|
||||
<!--@if($val->screenshot)-->
|
||||
<br />
|
||||
<img src="{$val->screenshot}" alt="{$val->title}" style="border:1px solid #888888;padding:2px;margin:2px;"/>
|
||||
<!--@end-->
|
||||
</div>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!--@foreach($skin_info->extra_vars as $key => $val)-->
|
||||
|
||||
<!--@if($val->group && ((!$group) || $group != $val->group))-->
|
||||
{@$group = $val->group}
|
||||
</table>
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<caption>{$group}</caption>
|
||||
<!--@end-->
|
||||
|
||||
<tr>
|
||||
<th scope="row">{$val->title}</th>
|
||||
<td class="left">
|
||||
<!--@if($val->type=="text")-->
|
||||
<input type="text" name="{$val->name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
|
||||
|
||||
<!--@elseif($val->type=="textarea")-->
|
||||
<textarea name="{$val->name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
|
||||
|
||||
<!--@elseif($val->type=="select")-->
|
||||
<select name="{$val->name}">
|
||||
<!--@foreach($val->options as $k=>$v)-->
|
||||
<option value="{$v->value}" <!--@if($v->value == $val->value)-->selected="selected"<!--@end-->>{$v->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
|
||||
<!--@elseif($val->type=="checkbox")-->
|
||||
<!--@foreach($val->default as $k=>$v)-->
|
||||
<span>
|
||||
<input type="checkbox" name="{$val->name}[]" value="{$v}" id="ch_{$key}_{$k}" <!--@if(in_array($v, $val->value))-->checked="checked"<!--@end--> class="checkbox" />
|
||||
<label for="ch_{$key}_{$k}">{$v}</label>
|
||||
</span>
|
||||
<!--@end-->
|
||||
|
||||
<!--@elseif($val->type=="radio")-->
|
||||
<!--@foreach($val->default as $k=>$v)-->
|
||||
<span>
|
||||
<input type="radio" name="{$val->name}" value="{$v}" id="ch_{$key}_{$k}" <!--@if($v==$val->value)-->checked="checked"<!--@end-->/>
|
||||
<label for="ch_{$key}_{$k}">{$v}</label>
|
||||
</span>
|
||||
<!--@end-->
|
||||
|
||||
<!--@elseif($val->type=="image")-->
|
||||
<!--@if($val->value)-->
|
||||
<div>
|
||||
<img src="{$val->value}" /><br />
|
||||
<input type="checkbox" name="del_{$val->name}" value="Y" id="del_{$val->name}" class="checkbox" />
|
||||
<label for="del_{$val->name}">{$lang->cmd_delete}</label>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
||||
<input type="file" name="{$val->name}" value="" />
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($val->description)-->
|
||||
<p>{nl2br(trim($val->description))}</p>
|
||||
<!--@end-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
<!--@if($group)-->
|
||||
</table>
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<!--@end-->
|
||||
|
||||
<tr>
|
||||
<th scope="row" colspan="2" class="button">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
<iframe name="hidden_iframe" frameborder="0" style="display:none"></iframe>
|
||||