You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(95) |
Apr
(270) |
May
(111) |
Jun
|
Jul
|
Aug
(64) |
Sep
(130) |
Oct
(319) |
Nov
(17) |
Dec
(191) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(53) |
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(387) |
Jul
(102) |
Aug
(247) |
Sep
(120) |
Oct
(1) |
Nov
(8) |
Dec
(21) |
| 2007 |
Jan
(38) |
Feb
(36) |
Mar
|
Apr
(32) |
May
(135) |
Jun
(523) |
Jul
(192) |
Aug
(103) |
Sep
(533) |
Oct
(77) |
Nov
(23) |
Dec
(203) |
| 2008 |
Jan
(312) |
Feb
(1193) |
Mar
(404) |
Apr
(67) |
May
(62) |
Jun
(497) |
Jul
(297) |
Aug
(110) |
Sep
(335) |
Oct
(256) |
Nov
(50) |
Dec
(118) |
| 2009 |
Jan
(67) |
Feb
(10) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(10) |
Jul
(61) |
Aug
|
Sep
(16) |
Oct
(45) |
Nov
(12) |
Dec
(14) |
| 2010 |
Jan
(30) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(7) |
Aug
(7) |
Sep
(5) |
Oct
(5) |
Nov
|
Dec
|
| 2011 |
Jan
(7) |
Feb
(3) |
Mar
(89) |
Apr
(11) |
May
(5) |
Jun
|
Jul
(8) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(89) |
| 2012 |
Jan
(7) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(3) |
Oct
(42) |
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(19) |
Apr
(90) |
May
(38) |
Jun
(235) |
Jul
(38) |
Aug
(10) |
Sep
|
Oct
(29) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(52) |
Jun
|
Jul
(7) |
Aug
|
Sep
(17) |
Oct
|
Nov
|
Dec
|
|
From: Jon O. <jon...@us...> - 2007-04-28 19:45:34
|
Update of /cvsroot/mxbb/mx_bugsbt/language/lang_english In directory sc8-pr-cvs16:/tmp/cvs-serv19471/lang_english Modified Files: lang_main.php Log Message: fixes Index: lang_main.php =================================================================== RCS file: /cvsroot/mxbb/mx_bugsbt/language/lang_english/lang_main.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lang_main.php 15 Feb 2007 12:43:57 -0000 1.1 --- lang_main.php 28 Apr 2007 19:45:29 -0000 1.2 *************** *** 125,128 **** --- 125,129 ---- // $lang['Cat_all'] = 'All'; + $lang['Date_updated'] = 'Updated'; $lang['Product'] = 'Product'; *************** *** 192,199 **** --- 193,205 ---- $lang['sd_Folder'] = 'Folder'; + $lang['bugsbt_quick_links'] = 'Quick Links'; + // // Index // $lang['sd_View_bugs'] = 'View bugs'; + $lang['sd_View_all_bugs'] = 'View all bugs'; + $lang['sd_View_latest_bugs'] = 'Last reported'; + $lang['sd_View_last_updated_bugs'] = 'Last updated'; $lang['sd_View_bug'] = 'View bug'; $lang['sd_Report_bug'] = 'Report bug'; *************** *** 209,213 **** $lang['bugsbt_Bug_id'] = 'Id'; $lang['bugsbt_Bug_closed'] = 'X'; ! $lang['bugsbt_Bug_name'] = 'Bug Name [desc]'; $lang['bugsbt_Bug_edition_build'] = 'Edition [Build]'; $lang['bugsbt_Bug_status'] = 'Status'; --- 215,219 ---- $lang['bugsbt_Bug_id'] = 'Id'; $lang['bugsbt_Bug_closed'] = 'X'; ! $lang['bugsbt_Bug_name'] = 'Name [desc]'; $lang['bugsbt_Bug_edition_build'] = 'Edition [Build]'; $lang['bugsbt_Bug_status'] = 'Status'; |
|
From: Jon O. <jon...@us...> - 2007-04-28 19:45:33
|
Update of /cvsroot/mxbb/mx_bugsbt/language/lang_swedish In directory sc8-pr-cvs16:/tmp/cvs-serv19471/lang_swedish Modified Files: lang_main.php Log Message: fixes Index: lang_main.php =================================================================== RCS file: /cvsroot/mxbb/mx_bugsbt/language/lang_swedish/lang_main.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** lang_main.php 15 Feb 2007 12:43:58 -0000 1.1 --- lang_main.php 28 Apr 2007 19:45:29 -0000 1.2 *************** *** 125,128 **** --- 125,129 ---- // $lang['Cat_all'] = 'Alla'; + $lang['Date_updated'] = 'Uppdaterad'; $lang['Product'] = 'Produkt'; *************** *** 191,198 **** --- 192,204 ---- $lang['sd_Folder'] = 'Mapp'; + $lang['bugsbt_quick_links'] = 'Quick Links'; + // // Index // $lang['sd_View_bugs'] = 'Lista buggar'; + $lang['sd_View_all_bugs'] = 'Alla buggar'; + $lang['sd_View_latest_bugs'] = 'Senast rapporterade'; + $lang['sd_View_last_updated_bugs'] = 'Senast uppdaterade'; $lang['sd_View_bug'] = 'Se bugg'; $lang['sd_Report_bug'] = 'Rapportera bugg'; *************** *** 208,212 **** $lang['bugsbt_Bug_id'] = 'Id'; $lang['bugsbt_Bug_closed'] = 'X'; ! $lang['bugsbt_Bug_name'] = 'Buggnamn'; $lang['bugsbt_Bug_edition_build'] = 'Edition [Build]'; $lang['bugsbt_Bug_status'] = 'Status'; --- 214,218 ---- $lang['bugsbt_Bug_id'] = 'Id'; $lang['bugsbt_Bug_closed'] = 'X'; ! $lang['bugsbt_Bug_name'] = 'Namn'; $lang['bugsbt_Bug_edition_build'] = 'Edition [Build]'; $lang['bugsbt_Bug_status'] = 'Status'; |
|
From: Jon O. <jon...@us...> - 2007-04-28 19:45:20
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/includes/js
In directory sc8-pr-cvs16:/tmp/cvs-serv19440
Modified Files:
init_main.js management.js.php
Log Message:
fixes
Index: init_main.js
===================================================================
RCS file: /cvsroot/mxbb/mx_bugsbt/bugsbt/includes/js/init_main.js,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** init_main.js 15 Feb 2007 12:43:49 -0000 1.1
--- init_main.js 28 Apr 2007 19:45:17 -0000 1.2
***************
*** 9,12 ****
--- 9,13 ----
window.onload = initialize;
+ /*
tree.textClickListener.add(function() {
if (document.getElementById("tree-insert-form").style.display == "block") {
***************
*** 14,17 ****
--- 15,19 ----
}
});
+ */
tree.textClickListener.add(function() {
***************
*** 106,109 ****
--- 108,112 ----
var treeTooltips = ["Move Up", "Move Down", "Move Left", "Move Right", "Insert", "Delete"];
+ /*
function treeTooltipOn() { document.getElementById("tree-tooltip").innerHTML = treeTooltips[treeElements.indexOf(this.id)]; }
function treeTooltipOff() { document.getElementById("tree-tooltip").innerHTML = ""; }
***************
*** 131,134 ****
--- 134,138 ----
document.getElementById("tree-insert-button").onclick = treeInsertExecute;
document.getElementById("tree-insert-cancel").onclick = treeHideInsert;
+ */
function treeMoveUp() {
Index: management.js.php
===================================================================
RCS file: /cvsroot/mxbb/mx_bugsbt/bugsbt/includes/js/management.js.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** management.js.php 15 Feb 2007 12:43:49 -0000 1.1
--- management.js.php 28 Apr 2007 19:45:17 -0000 1.2
***************
*** 58,73 ****
function tabsSavingOff() { }
! function viewBugs() {
! //if (!tree.active || !tree.getActiveNode().isDocument()) {
! //alert("You have to select a document in the Tree View to perform this action.");
! //return;
! //}
checkContentSaved();
AjaxRequest.get(
{
'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php'
! ,'parameters':{ 'mode':'product', 'cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id }
,'onLoading':function() { clearTabs(); tabsLoadingOn(); }
,'onComplete':function() { tabsLoadingOff(); }
--- 58,92 ----
function tabsSavingOff() { }
! function viewBugs(sort) {
checkContentSaved();
+ var cat = tree.active ? escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)) : '';
+ var limit = '';
+ var sort_method = 'Id';
+
+ switch (sort){
+ case 'all':
+ var cat = '';
+ var sort_method = 'Id';
+ break;
+
+ case 'latest':
+ var cat = '';
+ var limit = '10';
+ var sort_method = 'Latest';
+ break;
+
+ case 'last_updated':
+ var cat = '';
+ var limit = '10';
+ var sort_method = 'Last_updated';
+ break;
+ }
+
AjaxRequest.get(
{
'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php'
! ,'parameters':{ 'mode':'product', 'cat':cat, 'limit':limit, 'sort_method':sort_method, 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id }
,'onLoading':function() { clearTabs(); tabsLoadingOn(); }
,'onComplete':function() { tabsLoadingOff(); }
***************
*** 129,133 ****
function viewBug(bug_id) {
! if ( !bug_id && (typeof current_bug_id == "undefined") ) {
alert("You have to select a Bug to perform this action.");
return;
--- 148,152 ----
function viewBug(bug_id) {
! if ( !bug_id && (typeof current_bug_id == "undefined") ) {
alert("You have to select a Bug to perform this action.");
return;
|
|
From: Jon O. <jon...@us...> - 2007-04-28 19:44:10
|
Update of /cvsroot/mxbb/core/templates/subSilver In directory sc8-pr-cvs16:/tmp/cvs-serv18631 Modified Files: overall_footer.tpl overall_header.tpl subSilver.cfg subSilver.css Log Message: cleaning up the schemas fixing a few minor bugs fix for subSilver Index: subSilver.cfg =================================================================== RCS file: /cvsroot/mxbb/core/templates/subSilver/subSilver.cfg,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** subSilver.cfg 30 Jan 2007 16:26:08 -0000 1.6 --- subSilver.cfg 28 Apr 2007 19:44:00 -0000 1.7 *************** *** 9,28 **** */ ! // ! // ** Configuration file for subSilver template ** ! // ! // ** copyright (C) 2001 The phpBB Group ** ! // ** Created by subBlue design ** ! // ** www.subBlue.com ** ! // ! // ** subSilver dev. forum: www.subSky.com/phpBB2/ ** ! // ! // Please note that to enable support of different languages ! // the {LANG} place holder is available. This will be replaced ! // with xxx where xxx is the users selected language. If ! // that language isn't available it will default to english. ! // Therefore you MUST ensure you have at least a english ! // directory if you choose to localise your template ! // // --- 9,28 ---- */ ! /** Original theme by: ! * ! * copyright (C) 2001 The phpBB Group ! * Created by subBlue design ! * www.subBlue.com ! * subSilver dev. forum: www.subSky.com/phpBB2/ ! * ! */ ! ! /** Adapted for mxBB by: ! * ! * The mxBB Development Team ! * Version: 1.0 ! * Requirements: mxBB Core 2.8.x ! * ! */ // Index: overall_footer.tpl =================================================================== RCS file: /cvsroot/mxbb/core/templates/subSilver/overall_footer.tpl,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** overall_footer.tpl 3 May 2006 21:12:39 -0000 1.18 --- overall_footer.tpl 28 Apr 2007 19:44:00 -0000 1.19 *************** *** 1,3 **** - <div align="center"> <span class="copyright"> --- 1,2 ---- *************** *** 17,21 **** The phpBB Group : 2002 & mxBB Team : 2002 // --> ! {POWERED_BY} <a href="http://www.mx-system.com/" target="_mx-system" class="copyright">mxBB Portal</a> {MX_VERSION} © 2001-2006 & <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> {PHPBB_VERSION} © 2001, 2003 phpBB Group | {MXBB_EXTRA} </div> </td> --- 16,20 ---- The phpBB Group : 2002 & mxBB Team : 2002 // --> ! {POWERED_BY} <a href="http://www.mx-system.com/" target="_mx-system" class="copyright">mxBB Portal</a> {MX_VERSION} © 2001-2007 & <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> {PHPBB_VERSION} © 2001, 2003 phpBB Group | {MXBB_EXTRA} </div> </td> Index: overall_header.tpl =================================================================== RCS file: /cvsroot/mxbb/core/templates/subSilver/overall_header.tpl,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** overall_header.tpl 25 Jan 2007 21:08:49 -0000 1.26 --- overall_header.tpl 28 Apr 2007 19:44:00 -0000 1.27 *************** *** 30,33 **** --- 30,34 ---- <script language="javascript" type="text/javascript"><!-- + function checkSearch() { Index: subSilver.css =================================================================== RCS file: /cvsroot/mxbb/core/templates/subSilver/subSilver.css,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** subSilver.css 3 Dec 2006 14:28:08 -0000 1.3 --- subSilver.css 28 Apr 2007 19:44:00 -0000 1.4 *************** *** 2,6 **** | Addon or redefined CSS definitions for mxBB-Portal \************************************************************/ - p, td { font-size: 11px; color: #000000; } --- 2,5 ---- |
|
From: Jon O. <jon...@us...> - 2007-04-28 19:43:51
|
Update of /cvsroot/mxbb/core
In directory sc8-pr-cvs16:/tmp/cvs-serv18583
Modified Files:
login.php
Log Message:
cleaning up the schemas
fixing a few minor bugs
fix for subSilver
Index: login.php
===================================================================
RCS file: /cvsroot/mxbb/core/login.php,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** login.php 22 Nov 2006 21:21:39 -0000 1.21
--- login.php 28 Apr 2007 19:43:47 -0000 1.22
***************
*** 71,75 ****
$row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN)
{
! message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time']));
}
--- 71,75 ----
$row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN)
{
! mx_message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time']));
}
|
Update of /cvsroot/mxbb/core/install/schemas
In directory sc8-pr-cvs16:/tmp/cvs-serv18583/install/schemas
Modified Files:
mysql_schema_upgrade_to_2.8_b2.sql
mysql_schema_upgrade_to_2.8_b3.sql upgrade_schemas_map.php
Removed Files:
mysql_schema_install_2.7.1.sql mysql_schema_install_2.7.2.sql
mysql_schema_install_2.7.3.sql mysql_schema_install_2.7.5.sql
mysql_schema_install_2.701.sql mysql_schema_install_2.702.sql
mysql_schema_install_2.703.sql mysql_schema_install_2.704.sql
mysql_schema_install_2.705.sql mysql_schema_install_2.706.sql
mysql_schema_install_2.801.sql
mysql_schema_upgrade_to_2.7.0.sql
mysql_schema_upgrade_to_2.7.1.sql
mysql_schema_upgrade_to_2.7.4.sql
mysql_schema_upgrade_to_2.705.sql
mysql_schema_upgrade_to_2.706.sql
Log Message:
cleaning up the schemas
fixing a few minor bugs
fix for subSilver
--- mysql_schema_upgrade_to_2.706.sql DELETED ---
--- mysql_schema_upgrade_to_2.7.1.sql DELETED ---
Index: upgrade_schemas_map.php
===================================================================
RCS file: /cvsroot/mxbb/core/install/schemas/upgrade_schemas_map.php,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** upgrade_schemas_map.php 4 Sep 2006 16:48:43 -0000 1.13
--- upgrade_schemas_map.php 28 Apr 2007 19:43:42 -0000 1.14
***************
*** 37,43 ****
$upgrade_schemas_map = array(
! array('schema' => 'upgrade_to_2.705' , 'sql' => "SELECT auth_view FROM mx_table_page"),
! array('schema' => 'upgrade_to_2.706' , 'sql' => "SELECT portal_version FROM mx_table_portal"),
! array('schema' => 'upgrade_to_2.7.1' , 'sql' => "SELECT link_target FROM mx_table_menu_nav"),
array('schema' => 'upgrade_to_2.8_a1' , 'sql' => "SELECT parameter_order FROM mx_table_parameter"),
array('schema' => 'upgrade_to_2.8_a2' , 'sql' => "SELECT phpbb_stats FROM mx_table_page"),
--- 37,43 ----
$upgrade_schemas_map = array(
! //array('schema' => 'upgrade_to_2.705' , 'sql' => "SELECT auth_view FROM mx_table_page"),
! //array('schema' => 'upgrade_to_2.706' , 'sql' => "SELECT portal_version FROM mx_table_portal"),
! //array('schema' => 'upgrade_to_2.7.1' , 'sql' => "SELECT link_target FROM mx_table_menu_nav"),
array('schema' => 'upgrade_to_2.8_a1' , 'sql' => "SELECT parameter_order FROM mx_table_parameter"),
array('schema' => 'upgrade_to_2.8_a2' , 'sql' => "SELECT phpbb_stats FROM mx_table_page"),
--- mysql_schema_upgrade_to_2.7.4.sql DELETED ---
--- mysql_schema_install_2.7.1.sql DELETED ---
--- mysql_schema_install_2.7.5.sql DELETED ---
--- mysql_schema_upgrade_to_2.7.0.sql DELETED ---
--- mysql_schema_install_2.7.3.sql DELETED ---
--- mysql_schema_install_2.703.sql DELETED ---
--- mysql_schema_install_2.705.sql DELETED ---
--- mysql_schema_install_2.706.sql DELETED ---
--- mysql_schema_install_2.7.2.sql DELETED ---
--- mysql_schema_install_2.701.sql DELETED ---
--- mysql_schema_install_2.702.sql DELETED ---
--- mysql_schema_install_2.704.sql DELETED ---
--- mysql_schema_install_2.801.sql DELETED ---
Index: mysql_schema_upgrade_to_2.8_b3.sql
===================================================================
RCS file: /cvsroot/mxbb/core/install/schemas/mysql_schema_upgrade_to_2.8_b3.sql,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** mysql_schema_upgrade_to_2.8_b3.sql 30 Jan 2007 16:26:08 -0000 1.5
--- mysql_schema_upgrade_to_2.8_b3.sql 28 Apr 2007 19:43:42 -0000 1.6
***************
*** 90,93 ****
--- 90,94 ----
# New Fields in Table `mx_portal`
#
+ ALTER TABLE mx_table_portal ADD overall_header varchar(255) default 'overall_header.tpl';
ALTER TABLE mx_table_portal ADD navigation_block smallint(5) unsigned NOT NULL default '0';
ALTER TABLE mx_table_portal ADD main_layout varchar(255) default 'mx_main_layout.tpl' AFTER overall_header;
Index: mysql_schema_upgrade_to_2.8_b2.sql
===================================================================
RCS file: /cvsroot/mxbb/core/install/schemas/mysql_schema_upgrade_to_2.8_b2.sql,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** mysql_schema_upgrade_to_2.8_b2.sql 28 Jan 2007 19:53:33 -0000 1.4
--- mysql_schema_upgrade_to_2.8_b2.sql 28 Apr 2007 19:43:42 -0000 1.5
***************
*** 9,11 ****
# New Fields in Table `mx_portal`
#
- ALTER TABLE mx_table_portal ADD overall_header varchar(255) default 'overall_header.tpl';
--- 9,10 ----
--- mysql_schema_upgrade_to_2.705.sql DELETED ---
|
|
From: Jon O. <jon...@us...> - 2007-04-28 19:39:46
|
Update of /cvsroot/mxbb/core/modules/mx_phpbb2blocks/templates/subSilver
In directory sc8-pr-cvs16:/tmp/cvs-serv16673
Modified Files:
mx_forum.tpl
Log Message:
cleaning up the schemas
fixing a few minor bugs
fix for subSilver
Index: mx_forum.tpl
===================================================================
RCS file: /cvsroot/mxbb/core/modules/mx_phpbb2blocks/templates/subSilver/mx_forum.tpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** mx_forum.tpl 2 May 2006 23:22:17 -0000 1.1
--- mx_forum.tpl 28 Apr 2007 19:39:41 -0000 1.2
***************
*** 26,30 ****
<table width="100%" cellspacing="0" border="0" align="center" cellpadding="2">
! <tr>
<td align="left"><span class="gensmall"><a href="{U_MARK_READ}" class="gensmall">{L_MARK_FORUMS_READ}</a></span></td>
<td align="right"><span class="gensmall">{S_TIMEZONE}</span></td>
--- 26,30 ----
<table width="100%" cellspacing="0" border="0" align="center" cellpadding="2">
! <tr>
<td align="left"><span class="gensmall"><a href="{U_MARK_READ}" class="gensmall">{L_MARK_FORUMS_READ}</a></span></td>
<td align="right"><span class="gensmall">{S_TIMEZONE}</span></td>
***************
*** 35,43 ****
<table cellspacing="3" border="0" align="center" cellpadding="0">
! <tr>
! <td width="20" align="center"><img src="{FORUM_IMG}" alt="{L_NEW_POSTS}"/></td>
<td><span class="gensmall">{L_NEW_POSTS}</span></td>
<td> </td>
! <td width="20" align="center"><img src="{FORUM_NEW_IMG}" alt="{L_NO_NEW_POSTS}" /></td>
<td><span class="gensmall">{L_NO_NEW_POSTS}</span></td>
<td> </td>
--- 35,43 ----
<table cellspacing="3" border="0" align="center" cellpadding="0">
! <tr>
! <td width="20" align="center"><img src="{FORUM_NEW_IMG}" alt="{L_NEW_POSTS}"/></td>
<td><span class="gensmall">{L_NEW_POSTS}</span></td>
<td> </td>
! <td width="20" align="center"><img src="{FORUM_IMG}" alt="{L_NO_NEW_POSTS}" /></td>
<td><span class="gensmall">{L_NO_NEW_POSTS}</span></td>
<td> </td>
|
|
From: Jon O. <jon...@us...> - 2007-02-22 10:12:13
|
Update of /cvsroot/mxbb/mx_pafiledb/pafiledb/modules In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv29970/modules/mx_pafiledb/pafiledb/modules Modified Files: pa_download.php Log Message: lang fix Index: pa_download.php =================================================================== RCS file: /cvsroot/mxbb/mx_pafiledb/pafiledb/modules/pa_download.php,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** pa_download.php 24 Aug 2006 21:13:32 -0000 1.20 --- pa_download.php 22 Feb 2007 10:12:06 -0000 1.21 *************** *** 31,34 **** --- 31,46 ---- global $mx_script_name, $module_root_path; + // ********************************************************************** + // Read language definition + // ********************************************************************** + if ( !file_exists( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx ) ) + { + include( $module_root_path . 'language/lang_english/lang_main.' . $phpEx ); + } + else + { + include( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx ); + } + if ( isset( $_REQUEST['file_id'] ) ) { |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:23
|
Update of /cvsroot/mxbb/mx_simpledoc/simpledoc/shared/DynamicTree In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/shared/DynamicTree Modified Files: DynamicTree.js Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) Index: DynamicTree.js =================================================================== RCS file: /cvsroot/mxbb/mx_simpledoc/simpledoc/shared/DynamicTree/DynamicTree.js,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DynamicTree.js 17 Sep 2006 20:15:57 -0000 1.3 --- DynamicTree.js 15 Feb 2007 12:43:42 -0000 1.4 *************** *** 322,325 **** --- 322,350 ---- this.updateHtml(); }; + this.rename = function(product_data) { + build_name = product_data.substr(product_data.lastIndexOf(";")+1); + product_data = product_data.substr(0,product_data.lastIndexOf(";")); + + edition_name = product_data.substr(product_data.lastIndexOf(";")+1); + product_data = product_data.substr(0,product_data.lastIndexOf(";")); + + product_name = product_data.substr(product_data.lastIndexOf(";")+1); + + var build = findNode(this.active); + build.text = product_name; + + if (build.getLevel() > 1) + { + var edition = build.parentNode; + edition.text = edition_name; + + if (edition.getLevel() > 1) + { + var product = edition.parentNode; + product.text = build_name; + } + } + this.updateHtml(); + }; function Node(id, text, parentNode, childNodes, isDoc, isFolder) { this.id = id; |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:14
|
Update of /cvsroot/mxbb/mx_bugsbt/templates/subSilver In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/templates/subSilver Added Files: bugsbt_index.tpl bugsbt_post_body.tpl bugsbt_post_pretext.tpl bugsbt_post_preview.tpl bugsbt_product_body.tpl bugsbt_view_body.tpl subSilver.cfg Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: bugsbt_product_body.tpl --- <table cellpadding="0" cellspacing="0" border="0"><tr><td> <div class="TableContainer"> <table class="scrollTable example"> <thead class="fixedHeader"> <tr> <th width="5%" class="TableSortedAscending sortable row2" title="Click here to sort" onclick="Table.sort(this,{'sortType':Sort.Numeric,'rowShade':'alternate'})">{L_ID}</th> <th width="5%" class="sortable row2" title="Click here to sort" onclick="Table.sort(this,{'sortType':Sort.Default,'rowShade':'alternate'})">{L_STATUS}</th> <th width="50%" class="sortable row2" title="Click here to sort" onclick="Table.sort(this,{'sortType':Sort.Default,'rowShade':'alternate'})">{L_NAME}</th> <th width="10%" class="sortable row2" title="Click here to sort" onclick="Table.sort(this,{'sortType':Sort.Default,'rowShade':'alternate'})">{L_EDITION_BUILD}</th> <th width="20%" class="sortable row2" title="Click here to sort" onclick="Table.sort(this,{'sortType':Sort.Default,'rowShade':'alternate'})">{L_STATUS}</th> <th width="10%" class="sortable row2" title="Click here to sort" onclick="Table.sort(this,{'sortType':Sort.Date,'rowShade':'alternate'})">{L_REPORTED}</th> </tr> </thead> <tbody class="scrollContent"> <!-- BEGIN bugsrow --> <tr onclick="if (getCookie('openEditBug')) editBug('{bugsrow.ID}'); else viewBug('{bugsrow.ID}');" onmouseover="this.className='alternateRow'"; onmouseout="this.className=''";> <td width="5%" class="row1" ><span class="copyright">{bugsrow.ID}</span></td> <td width="5%" class="row1" ><span class="copyright">{bugsrow.CLOSED}</span></td> <td width="50%" class="row1"><span class="copyright">{bugsrow.NAME}{bugsrow.DESC}</span></td> <td width="10%" class="row1"><span class="copyright">{bugsrow.PRODUCT}</span></td> <td width="20%" class="row1"><span class="copyright">{bugsrow.STATUS}</span></td> <td width="10%" class="row1"><span class="copyright">{bugsrow.REPORTED}</span></td> </tr> <!-- END bugsrow --> </tbody> </table> </div> </td></tr></table> --- NEW FILE: bugsbt_index.tpl --- <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/includes/js/common.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/XulMenu/XulMenu.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/XulMenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/DynamicTree.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/XulTabs/XulTabs.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/SimpleTextEditor/SimpleTextEditor.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/includes/js/management.js.php"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/includes/js/request.js.php"></script> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/includes/js/debug.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/ajax/AjaxRequest_comp.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/ajax/dhtmlHistory.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/tablesort/table.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/tablesort/util.js"></script> <script type="text/javascript"> /* fix for IE not loading wysiwyg editor images */ var imgs = ["bold.gif", "center.gif", "help.gif", "image.gif", "indent.gif", "italic.gif", "left.gif", "link.gif", "ol.gif", "outdent.gif", "right.gif", "ul.gif", "underline.gif", "viewsource.gif"]; for (var k = 0; k < imgs.length; ++k) { var image = new Image(); image.src = "{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/SimpleTextEditor/images/"+imgs[k]; imgs[k] = image; } </script> <script type="text/javascript"> function _mxBlock(id, page) { this.block_id = id; this.page_id = page; } mxBlock = new _mxBlock('{BLOCK_ID}','{PAGE_ID}'); </script> <script language="JavaScript" type="text/javascript"> <!-- // bbCode control by // subBlue design // www.subBlue.com // Startup variables var imageTag = false; var theSelection = false; // Check for Browser & Platform for PC & IE specific bits // More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html var clientPC = navigator.userAgent.toLowerCase(); // Get client info var clientVer = parseInt(navigator.appVersion); // Get browser version var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1)); var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1)); var is_moz = 0; var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1)); var is_mac = (clientPC.indexOf("mac")!=-1); // Helpline messages b_help = "{L_BBCODE_B_HELP}"; i_help = "{L_BBCODE_I_HELP}"; u_help = "{L_BBCODE_U_HELP}"; q_help = "{L_BBCODE_Q_HELP}"; c_help = "{L_BBCODE_C_HELP}"; l_help = "{L_BBCODE_L_HELP}"; o_help = "{L_BBCODE_O_HELP}"; p_help = "{L_BBCODE_P_HELP}"; w_help = "{L_BBCODE_W_HELP}"; a_help = "{L_BBCODE_A_HELP}"; s_help = "{L_BBCODE_S_HELP}"; f_help = "{L_BBCODE_F_HELP}"; // Define the bbCode tags bbcode = new Array(); bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]'); imageTag = false; // Shows the help messages in the helpline window function helpline(help) { document.post.helpbox.value = eval(help + "_help"); } // Replacement for arrayname.length property function getarraysize(thearray) { for (i = 0; i < thearray.length; i++) { if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return i; } return thearray.length; } // Replacement for arrayname.push(value) not implemented in IE until version 5.5 // Appends element to the array function arraypush(thearray,value) { thearray[ getarraysize(thearray) ] = value; } // Replacement for arrayname.pop() not implemented in IE until version 5.5 // Removes and returns the last element of an array function arraypop(thearray) { thearraysize = getarraysize(thearray); retval = thearray[thearraysize - 1]; delete thearray[thearraysize - 1]; return retval; } function checkForm() { formErrors = false; if (document.post.article_name.value.length < 2) { formErrors = "{L_EMPTY_ARTICLE_NAME}\r"; } if (document.post.article_desc.value.length < 2) { formErrors = "{L_EMPTY_ARTICLE_DESC}\r"; } if (document.post.message.value.length < 2) { formErrors = "{L_EMPTY_MESSAGE}\r"; } if (document.post.type_id.value=='select_one') { formErrors = "{L_EMPTY_TYPE}\r"; } if (formErrors) { alert(formErrors); return false; } else { bbstyle(-1); //formObj.preview.disabled = true; //formObj.submit.disabled = true; return true; } } function emoticon(text) { var txtarea = document.post.message; text = ' ' + text + ' '; if (txtarea.createTextRange && txtarea.caretPos) { var caretPos = txtarea.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; txtarea.focus(); } else { txtarea.value += text; txtarea.focus(); } } function bbfontstyle(bbopen, bbclose) { var txtarea = document.post.message; if ((clientVer >= 4) && is_ie && is_win) { theSelection = document.selection.createRange().text; if (!theSelection) { txtarea.value += bbopen + bbclose; txtarea.focus(); return; } document.selection.createRange().text = bbopen + theSelection + bbclose; txtarea.focus(); return; } else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) { mozWrap(txtarea, bbopen, bbclose); return; } else { txtarea.value += bbopen + bbclose; txtarea.focus(); } storeCaret(txtarea); } function bbstyle(bbnumber) { var txtarea = document.post.message; donotinsert = false; theSelection = false; bblast = 0; if (bbnumber == -1) { // Close all open tags & default button names while (bbcode[0]) { butnumber = arraypop(bbcode) - 1; txtarea.value += bbtags[butnumber + 1]; buttext = eval('document.post.addbbcode' + butnumber + '.value'); eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"'); } imageTag = false; // All tags are closed including image tags :D txtarea.focus(); return; } if ((clientVer >= 4) && is_ie && is_win) { theSelection = document.selection.createRange().text; // Get text selection if (theSelection) { // Add tags around selection document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1]; txtarea.focus(); theSelection = ''; return; } } else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) { mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]); return; } // Find last occurance of an open tag the same as the one just clicked for (i = 0; i < bbcode.length; i++) { if (bbcode[i] == bbnumber+1) { bblast = i; donotinsert = true; } } if (donotinsert) { // Close all open tags up to the one just clicked & default button names while (bbcode[bblast]) { butnumber = arraypop(bbcode) - 1; txtarea.value += bbtags[butnumber + 1]; buttext = eval('document.post.addbbcode' + butnumber + '.value'); eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"'); imageTag = false; } txtarea.focus(); return; } else { // Open tags if (imageTag && (bbnumber != 14)) { // Close image tag before adding another txtarea.value += bbtags[15]; lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list document.post.addbbcode14.value = "Img"; // Return button back to normal state imageTag = false; } // Open tag txtarea.value += bbtags[bbnumber]; if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag arraypush(bbcode,bbnumber+1); eval('document.post.addbbcode'+bbnumber+'.value += "*"'); txtarea.focus(); return; } storeCaret(txtarea); } // From http://www.massless.org/mozedit/ function mozWrap(txtarea, open, close) { var selLength = txtarea.textLength; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; if (selEnd == 1 || selEnd == 2) selEnd = selLength; var s1 = (txtarea.value).substring(0,selStart); var s2 = (txtarea.value).substring(selStart, selEnd) var s3 = (txtarea.value).substring(selEnd, selLength); txtarea.value = s1 + open + s2 + close + s3; return; } // Insert at Claret position. Code from // http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 function storeCaret(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } //--> </script> <style type="text/css"> <!-- #menu { position: relative z-index: 10; } #menu_top { height: 30px; padding: 15px 15px 0 15px; } td.simpledoc_title { font-size: 13px; font-weight: bold; margin: 0; padding: 10px; margin-bottom: 0.6em; border: {T_TH_COLOR1} 1px solid; border-style: none none solid none; } .nomargin { margin-bottom: 0; } .hr { font-size: 0px; border-width: 1px; border-color: {T_TH_COLOR1}; border-style: solid none none none; margin-top: 2px; margin-bottom: 2px; } #main { } #left { padding: 5px 5px 5px 5px; border-right: 1px solid {T_TH_COLOR1}; vertical-align: top; } #right { padding: 5px 5px 5px 5px; vertical-align: top; height: 100%; width: 100%;} #tabs-loading, #tabs-saving { position: absolute; z-index: 10; display: none; opacity: 0.8; -moz-opacity: 0.8; filter: alpha(opacity=80); } img { border: 0; } ul { margin: 1em 0 1em 3em; padding: 0; } #tabs-data, #tabs-data table { font-family: {T_FONTFACE1}; font-size: 11px; color: {T_BODY_TEXT}; background: {T_TR_COLOR1}; width: 100%; } .t0 { border: {T_TH_COLOR1} 1px solid; } .t1 { background: {T_TR_COLOR2}; padding: 3px 8px; } .t2 { background: {T_TR_COLOR2}: 3px 8px; } #saved { color: {T_BODY_TEXT}; } .error { color: red; } .message { color: green; } .note { font-weight: bold; } .message-box { padding: 1em; background: {T_TD_COLOR2}; border: {T_TH_COLOR3} 1px solid; } pre { background-color: {T_TR_COLOR2}; padding: 0.75em 1.5em; border: 1px solid {T_TH_COLOR1}; } .contents { float: right; background-color: {T_TR_COLOR2}; padding: 0.75em; margin: 0 0 0.75em 0.75em; border: 1px solid {T_TH_COLOR1}; } .contents ul { margin-left: 1.2em; margin-right: 0.75em; margin-bottom: 0; padding: 0; } /* SimpleDoc [www.gosu.pl], style for DynamicTree */ .DynamicTree { font-family: {T_FONTFACE1}; font-size: 11px; white-space: nowrap; cursor: default; } .DynamicTree .wrap1, .DynamicTree .actions { -moz-user-select: none; } .DynamicTree a, .DynamicTree a:hover { color: {T_BODY_VLINK}; text-decoration: none; cursor: default; } .DynamicTree .text { padding: 1px; cursor: pointer; } .DynamicTree .text-active { background: {T_TR_COLOR1}; padding: 1px; cursor: pointer; } .DynamicTree div.folder img, .DynamicTree div.doc img { border: 0; vertical-align: -30%; } * html .DynamicTree .folder img, * html .DynamicTree .doc img { vertical-align: -40%; } .DynamicTree .section { background: url({MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/tree-branch.gif) repeat-y; display: none; } .DynamicTree .last { background: none; } .DynamicTree div.folder div.folder { margin-left: 18px; } .DynamicTree div.doc div.doc, .DynamicTree div.folder div.doc { margin-left: 18px; } .DynamicTree ul {} .DynamicTree li.folder {} .DynamicTree li.doc {} .DynamicTree .actions { margin-top: 7px; margin-left: 0px; height: 20px; float:left; } .DynamicTree .tooltip { margin-top: 28px; margin-left: 0px; height: 5px; } .DynamicTree .moveUp, .DynamicTree .moveDown, .DynamicTree .moveLeft, .DynamicTree .moveRight, .DynamicTree .insert, .DynamicTree .remove { margin-top: 4px; width: 20px; height: 20px; display: block; border: 1px solid {T_TH_COLOR1}; cursor: default; float:left; } .DynamicTree .moveUp:hover, .DynamicTree .moveDown:hover, .DynamicTree .moveLeft:hover, .DynamicTree .moveRight:hover, .DynamicTree .insert:hover, .DynamicTree .remove:hover { background-color: {T_TR_COLOR1}; border: 1px solid {T_TH_COLOR3}; } .DynamicTree .top { font-weight: bold; padding-left: 0px; line-height: 20px; color: {T_BODY_TEXT}; border-width: 2px; border-color: {T_TH_COLOR2}; border-style: none none border-width: 1px; border-color: {T_TH_COLOR2}; border-style: none none solid none; margin-bottom: 5px;} .DynamicTree .wrap1 { padding: 10px; border: 1px solid {T_TH_COLOR1}; width: 175px; } .DynamicTree .wrap2 { margin-left: 2px; } .DynamicTree #tree-insert-form { display: none; margin-top: 5em; } .DynamicTree #tree-insert-form .label { text-align: right; width: 50px; padding-right: 8px; } .DynamicTree #tree-insert-form .input { margin-bottom: 2px; padding-left: 3px; } .DynamicTree #tree-insert-form select { margin-bottom: 2px; } .DynamicTree #tree-insert-form .button { margin-top: 4px; } .XulMenu { font-family: georgia, tahoma, verdana; font-size: 11px; -moz-user-select: none; } .XulMenu .button, .XulMenu .button:hover, .XulMenu .button-active, .XulMenu .button-active:hover { line-height: normal; padding: 4px 8px 3px 8px; border: 1px solid {T_TR_COLOR2}; color: {T_BODY_TEXT}; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .button:hover { border-color: #ffffff #ACA899 #ACA899 #ffffff; } .XulMenu .button-active, .XulMenu .button-active:hover { border-color: #ACA899 #ffffff #ffffff #ACA899; } .XulMenu .item, .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: #ffffff; line-height: normal; padding: 3px 30px 3px 20px; color: #000000; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: #316AC5; color: #ffffff; } .XulMenu .section { background: #ffffff; border: 1px solid; border-color: #F1EFE2 #716F64 #716F64 #F1EFE2; padding: 2px 1px 1px 2px; position: absolute; visibility: hidden; z-index: -1; margin-top: 25px; } .XulMenu .arrow { position: absolute; top: 7px; right: 8px; border: 0; } .XulMenu .hr { font-size: 0px; border-width: 1px; border-color: #aca899; border-style: solid none none none; margin-top: 2px; margin-bottom: 2px; margin-left: 4px; margin-right: 4px; } * html .XulMenu td { position: relative; } /* ie 5.0 fix */ /* SimpleDoc [www.gosu.pl], style for tabs */ .XulTabs .wrap1 { height: 23px; } .XulTabs .wrap1 td { vertical-align: bottom; } .XulTabs .tab, .XulTabs .tab:hover, .XulTabs .tab-active, .XulTabs .tab-active:hover { text-decoration: none; padding: 3px 10px 3px 10px; border-top: 1px solid {T_TH_COLOR1}; border-left: 1px solid {T_TH_COLOR1}; color: {T_BODY_LINK}; cursor: default; white-space: nowrap; display: block; } .XulTabs .tab:hover { border-top: 2px solid {T_BODY_VLINK}; padding-top: 2px; } .XulTabs .tab-active, .XulTabs .tab-active:hover { border-top: 3px solid {T_BODY_VLINK}; padding-top: 2px; padding-bottom: 4px; font-weight: bold; } .XulTabs .view { border-right: 1px solid {T_TH_COLOR1}; } .XulTabs .content { border: 1px solid {T_TH_COLOR1}; background: {T_TR_COLOR1}; width: 100%; height: 100%; } .XulTabs .wrap2 { vertical-align: top; padding: 5px; } .XulTabs .data { display: none; } * html .XulTabs .tab, * html .XulTabs .tab:hover, * html .XulTabs .tab-active, * html .XulTabs .tab-active:hover { width: 100%; } /* SimpleDoc [www.gosu.pl], style for texteditor */ .ste { background-color: #ffffff; } .ste .bar { padding: 3px; border: {T_TH_COLOR1} 1px; border-style: solid solid none solid; } .ste .frame { background: #ffffff; border: 1px solid; border-color: {T_TH_COLOR1}; } .ste .frame iframe { background: #ffffff; width: 100%; height: 300px; } .ste img { background: #ffffff; border: 0; } .ste .button { background: #ffffff; padding: 1px; border: {T_TH_COLOR1} 1px solid; } .ste .button-hover { background: #ffffff; padding: 1px; border: 1px solid; border-color: {T_TH_COLOR3} } .ste .button-click { background: #ffffff; padding: 1px; border: 1px solid; border-color: {T_TH_COLOR3} } .ste .separator {background: #ffffff; width: 0px; height: 18px; border-left: {T_TH_COLOR1} 1px solid; border-right: {T_TH_COLOR3} 1px solid; margin: 0 5px; } .ste .source { color: {T_BODY_TEXT}; padding-top: 5px; } --> </style> <style type="text/css"> <!-- /* Table Sort */ table.example { border:1px solid {T_TH_COLOR1}; border-collapse:collapse; } table.example th, table.example td { border:1px solid {T_TH_COLOR3}; padding: 2px 15px 2px 15px; } table.example tr.alternate { background-color:{T_TR_COLOR3}; } table.example thead th { background-color:{T_TR_COLOR3}; color:{T_BODY_VLINK}; } table.example tfoot td { background-color:{T_TR_COLOR2}; } table.example th.sortable { cursor:pointer; font-size: 10px; } table.example th.TableSortedAscending { background-image:url("{MX_ROOT_PATH}modules/mx_shared/tablesort/sorted_up.gif"); background-position:center left; background-repeat:no-repeat; } table.example th.TableSortedDescending { background-image:url("{MX_ROOT_PATH}modules/mx_shared/tablesort/sorted_down.gif"); background-position:center left; background-repeat:no-repeat; } table.example th.TableFiltered { background-image:url("{MX_ROOT_PATH}modules/mx_shared/tablesort/filter.gif"); background-position:center left; background-repeat:no-repeat; } a.sortlink { text-decoration:none; padding-left:25px; font-family:courier; } </style> <style type='text/css'> /* Scrollable Content Height */ .scrollContent { height:200px; overflow-x:hidden; overflow-y:auto; } .scrollContent tr { height: auto; white-space: nowrap; } /* Prevent Mozilla scrollbar from hiding right-most cell content */ .scrollContent tr td:last-child { padding-right: 20px; } /* Fixed Header Height */ .fixedHeader tr { position: relative; height: auto; } /* Put border around entire table */ div.TableContainer { border: 1px solid {T_TH_COLOR1}; } /* Table Header formatting */ .headerFormat { background-color: {T_TR_COLOR3}; color: {T_BODY_TEXT}; margin: 3px; padding: 1px; white-space: nowrap; font-family: Helvetica; font-size: 16px; text-decoration: none; font-weight: bold; } .headerFormat tr td { border: 1px solid {T_TH_COLOR1}; background-color: {T_TR_COLOR1}; } /* Table Body (Scrollable Content) formatting */ .bodyFormat tr td { color: {T_BODY_TEXT}; margin: 3px; padding: 1px; border: 0px none; font-family: Helvetica; font-size: 12px; } /* Use to set different color for alternating rows */ .alternateRow td{ background-color: {T_TR_COLOR2}; cursor: pointer; } --> </style> <!--[if IE]> <style type="text/css"> /* IE Specific Style addition to constrain table from automatically growing in height */ div.TableContainer { height: 200px; overflow-x:hidden; overflow-y:auto; } </style> <![endif]--> <table cellspacing="1" cellpadding="0" width="100%" height="100%" class="forumline" style="border-top:none;"> <tr> <td class="row2"> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <td class="cat"> <div id="menu"> <table cellspacing="0" cellpadding="0" class="XulMenu"> <tr> <!-- <td> <a class="button" href="javascript:void(0)">{L_PROJECT}</a> <div class="section"> <a class="item" href="{MODE_MANAGE_URL}">{L_MANAGEMENT}</a> <a class="item" href="{MODE_PUBLISH_URL}">{L_PUBLISH}</a> <div class="hr"></div> <a class="item" href="{MODE_IMPORT_URL}">{L_IMPORT_CONTENT}</a> <a class="item" href="{MODE_EXPORT_URL}">{L_EXPORT_CONTENT}</a> <div class="hr"></div> <a class="item" href="{MODE_VIEW_URL}">{L_DOC_VIEW}</a> </div> </td> --> <!-- <td> <a class="button" href="javascript:void(0)">{L_OPTIONS}</a> <div class="section"> <a class="item" href="{MODE_SETTINGS_URL}">{L_SETTINGS}</a> </div> </td> --> <td> <a class="button" href="javascript:void(0)">{L_HELP}</a> <div class="section"> <a class="item" href="javascript:void(window.open('{MX_ROOT_PATH}{MODULE_ROOT_PATH}docs/help-contents.html', 'Contents', 'width=400,height=400,scrollbars=yes'))">{L_CONTENTS}</a> <a class="item" href="javascript:void(window.open('{MX_ROOT_PATH}{MODULE_ROOT_PATH}docs/help-about.html', 'Contents', 'width=400,height=400,scrollbars=yes'))">{L_ABOUT}</a> </div> </td> </tr> </table> </div> <script type="text/javascript">var menu = new XulMenu("menu"); menu.zIndex.visible = 10; menu.init();</script> </td> </tr> <tr> <td> <!-- MAIN --> <table cellspacing="0" cellpadding="0" width="100%" height="100%" id="main"> <tr> <td id="left" class="row1"> <div class="DynamicTree"> <table cellspacing="0" cellpadding="0"> <tr> <td class="row2"> <div class="wrap1"> <div class="top">{L_TOC}</div> <div class="row2"> <div id="tree"> {TREE_HTML} </div> </div> </div> <script type="text/javascript">var tree = new DynamicTree("tree"); tree.path = "{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/"; tree.init();</script> </td> </tr> </table> <div class="actions"> <a id="tree-moveUp" class="moveUp" href="javascript:void(0)"><img src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/moveUp.gif" width="20" height="20" alt=""></a> <a id="tree-moveDown" class="moveDown" href="javascript:void(0)"><img src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/moveDown.gif" width="20" height="20" alt=""></a> <a id="tree-moveLeft" class="moveLeft" href="javascript:void(0)"><img src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/moveLeft.gif" width="20" height="20" alt=""></a> <a id="tree-moveRight" class="moveRight" href="javascript:void(0)"><img src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/moveRight.gif" width="20" height="20" alt=""></a> <a id="tree-insert" class="insert" href="javascript:void(0)"><img src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/insert.gif" width="20" height="20" alt=""></a> <a id="tree-remove" class="remove" href="javascript:void(0)"><img src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/shared/DynamicTree/images/delete.gif" width="20" height="20" alt=""></a> </div> <div class="tooltip" id="tree-tooltip"></div> <div id="tree-insert-form"> <form action="javascript:void(0)" method="get"> <table cellspacing="0" cellpadding="0"> <tr id="tree-insert-where-div"> <td class="label">{L_WHERE}</td> <td><select id="tree-insert-where" name="tree-insert-where" class="where"><option value="before">{L_BEFORE}</option><option value="after">{L_AFTER}</option></select></td> </tr> <tr> <td class="label">{L_TYPE}</td> <td><select id="tree-insert-type" name="tree-insert-type"><option value="doc">{L_DOCUMENT}</option><option value="folder">{L_FOLDER}</option></select></td> </tr> <tr> <td class="label">{L_NAME}</td> <td><input class="input" size="18" id="tree-insert-name" name="tree-insert-name" type="text" value="" /></td> </tr> <tr> <td colspan="2" align="center"> <input id="tree-insert-button" class="button" type="button" value="Insert" /> <input id="tree-insert-cancel" type="button" value="Cancel" /> </td> </tr> </table> </form> </div> </div> <script type="text/javascript" src="{MX_ROOT_PATH}{MODULE_ROOT_PATH}bugsbt/includes/js/init_main.js"></script> </td> <td id="right" class="row1"> <table cellspacing="0" cellpadding="0" width="100%" height="100%" id="tabs" class="XulTabs"> <tr> <td class="wrap1"> <table cellspacing="0" cellpadding="0"> <tr> <td class="row2"><a id="tab_bugs" class="tab" href="javascript:void(0)" onclick="viewBugs(); this.blur();">{L_VIEW_BUGS}</a></td> <td class="row2"><a id="tab_report" class="tab view" href="javascript:void(0)" onclick="reportBug(); this.blur();">{L_REPORT_BUG}</a></td> </tr> </table> </td> <td align="right"> <input id="openEditBug" type="checkbox" value="1" onclick="this.checked ? setCookie('openEditBug', 1, COOKIE_YEAR) : delCookie('openEditBug'); this.blur();"> {L_DEFAULT_EDIT} </td> </tr> <tr> <td colspan="2"> <table cellspacing="0" cellpadding="0" class="content"> <tr> <td class="wrap2"> <div id="tabs-loading">{L_LOADING}</div> <div id="tabs-saving">{L_SAVING}</div> <div id="tabs-data"></div> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> <script type="text/javascript"> if (getCookie("openEditBug")) el('openEditBug').checked = "checked"; </script> --- NEW FILE: bugsbt_post_pretext.tpl --- <br clear="all" /> <table class="forumline" width="100%" cellspacing="0" cellpadding="4" border="0"> <tr> <th height="25" class="thHead">{PRETEXT_HEADER}</th> </tr> <tr> <td class="row1"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <span class="postbody">{PRETEXT_BODY}</span> </td> </tr> </table></td> </tr> <tr> <td class="spaceRow" height="1"><img src="{SPACER_IMG}" width="1" height="1" /></td> </tr> </table> <br clear="all" /> --- NEW FILE: bugsbt_post_preview.tpl --- <table class="forumline" width="100%" cellspacing="1" cellpadding="4" border="0"> <tr> <th height="25" class="thHead">{L_PREVIEW}</th> </tr> <tr> <td class="row1"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <span class="postbody">{PRE_COMMENT}</span> </td> </tr> </table></td> </tr> <tr> <td class="spaceRow" height="1"><img src="{SPACER_IMG}" width="1" height="1" /></td> </tr> </table> <br clear="all" /> --- NEW FILE: subSilver.cfg --- <?php // // ** Configuration file for subSilver template ** // // ** copyright (C) 2001 The phpBB Group ** // ** Created by subBlue design ** // ** www.subBlue.com ** // // ** subSilver dev. forum: www.subSky.com/phpBB2/ ** // // $Id: subSilver.cfg,v 1.1 2007/02/15 12:44:07 jonohlsson Exp $ // // Please note that to enable support of different languages // the {LANG} place holder is available. This will be replaced // with xxx where xxx is the users selected language. If // that language isn't available it will default to english. // Therefore you MUST ensure you have at least a english // directory if you choose to localise your template // // // Do not alter this line! // define(MX_TEMPLATE_CONFIG, TRUE); $mx_template_config = true; // ------------------------------------------------------------------------- // Prefix with PORTAL_URL // ------------------------------------------------------------------------- $current_template_images = PORTAL_URL . $current_template_path . "/images"; // ------------------------------------------------------------------------- // Define images // ------------------------------------------------------------------------- $mx_images['kb_icon_approve'] = "$current_template_images/icon_approve.gif"; $mx_images['kb_icon_unapprove'] = "$current_template_images/icon_unapprove.gif"; $mx_images['kb_title'] = "$current_template_images/{LANG}/kb.gif"; $mx_images['kb_search'] = "$current_template_images/{LANG}/icon_kb_search.gif"; $mx_images['kb_stats'] = "$current_template_images/{LANG}/icon_kb_stats.gif"; $mx_images['kb_toplist'] = "$current_template_images/{LANG}/icon_kb_toplist.gif"; $mx_images['kb_upload'] = "$current_template_images/{LANG}/icon_kb_post.gif"; $mx_images['kb_rate'] = "$current_template_images/{LANG}/icon_kb_rate.gif"; $mx_images['kb_comment_post'] = "$current_template_images/{LANG}/icon_kb_post_comment.gif"; // // Article and Category lists // //$mx_images['kb_article'] = $images['icon_minipost']; // Article Row $mx_images['kb_article'] = $mx_root_path . $images['mx_graphics']['menu_icons'] . '/' ."icon_message.gif"; // Article Row //$mx_images['kb_article_new'] = $images['icon_minipost_new']; // Article Row $mx_images['kb_article_new'] = $mx_root_path . $images['mx_graphics']['menu_icons'] . '/' ."icon_message_hot.gif"; // Article Row $mx_images['kb_category'] = $images['folder']; // Category Row $mx_images['kb_category_new'] = $images['folder_new']; // Category Row // ------------------------------------------------------------------------- // Redefine phpBB images (Commenting) // ------------------------------------------------------------------------- $mx_images['kb_icon_minipost'] = $images['icon_minipost']; $mx_images['kb_icon_edit'] = $images['icon_edit']; $mx_images['kb_icon_delpost'] = $images['icon_delpost']; $mx_images['kb_icon_reply'] = $images['icon_reply']; $mx_images['kb_folder'] = $images['folder']; $mx_images['kb_folder_sticky'] = $images['folder_sticky']; $mx_images['kb_folder_announce'] = $images['folder_announce']; $mx_images['kb_icon_newest_reply'] = $images['icon_newest_reply']; // // Last Article block // $mx_images['kb_last_article_folder'] = $images['folder']; $mx_images['kb_icon_latest_reply'] = $images['icon_latest_reply']; ?> --- NEW FILE: bugsbt_view_body.tpl --- <script language='javascript'> <!-- function delete_item(theURL) { if (confirm('Are you sure you want to delete this item??')) { window.location.href=theURL; } else { alert ('No Action has been taken.'); } } --> </script> <!-- BEGIN sub_tabs --> <table cellspacing="0" cellpadding="0" width="100%" height="100%" id="tabs" class="XulTabs"> <tr> <td class="wrap1"> <table cellspacing="0" cellpadding="0"> <tr> <td class="row2"><a id="tab_view" class="tab" href="javascript:void(0)" onclick="viewBug(); this.blur();">{L_VIEW_BUG}</a></td> <td class="row2"><a id="tab_edit" class="tab right" href="javascript:void(0)" onclick="editBug(); this.blur();">{L_EDIT_BUG}</a></td> <td class="row2"><a id="tab_delete" class="tab view" href="javascript:void(0)" onclick="deleteBug(); this.blur();">{L_DELETE_BUG}</a></td> </tr> </table> </td> </tr> <tr> <td colspan="2"> <table cellspacing="0" cellpadding="0" class="content"> <tr> <td class="wrap2"> <!-- END sub_tabs --> <span class="gen"><b>{BUG_PRODUCT}</b> ({L_BUG_PRODUCT})</span> » <span class="gen"><b>{BUG_EDITION}</b> ({L_BUG_EDITION})</span> » <span class="gen"><b>{BUG_BUILD}</b> ({L_BUG_BUILD})</span> <p><span class="maintitle">{BUG_TITLE}</span> <p><span class="gensmall"><b>{BUG_DESCRIPTION}</b></span> <div class="articleDetails"> <table width="100%" cellpadding="4" cellspacing="0" border="0"> <tr> <td class="row2"> <span class="gensmall"><b>{L_BUG_TYPE}</b></span> <span class="gensmall">{BUG_TYPE}</span><br /> <hr> <span class="gensmall"><b>{L_BUG_AUTHOR}</b></span> <span class="gensmall">{BUG_AUTHOR}</span><br /> <span class="gensmall"><b>{L_BUG_DATE}</b></span> <span class="gensmall">{BUG_DATE}</span><br /> <span class="gensmall">{VIEWS}</span><br /> <hr> <!-- BEGIN custom_field --> <span class="gensmall"><b>{custom_field.CUSTOM_NAME}</b> </span> <span class="gensmall">{custom_field.DATA} </span><br /> <!-- END custom_field --> </td> </tr> </table> </div> <p><span class="postbody">{BUG_TEXT}</span> <!--<p><span class="cattitle"> {EDIT} {DELETE}</span>--> <!-- BEGIN use_comments --> <p> <div class="articleDetails"><span class="cattitle">{use_comments.L_COMMENTS}</span></div> <!-- BEGIN no_comments --> <p><span class="genmed">{use_comments.no_comments.L_NO_COMMENTS}</span> <!-- END no_comments --> <p> <table width="100%" cellspacing="0" cellpadding="4" border="1"> <!-- BEGIN text --> <tr> <td width="100" align="left" valign="top" class="row2"> <span class="name"> <b>{use_comments.text.POSTER}</b></span><hr /><br /> <span class="postdetails">{use_comments.text.POSTER_RANK}<br /> {use_comments.text.RANK_IMAGE}{use_comments.text.POSTER_AVATAR} </span><br /> </td> <td class="row1" height="28" valign="top"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="80%" valign="middle"><span class="genmed"><img src="{use_comments.text.ICON_MINIPOST_IMG}" width="12" height="9" border="0" /> <b>{use_comments.text.TITLE}</b> </span><span class="genmed">({use_comments.text.TIME})</span></td> <td align="right"> <!-- BEGIN auth_edit --> <a href="{use_comments.text.auth_edit.U_COMMENT_EDIT}"><img src="{use_comments.text.auth_edit.EDIT_IMG}" alt="{use_comments.text.auth_edit.L_COMMENT_EDIT}" title="{use_comments.text.auth_edit.L_COMMENT_EDIT}" border="0"></a> <!-- END auth_edit --> <!-- BEGIN auth_delete --> <a href="{use_comments.text.auth_delete.U_COMMENT_DELETE}"><img src="{use_comments.text.auth_delete.DELETE_IMG}" alt="{use_comments.text.auth_delete.L_COMMENT_DELETE}" title="{use_comments.text.auth_delete.L_COMMENT_DELETE}" border="0"></a> <!-- END auth_delete --> </td> </tr> <tr> <td colspan="2"><hr /></td> </tr> <tr> <td colspan="2"valign="top"><span class="postbody">{use_comments.text.TEXT}</span></td> </tr> </table> </td> </tr> <!-- END text --> </table> <p> <!-- BEGIN comments_pag --> <table width="100%" cellspacing="0" cellpadding="0" border="0"> <tr> <td><span class="nav">{use_comments.comments_pag.PAGE_NUMBER}</span></td> <td align="right"><span class="nav">{use_comments.comments_pag.PAGINATION}</span></td> </tr> </table> <!-- END comments_pag --> <p> <!-- BEGIN auth_post --> <table width="100%" cellspacing="2" cellpadding="2" border="0" align="center"> <tr> <td><a href="{use_comments.auth_post.U_COMMENT_POST}"><img src="{use_comments.auth_post.REPLY_IMG}" border="0" alt="{use_comments.auth_post.L_COMMENT_ADD}" align="middle" /></a></td> </tr> </table> <br clear="all" /> <!-- END auth_post --> <!-- END use_comments --> <span class="gen"><p id="saved"></p></span> <!-- BEGIN sub_tabs --> </td></tr></table></td></tr></table> <!-- END sub_tabs --> --- NEW FILE: bugsbt_post_body.tpl --- <!-- BEGIN sub_tabs --> <table cellspacing="0" cellpadding="0" width="100%" height="100%" id="tabs" class="XulTabs"> <tr> <td class="wrap1"> <table cellspacing="0" cellpadding="0"> <tr> <td class="row2"><a id="tab_view" class="tab" href="javascript:void(0)" onclick="viewBug(); this.blur();">{L_VIEW_BUG}</a></td> <td class="row2"><a id="tab_edit" class="tab right" href="javascript:void(0)" onclick="editBug(); this.blur();">{L_EDIT_BUG}</a></td> <td class="row2"><a id="tab_delete" class="tab view" href="javascript:void(0)" onclick="deleteBug(); this.blur();">{L_DELETE_BUG}</a></td> </tr> </table> </td> </tr> <tr> <td colspan="2"> <table cellspacing="0" cellpadding="0" class="content"> <tr> <td class="wrap2"> <!-- END sub_tabs --> <span class="gen"><b>{BUG_PRODUCT}</b> ({L_BUG_PRODUCT})</span> » <span class="gen"><b>{BUG_EDITION}</b> ({L_BUG_EDITION})</span> » <span class="gen"><b>{BUG_BUILD}</b> ({L_BUG_BUILD})</span> <form method="post" action="{S_ACTION}" onsubmit="saveContent(this); this.blur(); return false;" name="post"> {KB_PRETEXT_BOX} {KB_PREVIEW_BOX} <table border="0" cellpadding="4" cellspacing="1" align="center" width="100%"> <!-- <tr> <th class="thHead" colspan="2" height="25"><b>{L_ADD_ARTICLE}</b></th> </tr> --> <!-- BEGIN switch_name --> <tr> <td class="row1"><span class="gen"><b><nobr>{L_NAME}</nobr></b></span></td> <td class="row2"> <span class="gen"> <input type="text" name="username" size="25" maxlength="100" style="width:300px" class="post" value="{USERNAME}" /></span></td> </tr> <!-- END switch_name --> <tr> <td class="row1"><span class="gen"><b><nobr>{L_ARTICLE_TITLE}</nobr></b></span></td> <td class="row2"> <span class="gen"> <input type="text" name="article_name" size="25" maxlength="100" style="width:300px" class="post" value="{ARTICLE_TITLE}" /></span></td> </tr> <tr> <td class="row1"><span class="gen"><b>{L_ARTICLE_DESCRIPTION}</b></span></td> <td class="row2"> <span class="gen"> <input type="text" name="article_desc" size="25" maxlength="255" style="width:300px" class="post" value="{ARTICLE_DESC}" /></span></td> </tr> <tr> <td class="row1" valign="top"><span class="gen"><b><nobr>{L_ARTICLE_TEXT}</nobr></b> <table width="100" border="0" cellspacing="0" cellpadding="5" align="center"> <tr align="center"> <td colspan="{S_SMILIES_COLSPAN}" class="gensmall"><b>{L_EMOTICONS}</b></td> </tr> <!-- BEGIN smilies_row --> <tr align="center" valign="middle"> <!-- BEGIN smilies_col --> <td><a href="javascript:emoticon('{smilies_row.smilies_col.SMILEY_CODE}')"><img src="{smilies_row.smilies_col.SMILEY_IMG}" border="0" alt="{smilies_row.smilies_col.SMILEY_DESC}" title="{smilies_row.smilies_col.SMILEY_DESC}" /></a></td> <!-- END smilies_col --> </tr> <!-- END smilies_row --> <!-- BEGIN switch_smilies_extra --> <tr align="center"> <td colspan="{S_SMILIES_COLSPAN}"><span class="nav"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=300,resizable=yes,scrollbars=yes,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">{L_MORE_SMILIES}</a></span></td> </tr> <!-- END switch_smilies_extra --> </table> <br /><span class="gen"><b><nobr>{L_OPTIONS}</nobr></b></span><br /><span class="gensmall">{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}<br />{LINKS_STATUS}<br />{IMAGES_STATUS}</span><br /><br /> </td> <td class="row2" valign="top"><span class="gen"> <table width="300" border="0" cellspacing="0" cellpadding="2"> <!-- BEGIN switch_bbcodes --> <tr align="center" valign="middle"> <td><span class="genmed"> <input type="button" class="button" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 20px" onClick="bbstyle(0)" onMouseOver="helpline('b')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 20px" onClick="bbstyle(2)" onMouseOver="helpline('i')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 20px" onClick="bbstyle(4)" onMouseOver="helpline('u')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="q" name="addbbcode6" value="Quote" style="width: 45px" onClick="bbstyle(6)" onMouseOver="helpline('q')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="c" name="addbbcode8" value="Code" style="width: 35px" onClick="bbstyle(8)" onMouseOver="helpline('c')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="l" name="addbbcode10" value="List" style="width: 35px" onClick="bbstyle(10)" onMouseOver="helpline('l')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="o" name="addbbcode12" value="List=" style="width: 35px" onClick="bbstyle(12)" onMouseOver="helpline('o')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="p" name="addbbcode14" value="Img" style="width: 35px" onClick="bbstyle(14)" onMouseOver="helpline('p')" /> </span></td> <td><span class="genmed"> <input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 35px" onClick="bbstyle(16)" onMouseOver="helpline('w')" /> </span></td> </tr> <tr> <td colspan="9"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><span class="genmed"> {L_FONT_COLOR}: <select name="addbbcode18" onChange="bbfontstyle('[color=' + this.form.addbbcode18.options[this.form.addbbcode18.selectedIndex].value + ']', '[/color]');this.selectedIndex=0;" onMouseOver="helpline('s')"> <option style="color:black; background-color: {T_TD_COLOR1}" value="{T_FONTCOLOR1}" class="genmed">{L_COLOR_DEFAULT}</option> <option style="color:darkred; background-color: {T_TD_COLOR1}" value="darkred" class="genmed">{L_COLOR_DARK_RED}</option> <option style="color:red; background-color: {T_TD_COLOR1}" value="red" class="genmed">{L_COLOR_RED}</option> <option style="color:orange; background-color: {T_TD_COLOR1}" value="orange" class="genmed">{L_COLOR_ORANGE}</option> <option style="color:brown; background-color: {T_TD_COLOR1}" value="brown" class="genmed">{L_COLOR_BROWN}</option> <option style="color:yellow; background-color: {T_TD_COLOR1}" value="yellow" class="genmed">{L_COLOR_YELLOW}</option> <option style="color:green; background-color: {T_TD_COLOR1}" value="green" class="genmed">{L_COLOR_GREEN}</option> <option style="color:olive; background-color: {T_TD_COLOR1}" value="olive" class="genmed">{L_COLOR_OLIVE}</option> <option style="color:cyan; background-color: {T_TD_COLOR1}" value="cyan" class="genmed">{L_COLOR_CYAN}</option> <option style="color:blue; background-color: {T_TD_COLOR1}" value="blue" class="genmed">{L_COLOR_BLUE}</option> <option style="color:darkblue; background-color: {T_TD_COLOR1}" value="darkblue" class="genmed">{L_COLOR_DARK_BLUE}</option> <option style="color:indigo; background-color: {T_TD_COLOR1}" value="indigo" class="genmed">{L_COLOR_INDIGO}</option> <option style="color:violet; background-color: {T_TD_COLOR1}" value="violet" class="genmed">{L_COLOR_VIOLET}</option> <option style="color:white; background-color: {T_TD_COLOR1}" value="white" class="genmed">{L_COLOR_WHITE}</option> <option style="color:black; background-color: {T_TD_COLOR1}" value="black" class="genmed">{L_COLOR_BLACK}</option> </select> {L_FONT_SIZE}:<select name="addbbcode20" onChange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]')" onMouseOver="helpline('f')"> <option value="7" class="genmed">{L_FONT_TINY}</option> <option value="9" class="genmed">{L_FONT_SMALL}</option> <option value="12" selected class="genmed">{L_FONT_NORMAL}</option> <option value="18" class="genmed">{L_FONT_LARGE}</option> <option value="24" class="genmed">{L_FONT_HUGE}</option> </select> </span> </td> </tr> <tr> <td nowrap="nowrap" align="left"><span class="gensmall"><a href="javascript:bbstyle(-1)" class="genmed" onMouseOver="helpline('a')">{L_BBCODE_CLOSE_TAGS}</a></span></td> </tr> </table> </td> </tr> <tr> <td colspan="9"> <span class="gensmall"> <input type="text" name="helpbox" size="45" maxlength="100" style="width:300px; font-size:10px" class="helpline" value="{L_STYLES_TIP}" /> </span> </td> </tr> <!-- END switch_bbcodes --> <tr> <td colspan="9"><span class="gen"><textarea name="message" rows="10" cols="25" wrap="virtual" style="width:300px" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">{ARTICLE_BODY}</textarea></span> </td> </tr> </table> </span></td> </tr> <tr> <td class="row1"><span class="gen"><b>{L_CLOSED}</b></span></td> <td class="row2"><input type="radio" name="closed" value="1" {S_BUG_YES} /> {L_YES} <input type="radio" name="closed" value="0" {S_BUG_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" valign="top"><span class="gen"><b><nobr>{L_ARTICLE_TYPE}</nobr></b></span></td> <td class="row2"><span class="gen"> <select name="type_id"> <option value="select_one">{L_SELECT_TYPE}</option> <!-- BEGIN types --> {types.TYPE} <!-- END types --> </select> </span> </td> </tr> <!-- BEGIN switch_edit --> <tr> <td class="row1"><span class="gen"><b>{L_ARTICLE_CATEGORY}</b></span></td> <td class="row2"> <select name="cat"> {switch_edit.CAT_LIST} </select> </td> </tr> <!-- END switch_edit --> <!-- BEGIN custom_data_fields --> <tr> <td class="cat" colspan="2" align="center"><span class="cattitle">{custom_data_fields.L_ADDTIONAL_FIELD}</span></td> </tr> <!-- END custom_data_fields --> <!-- BEGIN input --> <tr> <td class="row1"><span class="genmed">{input.FIELD_NAME}</span><br><span class="gensmall">{input.FIELD_DESCRIPTION}</span></td> <td class="row2"> <input type="text" class="post" size="30" name="field[{input.FIELD_ID}]" value="{input.FIELD_VALUE}" /> </td> </tr> <!-- END input --> <!-- SPILT --> <!-- BEGIN textarea --> <tr> <td class="row1"><span class="genmed">{textarea.FIELD_NAME}</span><br><span class="gensmall">{textarea.FIELD_DESCRIPTION}</span></td> <td class="row2"> <textarea rows="6" class="post" name="field[{textarea.FIELD_ID}]" cols="10">{textarea.FIELD_VALUE}</textarea> </td> </tr> <!-- END textarea --> <!-- SPILT --> <!-- BEGIN radio --> <tr> <td class="row1"><span class="genmed">{radio.FIELD_NAME}</span><br><span class="gensmall">{radio.FIELD_DESCRIPTION}</span></td> <td class="row2"> <!-- BEGIN row --> <input type="radio" name="field[{radio.FIELD_ID}]" value="{radio.row.FIELD_VALUE}" {radio.row.FIELD_SELECTED} /><span class="gensmall">{radio.row.FIELD_VALUE}</span> <!-- END row --> </td> </tr> <!-- END radio --> <!-- SPILT --> <!-- BEGIN select --> <tr> <td class="row1"><span class="genmed">{select.FIELD_NAME}</span><br><span class="gensmall">{select.FIELD_DESCRIPTION}</span></td> <td class="row2"> <select name="field[{select.FIELD_ID}]" class="post"> <!-- BEGIN row --> <option value="{select.row.FIELD_VALUE}"{radio.row.FIELD_SELECTED}>{select.row.FIELD_VALUE}</option> <!-- END row --> </select> </td> </tr> <!-- END select --> <!-- SPILT --> <!-- BEGIN select_multiple --> <tr> <td class="row1"><span class="genmed">{select_multiple.FIELD_NAME}</span><br><span class="gensmall">{select_multiple.FIELD_DESCRIPTION}</span></td> <td class="row2"> <select name="field[{select_multiple.FIELD_ID}][]" multiple="multiple" size="4" class="post"> <!-- BEGIN row --> <option value="{select_multiple.row.FIELD_VALUE}"{select_multiple.row.FIELD_SELECTED}>{select_multiple.row.FIELD_VALUE}</option> <!-- END row --> </select> </td> </tr> <!-- END select_multiple --> <!-- SPILT --> <!-- BEGIN checkbox --> <tr> <td class="row1"><span class="genmed">{checkbox.FIELD_NAME}</span><br><span class="gensmall">{checkbox.FIELD_DESCRIPTION}</span></td> <td class="row2"> <!-- BEGIN row --> <input type="checkbox" name="field[{checkbox.FIELD_ID}][{checkbox.row.FIELD_VALUE}]" value="{checkbox.row.FIELD_VALUE}" {checkbox.row.FIELD_CHECKED}><span class="gensmall">{checkbox.row.FIELD_VALUE}</span> <!-- END row --> </td> </tr> <!-- END checkbox --> <tr> <td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS} <p><input type="submit" name="submit" id="submit" value="{L_SUBMIT}"> (ctrl+s)</p> <input type="hidden" name="submit" value=""> <input type="hidden" id="body-tmp" name="body-tmp" value=""> </td> </tr> </table> </form> <span class="gen"><p id="saved"></p></span> <!-- BEGIN sub_tabs --> </td></tr></table></td></tr></table> <!-- END sub_tabs --> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:11
|
Update of /cvsroot/mxbb/mx_bugsbt/templates/subSilver/images In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/templates/subSilver/images Added Files: index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
Update of /cvsroot/mxbb/mx_bugsbt/templates/subSilver/admin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/templates/subSilver/admin Added Files: bugsbt_cat_admin_body.tpl bugsbt_cat_auth_body.tpl bugsbt_cat_del_body.tpl bugsbt_cat_edit_body.tpl bugsbt_cat_select_body.tpl bugsbt_config_body.tpl bugsbt_field_add.tpl bugsbt_select.tpl bugsbt_select_field_delete.tpl bugsbt_select_field_edit.tpl bugsbt_select_field_type.tpl bugsbt_type_body.tpl bugsbt_type_edit_body.tpl index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: bugsbt_type_body.tpl --- <h1>{L_TYPE_TITLE}</h1> <p>{L_TYPE_DESCRIPTION}</p> <table width="100%" cellpadding="4" cellspacing="1" border="0"> <tr> <form action="{S_ACTION}" method="POST"> <td align="{S_CONTENT_DIR_RIGHT}" width="100%">{L_CREATE_TYPE} <input class="post" type="text" name="new_type_name"> <input type="submit" value="{L_CREATE}" class="liteoption"></td> </form> </tr> </table> <table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline"> <tr> <th class="thCornerL" nowrap="nowrap">{L_TYPE}</th> <th class="thCornerR" nowrap="nowrap">{L_ACTION}</th> </tr> <!-- BEGIN typerow --> <tr> <td class="{typerow.ROW_CLASS}"><span class="gen">{typerow.TYPE}</span></td> <td width="15%" nowrap="nowrap" class="{typerow.ROW_CLASS}" align="center">{typerow.U_EDIT} {typerow.U_DELETE}</td> </tr> <!-- END typerow --> <tr> <td colspan="2" class="cat"> </td> </tr> </table> <br clear="all" /> --- NEW FILE: bugsbt_cat_select_body.tpl --- <h1>{L_AUTH_TITLE}</h1> <p>{L_AUTH_EXPLAIN}</p> <form action="{S_KB_ACTION}" method="post"> <table width="50%" align="center" cellpadding="3" cellspacing="1" border="0" class="forumline"> <tr> <th class="thHead" colspan="2" height="28">{L_SELECT_CAT}</th> </tr> <tr> <td class="row1" height="25"><select name="cat_id">{CAT_SELECT_TITLE}</select></td> <td class="row1" width="100%" align="center"><input name="submit" type="submit" value="{L_LOOK_UP_CAT}" class="liteoption" /> </td> </tr> </table> </form> <br /> --- NEW FILE: bugsbt_cat_admin_body.tpl --- <h1>{L_CAT_TITLE}</h1> <p>{L_CAT_EXPLAIN}</p> <table width="100%" cellpadding="2" cellspacing="2" border="0"> <tr> <form action="{S_ACTION}" method="POST"> <td align="{S_CONTENT_DIR_RIGHT}" width="100%">{L_CREATE_CAT} <input type="text" name="new_product_name"> <input type="submit" value="{L_CREATE}" class="liteoption"></td> </form> </tr> </table> <table width="100%" cellpadding="3" cellspacing="0" border="0" class="forumline"> <tr> <th class="thCornerL" nowrap="nowrap">{L_CATEGORY}</th> <th class="thTop" nowrap="nowrap">{L_ORDER}</th> <th class="thCornerR" nowrap="nowrap">{L_ACTION}</th> </tr> <!-- BEGIN productrow --> <tr> <td class="row2"><span class="maintitle">{productrow.PRE}{productrow.CATEGORY}<br />{productrow.PRE}{productrow.CAT_DESCRIPTION}</span></td> <td class="row2" align="center"><span class="gen">{productrow.U_UP} {productrow.U_DOWN}</span></td> <td class="row2" align="center">{productrow.U_EDIT} {productrow.U_DELETE}</td> </tr> <tr> <td class="row2" colspan="3"> <table width="100%" cellpadding="4" cellspacing="0" border="0" class="forumline"> <tr><td width="10" class="row1"><span class="cattitle">Editions: </span></td><td class="row1"><table width="100%" cellpadding="3" cellspacing="0" border="0"> <!-- BEGIN edition --> <tr> <td class="row1"><span class="gen"><b>{productrow.edition.CATEGORY}</b>{productrow.edition.CAT_DESCRIPTION}</span></td> <td class="row1" align="center"><span class="gensmall">{productrow.edition.U_UP} {productrow.edition.U_DOWN}</span></td> <td class="row1" align="center">{productrow.edition.U_EDIT} {productrow.edition.U_DELETE}</td> </tr> <tr> <td class="row1" colspan="3"> <table width="100%" cellpadding="4" cellspacing="0" border="0" class="forumline"> <tr><td width="10"><span class="cattitle">Builds: </span></td><td><table width="100%" cellpadding="3" cellspacing="0" border="0"> <!-- BEGIN build --> <tr> <td ><span class="gensmall"><b>{productrow.edition.build.CATEGORY}</b>{productrow.edition.build.CAT_DESCRIPTION}</span></td> <td align="center"><span class="gensmall">{productrow.edition.build.U_UP} {productrow.edition.build.U_DOWN}</span></td> <td align="center">{productrow.edition.build.U_EDIT} {productrow.edition.build.U_DELETE}</td> </tr> <!-- END build --> <tr> <td colspan="3"> <form action="{S_ACTION}" method="POST"> {L_CREATE_CAT} <input type="hidden" name="parent" value="{productrow.edition.CATEGORY_ID}"><input type="text" name="new_build_name"> <input type="submit" value="{L_CREATE}" class="liteoption"> </form> </td> </tr> </table></td></tr> </table> </td> </tr> <!-- END edition --> <tr> <td colspan="3"> <form action="{S_ACTION}" method="POST"> {L_CREATE_CAT} <input type="hidden" name="parent" value="{productrow.CATEGORY_ID}"><input type="text" name="new_edition_name"> <input type="submit" value="{L_CREATE}" class="liteoption"> </form> </td> </tr> </table></td></tr> </table> </td> </tr> <!-- END productrow --> </table> <br clear="all" /> --- NEW FILE: bugsbt_select_field_edit.tpl --- <h1>{L_FIELD_TITLE}</h1> <p>{L_FIELD_EXPLAIN}</p> <form action="{S_FIELD_ACTION}" method="post"> <table width="100%" cellpadding="3" cellspacing="1" class="forumline"> <tr> <th colspan="2" class="thHead">{L_FIELD_TITLE}</th> </tr> <!-- BEGIN field_row --> <tr> <td width="3%" class="row1" align="center" valign="middle"><input type="radio" name="field_id" value="{field_row.FIELD_ID}" /></td> <td width="97%" class="row1"><b>{field_row.FIELD_NAME}</b><br /><span class="gensmall">{field_row.FIELD_DESC}</span></td></tr> <!-- END field_row --> <td align="center" class="cat" colspan="2"> {S_HIDDEN_FIELDS}<input class="liteoption" type="submit" value="{L_FIELD_TITLE}" name="submit"> </td> </tr> </table> </form> --- NEW FILE: bugsbt_select.tpl --- <h1>{L_FIELD_TITLE}</h1> <p>{L_FIELD_EXPLAIN}</p> <form action="{S_FIELD_ACTION}" method="post"> <table width="100%" cellpadding="3" cellspacing="1" class="forumline"> <tr> <th class="thHead">{L_SELECT_TITLE}</b></th> </tr> <tr> <td align="center" class="row1" > <input class="liteoption" type="submit" value="add" name="mode"> <input class="liteoption" type="submit" value="edit" name="mode"> <input class="liteoption" type="submit" value="delete" name="mode"></td> </tr> <tr> <th class="thHead">{L_FIELD_TITLE}</b></th> </tr> <!-- BEGIN field_row --> <tr> <td width="97%" class="row1" align="center"><b>{field_row.FIELD_NAME}</b><br><span class="gensmall">{field_row.FIELD_DESC}</span></td> </tr> <!-- END field_row --> </table> </form> --- NEW FILE: bugsbt_cat_del_body.tpl --- <h1>{L_DELETE_TITLE}</h1> <p>{L_DELETE_DESCRIPTION}</p> <table cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> <tr> <form action="{S_ACTION}" method="post"> <th colspan="2" class="thHead">{L_CAT_DELETE}</th> </tr> <tr> <td class="row1">{L_CAT_NAME}</td> <td class="row1"><span class="row1">{CAT_NAME}</span></td> </tr> <tr> <td class="row1">{L_MOVE_CONTENTS}</td> <td class="row1"><select name="move_id"><option value="0">{L_DELETE_ITEMS}</option>{S_SELECT_TO}</select></td> </tr> <tr> <td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_DELETE}" class="mainoption" /></td> </tr> </table> </form> --- NEW FILE: bugsbt_type_edit_body.tpl --- <h1>{L_EDIT_TITLE}</h1> <p>{L_EDIT_DESCRIPTION}</p> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> <form action="{S_ACTION}" method="post"> <tr> <th class="thHead" colspan="2">{L_CAT_SETTINGS}</th> </tr> <tr> <td class="row1">{L_CATEGORY}</td> <td class="row2"><input class="post" type="text" size="25" name="catname" value="{CAT_NAME}" class="post" /></td> </tr> <!-- BEGIN switch_cat --> <tr> <td class="row1">{L_DESCRIPTION}</td> <td class="row2"><textarea rows="5" cols="45" wrap="virtual" name="catdesc" class="post">{CAT_DESCRIPTION}</textarea></td> </tr> <tr> <td class="row1">{L_PARENT}</td> <td class="row2"> <select name="parent"> <option value="0">{L_NONE}</otpion> {PARENT_LIST} </select> </tr> <tr> <td class="row1" width="50%">{L_FORUM_ID}<br /><span class="gensmall">{L_FORUM_ID_EXPLAIN}</span></td> <td class="row2" width="50%">{FORUM_LIST}</td> </tr> <!-- BEGIN switch_edit_category --> <tr> <td class="row1">{L_NUMBER_ARTICLES}</td> <td class="row2"><input class="post" type="text" size="4" maxlength="3" name="number_articles" value="{NUMBER_ARTICLES}" class="post" /></td> </tr> <!-- END switch_edit_category --> <!-- END switch_cat --> <tr> <td class="cat" colspan="2" align="center">{S_HIDDEN}<input type="submit" name="submit" value="{L_CREATE}" class="mainoption" /></td> </tr> </table> </form> <br clear="all" /> --- NEW FILE: bugsbt_field_add.tpl --- <h1>{L_FIELD_TITLE}</h1> <p>{L_FIELD_EXPLAIN}</p> <form action="{S_FIELD_ACTION}" method="post"> <!-- BEGIN error --> <table width="100%" cellpadding="3" cellspacing="1" class="forumline"> <tr> <td class="row2" align="center">{ERROR}</td> </tr> </table> <br /> <!-- END error --> <table width="100%" cellpadding="3" cellspacing="1" class="forumline"> <tr> <th colspan="2" class="thHead">{L_FIELD_TITLE}</th> </tr> <tr> <td width="50%" class="row1">{L_FIELD_NAME}<br><span class="gensmall">{L_FIELD_NAME_INFO}</span></td> <td class="row2"><input type="text" class="post" size="50" name="field_name" value="{FIELD_NAME}" /></td> </tr> <tr> <td class="row1">{L_FIELD_DESC}<br><span class="gensmall">{L_FIELD_DESC_INFO}</span></td> <td class="row2"><input type="text" class="post" size="50" name="field_desc" value="{FIELD_DESC}" /></td> </tr> <!-- BEGIN data --> <tr> <td class="row1">{L_FIELD_DATA}<br><span class="gensmall">{L_FIELD_DATA_INFO}</span></td> <td class="row2"><textarea rows="6" name="data" cols="32">{FIELD_DATA}</textarea></td> </tr> <!-- END data --> <!-- BEGIN regex --> <tr> <td class="row1">{L_FIELD_REGEX}<br><span class="gensmall">{L_FIELD_REGEX_INFO}</span></td> <td class="row2"><input type="text" class="post" size="50" name="regex" value="{FIELD_REGEX}" /></td> </tr> <!-- END regex --> <!-- BEGIN order --> <tr> <td width="50%" class="row1">{L_FIELD_ORDER}</td> <td class="row2"><input type="text" class="post" size="6" name="field_order" value="{FIELD_ORDER}" /></td> </tr> <!-- END order --> <tr> <td align="center" class="cat" colspan="2"> {S_HIDDEN_FIELDS}<input class="liteoption" type="submit" value="{L_FIELD_TITLE}" name="submit"> </td> </tr> </table> </form> --- NEW FILE: bugsbt_select_field_delete.tpl --- <h1>{L_FIELD_TITLE}</h1> <p>{L_FIELD_EXPLAIN}</p> <form action="{S_FIELD_ACTION}" method="post"> <table width="100%" cellpadding="3" cellspacing="1" class="forumline"> <tr> <th colspan="2" class="thHead">{L_FIELD_TITLE}</b></th> </tr> <!-- BEGIN field_row --> <tr> <td width="3%" class="row1" align="center" valign="middle"><input type="checkbox" name="field_ids[{field_row.FIELD_ID}]" value="yes"></td> <td width="97%" class="row1"><b>{field_row.FIELD_NAME}</b><br><span class="gensmall">{field_row.FIELD_DESC}</span></td> </tr> <!-- END field_row --> <tr> <td align="center" class="cat" colspan="2">{S_HIDDEN_FIELDS}<input class="liteoption" type="submit" value="{L_FIELD_TITLE}" name="submit"></td> </tr> </table> </form> --- NEW FILE: bugsbt_cat_auth_body.tpl --- <h1>{L_AUTH_TITLE}</h1> <p>{L_AUTH_EXPLAIN}</p> <form action="{S_ACTION}" method="post"> <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline"> <tr> <th class="thCornerL" height="25" nowrap="nowrap">{L_GROUPS}</th> <th class="thTop" nowrap="nowrap">{L_VIEW}</th> <th class="thTop" nowrap="nowrap">{L_EDIT}</th> <th class="thTop" nowrap="nowrap">{L_DELETE}</th> <th class="thTop" nowrap="nowrap">{L_UPLOAD}</th> <th class="thTop" nowrap="nowrap">{L_RATE}</th> <th class="thTop" nowrap="nowrap">{L_VIEW_COMMENT}</th> <th class="thTop" nowrap="nowrap">{L_POST_COMMENT}</th> <th class="thTop" nowrap="nowrap">{L_EDIT_COMMENT}</th> <th class="thTop" nowrap="nowrap">{L_DELETE_COMMENT}</th> <th class="thCornerR" nowrap="nowrap">{L_IS_MODERATOR}</th> </tr> <!-- BEGIN grouprow --> <tr> <td class="row1" align="center" height="28"><span class="gen">{grouprow.GROUP_NAME}</span></td> <td class="row2" align="center"> <input name="view[]" type="checkbox" {grouprow.VIEW_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="edit[]" type="checkbox" {grouprow.EDIT_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="delete[]" type="checkbox" {grouprow.DELETE_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="post[]" type="checkbox" {grouprow.POST_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="rate[]" type="checkbox" {grouprow.RATE_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="view_comment[]" type="checkbox" {grouprow.COMMENT_VIEW_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="post_comment[]" type="checkbox" {grouprow.COMMENT_POST_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="edit_comment[]" type="checkbox" {grouprow.COMMENT_EDIT_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="delete_comment[]" type="checkbox" {grouprow.COMMENT_DELETE_CHECKED} value="{grouprow.GROUP_ID}" /> </td> <td class="row2" align="center"> <input name="moderator[]" type="checkbox" {grouprow.MODERATOR_CHECKED} value="{grouprow.GROUP_ID}" /> </td> </tr> <!-- END grouprow --> <tr> <td class="cat" height="25" align="center" colspan="11"><input type="reset" value="{L_RESET}" class="liteoption" /> <input name="submit" type="submit" value="{L_SUBMIT}" class="mainoption" /></td> </tr> </table> </form> <br /> --- NEW FILE: bugsbt_cat_edit_body.tpl --- <script language="JavaScript" type="text/javascript"> <!-- var error_msg = ""; function checkAddForm() { error_msg = ""; if(document.form.catname.value == "") { error_msg += "Empty Category name!!"; } if(error_msg != "") { alert(error_msg); error_msg = ""; return false; } else { return true; } } // --> </script> <h1>{L_EDIT_TITLE}</h1> <p>{L_EDIT_DESCRIPTION}</p> <form action="{S_ACTION}" method="post" name="form" onsubmit="return checkAddForm();"> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> <tr> <th class="thHead" colspan="2">{L_CAT_SETTINGS}</th> </tr> <tr> <td class="row1">{L_CATEGORY}</td> <td class="row2"><input class="post" type="text" size="25" name="catname" value="{CAT_NAME}" class="post" /></td> </tr> <!-- BEGIN switch_cat --> <tr> <td class="row1">{L_DESCRIPTION}</td> <td class="row2"><textarea rows="5" cols="45" wrap="virtual" name="catdesc" class="post">{CAT_DESCRIPTION}</textarea></td> </tr> <tr> <td class="row1">{L_PARENT}</td> <td class="row2"> <select name="parent" disabled> <option value="0">{L_NONE}</otpion> {PARENT_LIST} </select> <input type="hidden" name="parent" value="{PARENT_ID}"> </tr> <tr> <td class="row1">{L_CAT_ALLOWFILE}<br><span class="gensmall">{L_CAT_ALLOWFILE_INFO}</span></td> <td class="row2"> <input type="radio" name="cat_allow_file" value="1" {CHECKED_YES} disabled>{L_YES} <input type="radio" name="cat_allow_file" value="0" {CHECKED_NO} disabled>{L_NO} <input type="hidden" name="cat_allow_file" value="{CHECKED_ID}"> </td> </tr> <!-- BEGIN switch_edit_category --> <tr> <td class="row1">{L_NUMBER_ITEMS}</td> <td class="row2"><input class="post" type="text" size="4" maxlength="3" name="number_articles" value="{NUMBER_ITEMS}" class="post" /></td> </tr> <!-- END switch_edit_category --> <!-- END switch_cat --> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_COMMENTS_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_USE_COMMENTS}<br /><span class="gensmall">{L_USE_COMMENTS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="cat_allow_comments" value="-1" {S_USE_COMMENTS_DEFAULT} /> {L_DEFAULT} <input type="radio" name="cat_allow_comments" value="1" {S_USE_COMMENTS_YES} /> {L_YES} <input type="radio" name="cat_allow_comments" value="0" {S_USE_COMMENTS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_INTERNAL_COMMENTS}<br /><span class="gensmall">{L_INTERNAL_COMMENTS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="internal_comments" value="-1" {S_INTERNAL_COMMENTS_DEFAULT} /> {L_DEFAULT} <input type="radio" name="internal_comments" value="1" {S_INTERNAL_COMMENTS_INTERNAL} /> {L_INTERNAL_COMMENTS_INTERNAL} <input type="radio" name="internal_comments" value="0" {S_INTERNAL_COMMENTS_PHPBB} /> {L_INTERNAL_COMMENTS_PHPBB}</td> </tr> <tr> <td class="row1" width="50%">{L_FORUM_ID}<br /><span class="gensmall">{L_FORUM_ID_EXPLAIN}</span></td> <td class="row2" width="50%">{FORUM_LIST}</td> </tr> <tr> <td class="row1" width="50%">{L_AUTOGENERATE_COMMENTS}<br /><span class="gensmall">{L_AUTOGENERATE_COMMENTS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="autogenerate_comments" value="-1" {S_AUTOGENERATE_COMMENTS_DEFAULT} /> {L_DEFAULT} <input type="radio" name="autogenerate_comments" value="1" {S_AUTOGENERATE_COMMENTS_YES} /> {L_YES} <input type="radio" name="autogenerate_comments" value="0" {S_AUTOGENERATE_COMMENTS_NO} /> {L_NO}</td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_INSTRUCTIONS_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_PRE_TEXT_NAME}<br /><span class="gensmall">{L_PRE_TEXT_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="show_pretext" value="-1" {S_DEFAULT_PRETEXT} /> {L_DEFAULT} <input type="radio" name="show_pretext" value="1" {S_SHOW_PRETEXT} /> {L_SHOW} <input type="radio" name="show_pretext" value="0" {S_HIDE_PRETEXT} /> {L_HIDE}</td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_NOTIFICATIONS_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_NOTIFY}<br /><span class="gensmall">{L_NOTIFY_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="notify" value="-1" {S_NOTIFY_DEFAULT} />{L_DEFAULT} <input type="radio" name="notify" value="0" {S_NOTIFY_NONE} />{L_NONE} <input type="radio" name="notify" value="2" {S_NOTIFY_EMAIL} />{L_EMAIL} <input type="radio" name="notify" value="1" {S_NOTIFY_PM} />{L_PM}</td> </tr> <tr> <td class="row1" width="50%">{L_NOTIFY_GROUP}<br /><span class="gensmall">{L_NOTIFY_GROUP_EXPLAIN}</span></td> <td class="row2" width="50%">{NOTIFY_GROUP}</td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" height="25" nowrap="nowrap" colspan="2">{L_CAT_PERMISSIONS}</th> </tr> <tr> <td class="row1" width="50%">{L_VIEW_LEVEL}<br><span class="gensmall">{L_VIEW_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_VIEW_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_EDIT_LEVEL}<br><span class="gensmall">{L_EDIT_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_EDIT_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_DELETE_LEVEL}<br><span class="gensmall">{L_DELETE_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_DELETE_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_UPLOAD_LEVEL}<br><span class="gensmall">{L_UPLOAD_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_UPLOAD_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_APPROVAL_LEVEL}<br><span class="gensmall">{L_APPROVAL_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_APPROVAL_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_APPROVAL_EDIT_LEVEL}<br><span class="gensmall">{L_APPROVAL_EDIT_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_APPROVAL_EDIT_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_RATE_LEVEL}<br><span class="gensmall">{L_RATE_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_RATE_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_VIEW_COMMENT_LEVEL}<br><span class="gensmall">{L_VIEW_COMMENT_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_VIEW_COMMENT_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_POST_COMMENT_LEVEL}<br><span class="gensmall">{L_POST_COMMENT_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_POST_COMMENT_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_EDIT_COMMENT_LEVEL}<br><span class="gensmall">{L_EDIT_COMMENT_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_EDIT_COMMENT_LEVEL}</td> </tr> <tr> <td class="row1" width="50%">{L_DELETE_COMMENT_LEVEL}<br><span class="gensmall">{L_DELETE_COMMENT_LEVEL_INFO}</span></td> <td class="row2" width="50%">{S_DELETE_COMMENT_LEVEL}</td> </tr> <tr> <td class="cat" colspan="2" align="center">{S_HIDDEN}<input type="submit" name="submit" value="{L_CREATE}" class="mainoption" /></td> </tr> </table> </form> <br clear="all" /> --- NEW FILE: bugsbt_config_body.tpl --- <h1>{L_CONFIGURATION_TITLE}</h1> <p>{L_CONFIGURATION_EXPLAIN}</p> <form action="{S_ACTION}" method="post"> <table width="100%" cellpadding="3" cellspacing="1" border="0" align="center" class="forumline"> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_GENERAL_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_MODULE_NAME}<br /><span class="gensmall">{L_MODULE_NAME_EXPLAIN}</span></td> <td class="row2" width="50%"><input text="text" name="module_name" value="{MODULE_NAME}" size="20" maxlength="50" /></td> </tr> <tr> <td class="row1" width="50%">{L_ENABLE_MODULE}<br /><span class="gensmall">{L_ENABLE_MODULE_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="enable_module" value="1" {S_ENABLE_MODULE_YES} /> {L_YES} <input type="radio" name="enable_module" value="0" {S_ENABLE_MODULE_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_WYSIWYG_PATH}<br /><span class="gensmall">{L_WYSIWYG_PATH_EXPLAIN}</span></td> <td class="row2" width="50%"><input text="text" name="wysiwyg_path" value="{WYSIWYG_PATH}" size="20" maxlength="50" /></td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_ARTICLE_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_WYSIWYG}<br /><span class="gensmall">{L_ALLOW_WYSIWYG_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_wysiwyg" value="1" {S_ALLOW_WYSIWYG_YES} /> {L_YES} <input type="radio" name="allow_wysiwyg" value="0" {S_ALLOW_WYSIWYG_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_HTML}<br /><span class="gensmall">{L_ALLOW_HTML_EXPLAIN}</span></td> <td class="row2" width="50%"><input class="radio" type="radio" name="allow_html" value="1" {S_ALLOW_HTML_YES} /> {L_YES} <input type="radio" name="allow_html" value="0" {S_ALLOW_HTML_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOWED_HTML_TAGS}<br /><span class="gensmall">{L_ALLOWED_HTML_TAGS_EXPLAIN}</span></td> <td class="row2" width="50%"><input text="text" name="allowed_html_tags" value="{ALLOWED_HTML_TAGS}" size="15" maxlength="50" /></td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_BBCODE}<br /><span class="gensmall">{L_ALLOW_BBCODE_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_bbcode" value="1" {S_ALLOW_BBCODE_YES} /> {L_YES} <input type="radio" name="allow_bbcode" value="0" {S_ALLOW_BBCODE_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_SMILIES}<br /><span class="gensmall">{L_ALLOW_SMILIES_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_smilies" value="1" {S_ALLOW_SMILIES_YES} /> {L_YES} <input type="radio" name="allow_smilies" value="0" {S_ALLOW_SMILIES_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_IMAGES}<br /><span class="gensmall">{L_ALLOW_IMAGES_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_images" value="1" {S_ALLOW_IMAGES_YES} /> {L_YES} <input type="radio" name="allow_images" value="0" {S_ALLOW_IMAGES_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_IMAGES_MESSAGE}<br><span class="gensmall">{L_IMAGES_MESSAGE_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="no_image_message" value="{MESSAGE_IMAGE}" /></td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_LINKS}<br /><span class="gensmall">{L_ALLOW_LINKS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_links" value="1" {S_ALLOW_LINKS_YES} /> {L_YES} <input type="radio" name="allow_links" value="0" {S_ALLOW_LINKS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_LINKS_MESSAGE}<br><span class="gensmall">{L_LINKS_MESSAGE_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="no_link_message" value="{MESSAGE_LINK}" /></td> </tr> <tr> <td class="row1" width="50%">{L_FORMAT_WORDWRAP}<br /><span class="gensmall">{L_FORMAT_WORDWRAP_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="formatting_wordwrap" value="1" {S_FORMAT_WORDWRAP_YES} /> {L_YES} <input type="radio" name="formatting_wordwrap" value="0" {S_FORMAT_WORDWRAP_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_FORMAT_IMAGE_RESIZE}<br><span class="gensmall">{L_FORMAT_IMAGE_RESIZE_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="formatting_image_resize" value="{FORMAT_IMAGE_RESIZE}" /></td> </tr> <tr> <td class="row1" width="50%">{L_FORMAT_TRUNCATE_LINKS}<br /><span class="gensmall">{L_FORMAT_TRUNCATE_LINKS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="formatting_truncate_links" value="1" {S_FORMAT_TRUNCATE_LINKS_YES} /> {L_YES} <input type="radio" name="formatting_truncate_links" value="0" {S_FORMAT_TRUNCATE_LINKS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_MAX_SUBJECT_CHAR}<br><span class="gensmall">{L_MAX_SUBJECT_CHAR_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="max_subject_chars" value="{MAX_SUBJECT_CHAR}" /></td> </tr> <tr> <td class="row1">{L_MAX_DESC_CHAR}<br><span class="gensmall">{L_MAX_DESC_CHAR_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="max_desc_chars" value="{MAX_DESC_CHAR}" /></td> </tr> <tr> <td class="row1">{L_MAX_CHAR}<br><span class="gensmall">{L_MAX_CHAR_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="max_chars" value="{MAX_CHAR}" /></td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_APPEARANCE_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_STATS_LIST}<br /><span class="gensmall">{L_STATS_LIST_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="stats_list" value="1" {S_STATS_LIST_YES} /> {L_YES} <input type="radio" name="stats_list" value="0" {S_STATS_LIST_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_HEADER_BANNER}<br /><span class="gensmall">{L_HEADER_BANNER_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="header_banner" value="1" {S_HEADER_BANNER_YES} /> {L_YES} <input type="radio" name="header_banner" value="0" {S_HEADER_BANNER_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_PAGINATION}<br /><span class="gensmall">{L_PAGINATION_EXPLAIN}</span></td> <td class="row2" width="50%"><input class="post" type="text" name="pagination" value="{PAGINATION}" size="5" maxlength="4" /></td> </tr> <tr> <td class="row1" width="50%">{L_SORT_METHOD}<br /><span class="gensmall">{L_SORT_METHOD_EXPLAIN}</span></td> <td class="row2" width="50%">{SORT_METHOD} </td> </tr> <tr> <td class="row1" width="50%">{L_SORT_ORDER}<br /><span class="gensmall">{L_SORT_ORDER_EXPLAIN}</span></td> <td class="row2" width="50%">{SORT_ORDER} </td> </tr> <tr> <td class="row1">{L_USE_SIMPLE_NAVIGATION}<br /><span class="gensmall">{L_USE_SIMPLE_NAVIGATION_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="use_simple_navigation" value="1" {S_USE_SIMPLE_NAVIGATION_YES} /> {L_YES} <input type="radio" name="use_simple_navigation" value="0" {S_USE_SIMPLE_NAVIGATION_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_CAT_COL}</td> <td class="row2"><input class="post" type="text" maxlength="2" size="5" name="cat_col" value="{CAT_COL}" /></td> </tr> <tr> <td class="row1">{L_NFDAYS}<br><span class="gensmall">{L_NFDAYSINFO}</span></td> <td class="row2"><input type="text" class="post" size="5" maxlength="5" name="settings_newdays" value="{SETTINGS_NEWDAYS}" /></td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_COMMENTS_TITLE}<br /><span class="gensmall">{L_COMMENTS_TITLE_EXPLAIN}</span></th> </tr> <tr> <td class="row1" width="50%">{L_USE_COMMENTS}<br /><span class="gensmall">{L_USE_COMMENTS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="use_comments" value="1" {S_USE_COMMENTS_YES} /> {L_YES} <input type="radio" name="use_comments" value="0" {S_USE_COMMENTS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_INTERNAL_COMMENTS}<br /><span class="gensmall">{L_INTERNAL_COMMENTS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="internal_comments" value="1" {S_INTERNAL_COMMENTS_INTERNAL} /> {L_INTERNAL_COMMENTS_INTERNAL} <input type="radio" name="internal_comments" value="0" {S_INTERNAL_COMMENTS_PHPBB} /> {L_INTERNAL_COMMENTS_PHPBB}</td> </tr> <tr> <td class="row1" width="50%">{L_FORUM_ID}<br /><span class="gensmall">{L_FORUM_ID_EXPLAIN}</span></td> <td class="row2" width="50%">{FORUM_LIST}</td> </tr> <tr> <td class="row1" width="50%">{L_COMMENTS_PAG}<br /><span class="gensmall">{L_COMMENTS_PAG_EXPLAIN}</span></td> <td class="row2" width="50%"><input class="post" type="text" name="comments_pagination" value="{COMMENTS_PAG}" size="5" maxlength="4" /></td> </tr> <tr> <td class="row1" width="50%">{L_AUTOGENERATE_COMMENTS}<br /><span class="gensmall">{L_AUTOGENERATE_COMMENTS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="autogenerate_comments" value="1" {S_AUTOGENERATE_COMMENTS_YES} /> {L_YES} <input type="radio" name="autogenerate_comments" value="0" {S_AUTOGENERATE_COMMENTS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_DEL_TOPIC}<br /><span class="gensmall">{L_DEL_TOPIC_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="del_topic" value="1" {S_DEL_TOPIC_YES} /> {L_YES} <input type="radio" name="del_topic" value="0" {S_DEL_TOPIC_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_COMMENT_WYSIWYG}<br /><span class="gensmall">{L_ALLOW_COMMENT_WYSIWYG_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_comment_wysiwyg" value="1" {S_ALLOW_COMMENT_WYSIWYG_YES} /> {L_YES} <input type="radio" name="allow_comment_wysiwyg" value="0" {S_ALLOW_COMMENT_WYSIWYG_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_COMMENT_HTML}<br /><span class="gensmall">{L_ALLOW_COMMENT_HTML_EXPLAIN}</span></td> <td class="row2" width="50%"><input class="radio" type="radio" name="allow_comment_html" value="1" {S_ALLOW_COMMENT_HTML_YES} /> {L_YES} <input type="radio" name="allow_comment_html" value="0" {S_ALLOW_COMMENT_HTML_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOWED_COMMENT_HTML_TAGS}<br /><span class="gensmall">{L_ALLOWED_HTML_TAGS_EXPLAIN}</span></td> <td class="row2" width="50%"><input text="text" name="allowed_comment_html_tags" value="{ALLOWED_COMMENT_HTML_TAGS}" size="15" maxlength="50" /></td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_COMMENT_BBCODE}<br /><span class="gensmall">{L_ALLOW_BBCODE_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_comment_bbcode" value="1" {S_ALLOW_COMMENT_BBCODE_YES} /> {L_YES} <input type="radio" name="allow_comment_bbcode" value="0" {S_ALLOW_COMMENT_BBCODE_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_COMMENT_SMILIES}<br /><span class="gensmall">{L_ALLOW_SMILIES_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_comment_smilies" value="1" {S_ALLOW_COMMENT_SMILIES_YES} /> {L_YES} <input type="radio" name="allow_comment_smilies" value="0" {S_ALLOW_COMMENT_SMILIES_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_COMMENT_IMAGES}<br /><span class="gensmall">{L_ALLOW_IMAGES_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_comment_images" value="1" {S_ALLOW_COMMENT_IMAGES_YES} /> {L_YES} <input type="radio" name="allow_comment_images" value="0" {S_ALLOW_COMMENT_IMAGES_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_COMMENT_IMAGES_MESSAGE}<br><span class="gensmall">{L_COMMENT_IMAGES_MESSAGE_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="no_comment_image_message" value="{COMMENT_MESSAGE_IMAGE}" /></td> </tr> <tr> <td class="row1" width="50%">{L_ALLOW_COMMENT_LINKS}<br /><span class="gensmall">{L_ALLOW_COMMENT_LINKS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="allow_comment_links" value="1" {S_ALLOW_COMMENT_LINKS_YES} /> {L_YES} <input type="radio" name="allow_comment_links" value="0" {S_ALLOW_COMMENT_LINKS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_COMMENT_LINKS_MESSAGE}<br><span class="gensmall">{L_COMMENT_LINKS_MESSAGE_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="no_comment_link_message" value="{COMMENT_MESSAGE_LINK}" /></td> </tr> <tr> <td class="row1" width="50%">{L_COMMENT_FORMAT_WORDWRAP}<br /><span class="gensmall">{L_COMMENT_FORMAT_WORDWRAP_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="formatting_comment_wordwrap" value="1" {S_COMMENT_FORMAT_WORDWRAP_YES} /> {L_YES} <input type="radio" name="formatting_comment_wordwrap" value="0" {S_COMMENT_FORMAT_WORDWRAP_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_COMMENT_FORMAT_IMAGE_RESIZE}<br><span class="gensmall">{L_COMMENT_FORMAT_IMAGE_RESIZE_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="formatting_comment_image_resize" value="{COMMENT_FORMAT_IMAGE_RESIZE}" /></td> </tr> <tr> <td class="row1" width="50%">{L_COMMENT_FORMAT_TRUNCATE_LINKS}<br /><span class="gensmall">{L_COMMENT_FORMAT_TRUNCATE_LINKS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="formatting_comment_truncate_links" value="1" {S_COMMENT_FORMAT_TRUNCATE_LINKS_YES} /> {L_YES} <input type="radio" name="formatting_comment_truncate_links" value="0" {S_COMMENT_FORMAT_TRUNCATE_LINKS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1">{L_COMMENT_MAX_SUBJECT_CHAR}<br><span class="gensmall">{L_COMMENT_MAX_SUBJECT_CHAR_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="max_comment_subject_chars" value="{COMMENT_MAX_SUBJECT_CHAR}" /></td> </tr> <tr> <td class="row1">{L_COMMENT_MAX_CHAR}<br><span class="gensmall">{L_COMMENT_MAX_CHAR_EXPLAIN}</span></td> <td class="row2"><input type="text" class="post" size="50" name="max_comment_chars" value="{COMMENT_MAX_CHAR}" /></td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_RATINGS_TITLE}<br /><span class="gensmall">{L_RATINGS_TITLE_EXPLAIN}</span></th> </tr> <tr> <td class="row1" width="50%">{L_USE_RATINGS}<br /><span class="gensmall">{L_USE_RATINGS_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="use_ratings" value="1" {S_USE_RATINGS_YES} /> {L_YES} <input type="radio" name="use_ratings" value="0" {S_USE_RATINGS_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_VOTES_CHECK_IP}<br /><span class="gensmall">{L_VOTES_CHECK_IP_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="votes_check_ip" value="1" {S_VOTES_CHECK_IP_YES} /> {L_YES} <input type="radio" name="votes_check_ip" value="0" {S_VOTES_CHECK_IP_NO} /> {L_NO}</td> </tr> <tr> <td class="row1" width="50%">{L_VOTES_CHECK_USERID}<br /><span class="gensmall">{L_VOTES_CHECK_USERID_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="votes_check_userid" value="1" {S_VOTES_CHECK_USERID_YES} /> {L_YES} <input type="radio" name="votes_check_userid" value="0" {S_VOTES_CHECK_USERID_NO} /> {L_NO}</td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_INSTRUCTIONS_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_PRE_TEXT_NAME}<br /><span class="gensmall">{L_PRE_TEXT_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="show_pretext" value="1" {S_SHOW_PRETEXT} /> {L_SHOW} <input type="radio" name="show_pretext" value="0" {S_HIDE_PRETEXT} /> {L_HIDE}</td> </tr> <tr> <td class="row1" width="50%">{L_PRE_TEXT_HEADER}</td> <td class="row2" width="50%"><input text="text" name="pt_header" value="{L_PT_HEADER}" size="40" maxlength="100" /></td> </tr> <tr> <td class="row1" width="50%">{L_PRE_TEXT_BODY}</td> <td class="row2" width="50%"><textarea name="pt_body" cols="40" rows="5">{L_PT_BODY}</textarea></td> </tr> <tr> <!-- TITLE ------------------------------------------------------------------------------------------- --> <th class="thHead" colspan="2"> {L_NOTIFICATIONS_TITLE}</th> </tr> <tr> <td class="row1" width="50%">{L_NOTIFY}<br /><span class="gensmall">{L_NOTIFY_EXPLAIN}</span></td> <td class="row2" width="50%"><input type="radio" name="notify" value="0" {S_NOTIFY_NONE} />{L_NONE} <input type="radio" name="notify" value="2" {S_NOTIFY_EMAIL} />{L_EMAIL} <input type="radio" name="notify" value="1" {S_NOTIFY_PM} />{L_PM}</td> </tr> <tr> <td class="row1" width="50%">{L_NOTIFY_GROUP}<br /><span class="gensmall">{L_NOTIFY_GROUP_EXPLAIN}</span></td> <td class="row2" width="50%">{NOTIFY_GROUP}</td> </tr> <tr> <td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_SUBMIT}" class="mainoption" /> <input type="reset" value="{L_RESET}" class="liteoption" /></td> </tr> </table> </form> --- NEW FILE: bugsbt_select_field_type.tpl --- <h1>{L_FIELD_TITLE}</h1> <p>{L_FIELD_EXPLAIN}</p> <form action="{S_FIELD_ACTION}" method="post"> <table width="100%" cellpadding="3" cellspacing="1" class="forumline"> <tr> <th colspan="2" class="thHead">{L_FIELD_TITLE}</th> </tr> <tr> <td class="row1" align="center"> {S_SELECT_FIELD_TYPE} </td> </tr> <tr> <td align="center" class="cat" colspan="2"> {S_HIDDEN_FIELDS}<input class="liteoption" type="submit" value="{L_FIELD_TITLE}" name="submit"> </td> </tr> </table> </form> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:07
|
Update of /cvsroot/mxbb/mx_bugsbt/language/lang_swedish In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/language/lang_swedish Added Files: index.htm lang_admin.php lang_main.php Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: lang_main.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: lang_main.php,v 1.1 2007/02/15 12:43:58 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ // // General // $lang['bugsbt_disable'] = 'BugsBT är inaktiverad.'; $lang['bugsbt_title'] = 'BugTracker (BugsBT)'; $lang['Bug'] = 'Bugg'; $lang['Bugs'] = 'Buggar'; $lang['Category'] = 'Produkt'; $lang['Sub_categories'] = 'Editions/Builds'; $lang['Bug_description'] = 'Beskrivning'; $lang['Bug_type'] = 'Status'; $lang['Bug_closed'] = 'Avslutad'; $lang['Bug_keywords'] = 'Nyckelord'; $lang['Add_bug'] = 'Lägg till bugg'; $lang['bugsbt_Home'] = 'BugsBT Hem'; $lang['No_bugs'] = 'Inga buggar'; $lang['Bug_title'] = 'Buggnamn'; $lang['Bug_text'] = 'Buggtext'; $lang['Add_bug'] = 'Lägg till bugg'; $lang['Read_bug'] = 'Läs bugg'; $lang['Bug_not_exsist'] = 'Buggen finns inte'; $lang['Category_not_exsist'] = 'Produkten finns inte'; $lang['Last_bug'] = 'Senaste bugg'; $lang['Edit'] = 'Ändra'; $lang['Click_cat_to_add'] = 'Klicka på \'Produkt\' för att lägga till en bugg'; $lang['Standalone_Not_Supported'] = 'Denna module tillåter inte att användas utanför mxBB. Skapa ett mxBB block i mxBBs kontrollpanel.'; $lang['Bug_submitted_Approve'] = 'Buggen skickades...<br />En administratör kommer att granska buggen innan den blir tillgänglig för andra.'; $lang['Bug_submitted'] = 'Buggen skickades...'; $lang['Bug_Edited_Approve'] = 'Buggen ändrades...<br />En administratör kommer att granska buggen innan den blir tillgänglig för andra.'; $lang['Bug_Edited'] = 'Buggen ändrades...'; $lang['Edit_bug'] = 'Ändra bugg'; $lang['Bug_Deleted'] = 'Buggen togs bort...'; // // Notification // $lang['bugsbt_notify_subject_new'] = 'Ny bugg!'; $lang['bugsbt_notify_subject_edited'] = 'Ändrad bugg!'; $lang['bugsbt_notify_subject_approved'] = 'Godkänd bugg!'; $lang['bugsbt_notify_subject_unapproved'] = 'Underkänd bugg!'; $lang['bugsbt_notify_subject_deleted'] = 'Borttagen bugg!'; $lang['bugsbt_notify_new_body'] = 'En ny bugg är skriven.'; $lang['bugsbt_notify_edited_body'] = 'En bugg har ändrats.'; $lang['bugsbt_notify_approved_body'] = 'En bugg godkändes.'; $lang['bugsbt_notify_unapproved_body'] = 'En bugg underkändes.'; $lang['bugsbt_notify_deleted_body'] = 'En bugg togs bort.'; $lang['Edited_Bug_info'] = 'Buggen uppdaterades av '; $lang['Read_full_bug'] = '>>Läs hela buggbeskrivningen'; // // Auth Can // $lang['bugsbt_Rules_post_can'] = 'Du <b>kan</b> skriva nya buggar i denna produkt'; $lang['bugsbt_Rules_post_cannot'] = 'Du <b>kan inte</b> skriva nya buggar i denna produkt'; $lang['bugsbt_Rules_comment_can'] = 'Du <b>kan</b> kommentera buggar i denna produkt'; $lang['bugsbt_Rules_comment_cannot'] = 'Du <b>kan inte</b> kommentera buggar i denna produkt'; $lang['bugsbt_Rules_edit_can'] = 'Du <b>kan</b> ändra dina buggar i denna produkt'; $lang['bugsbt_Rules_edit_cannot'] = 'Du <b>kan inte</b> ändra dina buggar i denna produkt'; $lang['bugsbt_Rules_delete_can'] = 'Du <b>kan</b> ta bort dina buggar i denna produkt'; $lang['bugsbt_Rules_delete_cannot'] = 'Du <b>kan inte</b> ta bort dina buggar i denna produkt'; $lang['bugsbt_Rules_rate_can'] = 'Du <b>kan</b> betygsätta buggar i denna produkt'; $lang['bugsbt_Rules_rate_cannot'] = 'Du <b>kan inte</b> betygsätta buggar i denna produkt'; $lang['bugsbt_Rules_approval_can'] = 'Buggar <b>måste inte</b> godkännas i denna produkt'; $lang['bugsbt_Rules_approval_cannot'] = 'Buggar <b>måste</b> godkännas i denna produkt'; $lang['bugsbt_Rules_approval_edit_can'] = 'Buggändringar <b>måste inte</b> godkännas i denna produkt'; $lang['bugsbt_Rules_approval_edit_cannot'] = 'Buggändringar <b>måste</b> godkännas i denna produkt'; $lang['bugsbt_Rules_moderate'] = 'Du <b>kan</b> %sadministrera denna produkt%s'; // %s replaced by a href links, do not remove! $lang['bugsbt_Rules_moderate_can'] = 'Du <b>kan</b> administrera denna produkt'; // %s replaced by a href links, do not remove! $lang['Empty_fields'] ='Vänligen, fyll i alla fält.'; $lang['Empty_fields_return'] ='Klicka %shär%s för att återgå till formuläret.'; $lang['Empty_category'] ='Välj en produkt'; $lang['Empty_type']='Ange buggtyp'; $lang['Empty_bug_name'] = 'Fyll i buggens namn'; $lang['Empty_bug_desc'] = 'Fyll i buggens beskrivning'; $lang['Comments'] = 'Kommentarer/åsikter'; $lang['Post_comments'] = 'Lägg till en kommentar'; $lang['Category_sub'] = 'Edition/Build'; $lang['Quick_stats'] = 'Statistik'; $lang['No_Bugs'] = 'Det finns inga buggar i denna produkt!'; $lang['Not_authorized'] = 'Du saknar rättighet att utföra åtgärden...'; $lang['TOC'] = 'Innehåll'; // // Stats // $lang['Top_toprated'] = 'Topprankade'; $lang['Top_most_popular'] = 'Populärast'; $lang['Top_latest'] = 'Senaste buggar'; $lang['Top_id'] = 'Buggnummer'; $lang['Top_creation'] = 'Datum'; $lang['Top_alphabetic'] = 'Alfabetiskt'; $lang['Top_userrank'] = 'Författarnivå'; // // Update result messages // $lang['Click_return'] = 'Klicka %shär%s för att återvända till föregående sida'; $lang['Click_return_bugsbt'] = 'Klicka %shär%s för att återvända till ' . $lang['bugsbt_title']; $lang['Click_return_bug'] = 'Klicka %shär%s för att återvända till din ' . $lang['Bug']; // // Bug formatting // $lang['Cat_all'] = 'Alla'; $lang['Product'] = 'Produkt'; $lang['Edition'] = 'Edition'; $lang['Build'] = 'Build'; $lang['Reporter'] = 'Rapportör'; // // Added for v. 2.0 // $lang['Addtional_field'] = 'Mer information (ej krav)'; $lang['No_cat_comments_forum_id'] = 'Kommentarer är aktiverade men du har inte angett en phpBB forumkategori för dessa inlägg i BugsBT adminCP - produkter.'; // // Comments // $lang['bugsbt_comment_prefix'] = '[ BT ] '; $lang['Comments'] = 'Kommentarer'; $lang['Comments_title'] = 'Kommentartitel'; $lang['Comment_subject'] = 'Kommentarämne'; $lang['Comment'] = 'Kommentar'; $lang['Comment_explain'] = 'Använd textrutan och skriv din kommentar!'; $lang['Comment_add'] = 'Lägg till kommentar'; $lang['Comment_delete'] = 'Ta bort'; $lang['Comment_posted'] = 'Kommentaren skickades...'; $lang['Comment_deleted'] = 'Kommentaren togs bort...'; $lang['Comment_desc'] = 'Titel'; $lang['No_comments'] = 'Inte kommenterad'; $lang['Links_are_ON'] = 'Länkar är <u>PÅ</u>'; $lang['Links_are_OFF'] = 'Länkar är <u>AV</u>'; $lang['Images_are_ON'] = 'Bilder är <u>PÅ</u>'; $lang['Images_are_OFF'] = 'Bilder är <u>AV</u>'; $lang['Check_message_length'] = 'Kontrollera meddelandelängd'; $lang['Msg_length_1'] = 'Ditt meddelande är '; $lang['Msg_length_2'] = ' bokstäver långt.'; $lang['Msg_length_3'] = 'Du har '; $lang['Msg_length_4'] = ' bokstäver tillhanda.';; $lang['Msg_length_5'] = 'Det finns '; $lang['Msg_length_6'] = ' bokstäver kvar att använda.'; // // Menu // $lang['sd_Project'] = 'Projekt'; $lang['sd_Management'] = 'Hantera'; $lang['sd_Publish'] = 'Publicera'; $lang['sd_Import_content'] = 'Importera'; $lang['sd_Export_content'] = 'Exportera *'; $lang['sd_Doc_view'] = 'Visa dokument'; $lang['sd_Options'] = 'Alternativ'; $lang['sd_Settings'] = 'Inställningar'; $lang['sd_Help'] = 'Hjälp'; $lang['sd_Contents'] = 'Innehåll *'; $lang['sd_About'] = 'Om *'; // // Tree // $lang['sd_Tree_View'] = 'Trädvy'; $lang['sd_Toc'] = 'Innehåll'; $lang['sd_Where'] = 'Var'; $lang['sd_Before'] = 'Före'; $lang['sd_After'] = 'Efter'; $lang['sd_Type'] = 'Typ'; $lang['sd_Name'] = 'Namn'; $lang['sd_Document'] = 'Dokument'; $lang['sd_Folder'] = 'Mapp'; // // Index // $lang['sd_View_bugs'] = 'Lista buggar'; $lang['sd_View_bug'] = 'Se bugg'; $lang['sd_Report_bug'] = 'Rapportera bugg'; $lang['sd_Edit_bug'] = 'Redigera bugg'; $lang['sd_Delete_bug'] = 'Ta bort bugg'; $lang['sd_Default_edit'] = 'Öppna \'redigera\' som förval'; $lang['sd_Loading'] = 'Laddar data ..'; $lang['sd_Saving'] = 'Sparar data ..'; // // Product list header // $lang['bugsbt_Bug_id'] = 'Id'; $lang['bugsbt_Bug_closed'] = 'X'; $lang['bugsbt_Bug_name'] = 'Buggnamn'; $lang['bugsbt_Bug_edition_build'] = 'Edition [Build]'; $lang['bugsbt_Bug_status'] = 'Status'; $lang['bugsbt_Bug_reported'] = 'Rapporterad'; ?> --- NEW FILE: lang_admin.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: lang_admin.php,v 1.1 2007/02/15 12:43:58 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ // // adminCP index // $lang['bugsbt_title'] = 'Bugtracker (BT)'; $lang['1_Configuration'] = 'Inställningar'; $lang['2_Product_man'] = 'Produkthantering'; $lang['4_Permissions'] = 'Rättigheter'; $lang['5_Status_man'] = 'Buggstatus'; $lang['6_Custom_Field'] = 'Extra fält'; // // Admin Panels - Configuration // $lang['Panel_config_title'] = 'BugsBT inställningar'; $lang['Panel_config_explain'] = 'Ändra inställningar i din BugsBT'; // // General // $lang['General_title'] = 'Allmänt'; $lang['Module_name'] = 'Modulnamn'; $lang['Module_name_explain'] = ''; $lang['Enable_module'] = 'Aktivera modulen'; $lang['Enable_module_explain'] = 'Tillåt att användare ser och kan skicka nya buggar till BugsBT'; $lang['Wysiwyg_path'] = 'Var finns wysiwyg mjukvaran?'; $lang['Wysiwyg_path_explain'] = 'Sövägen till (från mxBB roten) mappen där wysiwyg mjukvaran är uppladdad, t ex \'modules/mx_shared/\' om tinymce finns i mappen modules/mx_shared/tinymce.'; $lang['Allow_file'] = 'Tillåt lägga till buggar'; $lang['Allow_file_info'] = 'Om du inte tillåter att buggar läggs till denna produkt, så blir produktenn en toppnivåprodukt - en plats med subprodukter.'; // // Bug // $lang['Bug_title'] = 'Buggar'; // // Appearance // $lang['Appearance_title'] = 'Utseende'; $lang['Bug_pag'] = 'Buggar och sidbrytning'; $lang['Bug_pag_explain'] = 'Antal buggar att visa innan sidbrytning.'; $lang['Sort_method'] = 'Sorteringssätt'; $lang['Sort_method_explain'] = 'Bestäm hur buggar sorteras inom sin produkt.'; $lang['Sort_order'] = 'ASC eller DESC sortering'; $lang['Sort_order_explain'] = ''; $lang['Stats_list'] = 'Visa BugsBT statistiklänkar'; $lang['Stats_list_explain'] = 'Visa BugsBT statistiklänkar överst på sidan.'; $lang['Header_banner'] = 'Visa BugsBT logo'; $lang['Header_banner_explain'] = 'Visa BugsBT logo överst på sidan.'; $lang['Use_simple_navigation'] = 'Enkel produktnavigering'; $lang['Use_simple_navigation_explain'] = 'Enklare navigering...'; $lang['Cat_col'] = 'Antal produktkolumner (används bara vid \'Enkel produktnavigering\')'; $lang['Nfdays'] = 'Antal dagar nya'; $lang['Nfdaysinfo'] = 'Antal dagar en bugg visas som ny, med en \'Ny Bug\' ikon. Om värdet sätt till 5, kommer alla buggar uppladdade de senaste 5 dagarna visas med en \'Ny Bug\' ikon'; // // Comments // $lang['Comments_title'] = 'Kommentarer'; $lang['Comments_title_explain'] = 'Vissa kommentarinställningar är defaultvärden, och kan ändras per produkt'; $lang['Use_comments'] = 'Kommentarer'; $lang['Use_comments_explain'] = 'Aktivera kommentarer.'; $lang['Internal_comments'] = 'Interna eller phpBB kommentarer'; $lang['Internal_comments_explain'] = 'Använd interna eller phpBB kommentarer'; $lang['Internal_comments_phpBB'] = 'phpBB kommentarer'; $lang['Internal_comments_internal'] = 'Interna kommentarer'; $lang['Select_topic_id'] = 'Välj phpBB kommentarforum!'; $lang['Forum_id'] = 'phpBB Forum ID'; $lang['Forum_id_explain'] = 'Om phpBB kommentarer används är detta det forum där kommentarerna samlas'; $lang['Autogenerate_comments'] = 'Skapa autokommentarer'; $lang['Autogenerate_comments_explain'] = 'När en bugg ändras/skrivs, görs ett inlägg i kommentarforumet automatiskt.'; $lang['Del_topic'] = 'Ta bort forumkommentarer'; $lang['Del_topic_explain'] = 'När en bugg tas bort, skall även associerade forumkommentarer tas bort?'; $lang['Comments_pag'] = 'Kommentarer och sidbrytning'; $lang['Comments_pag_explain'] = 'Antal kommentarer att visa innan sidbrytning.'; $lang['Allow_Wysiwyg'] = 'Använd wysiwyg editor'; $lang['Allow_Wysiwyg_explain'] = 'Om aktiverad, ersätts den vanliga bbcode/html/smilies redigeraren med en wysiwyg editor.'; $lang['Allow_links'] = 'Tillåt länkar'; $lang['Allow_links_message'] = 'Default \'inga länkar\' meddelande'; $lang['Allow_links_explain'] = 'Om länkar ej är tillåtna visas detta meddelande istället'; $lang['Allow_images'] = 'Tillåt bilder'; $lang['Allow_images_message'] = 'Default \'No Images\' meddelande'; $lang['Allow_images_explain'] = 'Om bilder ej är tillåtna visas detta meddelande istället'; $lang['Max_subject_char'] = 'Max antal tecken (i titel)'; $lang['Max_subject_char_explain'] = 'Om man skriven en titel med fler tecken visas ett felmeddelande.'; $lang['Max_desc_char'] = 'Max antal tecken (i beskrivning)'; $lang['Max_desc_char_explain'] = 'Om man skriven en titel med fler tecken visas ett felmeddelande.'; $lang['Max_char'] = 'Max antal tecken'; $lang['Max_char_explain'] = 'Om man skriven en kommentar med fler tecken visas ett felmeddelande.'; $lang['Format_wordwrap'] = 'Avstavning'; $lang['Format_wordwrap_explain'] = ''; $lang['Format_truncate_links'] = 'Förkorta länkar'; $lang['Format_truncate_links_explain'] = 'Länkar skrivs om, t ex \'www.mxbb-portal...\''; $lang['Format_image_resize'] = 'Skala om bilder'; $lang['Format_image_resize_explain'] = 'Bilder omskalas till denna bredd (pixlar)'; // // Instructions // $lang['Instructions_title'] = 'Användarinstruktioner'; $lang['Pre_text_name'] = 'Instruktionstext'; $lang['Pre_text_explain'] = 'Aktivera instruktionstext som visas för användare då de skall skicka en bugg.'; $lang['Pre_text_header'] = 'Instruktionstext - rubrik'; $lang['Pre_text_body'] = 'Instruktionstext - text'; $lang['Show'] = 'Visa'; $lang['Hide'] = 'Dölj'; // // Notifications // $lang['Notifications_title'] = 'Påminnelser'; $lang['Notify'] = 'Informera admin via: '; $lang['Notify_explain'] = 'Bestäm på vilket sätt admin skall bli informerad om nya/redigerade buggar'; $lang['PM'] = 'PM'; $lang['Notify_group'] = 'och till grupp: '; $lang['Notify_group_explain'] = 'Informera dessutom medlemmarna i denna grupp.'; $lang['bugsbt_config'] = 'BugsBT konfiguration'; $lang['Bug_types'] = 'Buggstatus'; $lang['Click_return_bugsbt_config'] = 'Klicka %shär%s för att återgå till BugsBT konfiguration'; $lang['bugsbt_config_updated'] = 'BugsBT konfigurationen uppdaterades...'; $lang['Mod_group'] = 'BugsBT moderatorgrupp'; $lang['Mod_group_explain'] = '- med BugsBT adminrättigheter!'; // // General // $lang['Bug'] = 'Bugg'; $lang['Bugs'] = 'Buggar'; $lang['Bug_description'] = 'Beskrivning'; $lang['Bug_category'] = 'Produkt'; $lang['Category'] = 'Produkt'; $lang['Category_desc'] = 'Produktbeskrivning'; $lang['Bug_type'] = 'Status'; $lang['Bug_action'] = 'Val'; // // Admin Panels - Bug // $lang['Panel_bug_title'] = 'Bugghantering'; $lang['Panel_bug_explain'] = 'Här kan du granska buggar, och godkänna/underkänna dem.'; //approve $lang['Bug_edit'] = 'Ändrade/redigerade buggar'; $lang['Bug_not_approved'] = 'Inte godkända'; $lang['Bug_approved'] = 'Godkända'; $lang['Approve'] = 'Godkänn'; $lang['Un_approve'] = 'Underkänn'; $lang['Bug_approved'] = 'Buggen är nu godkänd.'; $lang['Bug_unapproved'] = 'Buggen är nu underkänd.'; //delete $lang['Delete'] = 'Ta bort'; $lang['Confirm_bug_delete'] = 'Vill du verkligen ta bort buggen?'; $lang['Confirm_bug_delete_yes'] = '%sJa, jag vill ta bort buggen%s'; $lang['Confirm_bug_delete_no'] = '%sNej, jag vill inte ta bort buggen%s'; $lang['Bug_deleted'] = 'Buggen togs bort...'; $lang['Click_return_bug_manager'] = 'Klicka %shär%s för att återgå till din bugtracker'; // // Admin Panels - Category // $lang['Panel_cat_title'] = 'Produktadministration'; $lang['Panel_cat_explain'] = 'Här kan du lägga till, ändra och ta bort produkter.'; $lang['Use_default'] = 'Andvänd grundinställning'; $lang['Create_cat'] = 'Ny produkt:'; $lang['Create'] = 'Skapa'; $lang['Cat_settings'] = 'Produktinställningar'; $lang['Create_description'] = 'Här kan du ändra produktens namn och beskrivning.'; $lang['Cat_created'] = 'Produkten skapades...'; $lang['Click_return_cat_manager'] = 'Klicka %shär%s för att återgå till ' . $lang['Cat_man']; $lang['Edit_description'] = 'Här kan du ändra dina produktinställningar.'; $lang['Edit_cat'] = 'Ändra produkt'; $lang['Cat_edited'] = 'Produkten ändrades.'; $lang['Parent'] = 'Parent'; $lang['Cat_delete_title'] = 'Ta bort produkt'; $lang['Cat_delete_desc'] = 'Här kan du ta bort en produkt och flytta alla dess buggar till en annan produkt'; $lang['Cat_deleted'] = 'Produkten togs bort...'; $lang['Delete_all_bugs'] = 'Ta bort buggar'; // // Admin Panels - Permissions // $lang['bugsbt_Auth_Title'] = 'BugsBT-rättigheter'; $lang['bugsbt_Auth_Explain'] = 'Här bestäms de rättigheter olika grupper har per produkt'; $lang['Select_a_Category'] = 'Välj produkt'; $lang['Look_up_Category'] = 'Välj produkt'; $lang['bugsbt_Auth_successfully'] = 'Rättigheterna uppdaterades'; $lang['Click_return_bugsbt_auth'] = 'Klicka %shär%s för att återgå till BugsBT-rättigeterna'; $lang['Upload'] = 'Skicka'; $lang['Rate'] = 'Rösta'; $lang['Comment'] = 'Kommentera'; $lang['Approval'] = 'Godkänna'; $lang['Approval_edit'] = 'Godkänna ändringar'; $lang['Allow_rating'] = 'Tillåt röstningar'; $lang['Allow_rating_explain'] = 'Tillåt användare att rösta på buggar.'; $lang['Allow_anonymos_rating'] = 'Tillåt gäströstning'; $lang['Allow_anonymos_rating_explain'] = 'Om röstingar är aktiverade, tillåt icke-registrerade användare att rösta.'; $lang['Category_Permissions'] = 'Produkträttigheter'; $lang['Category_Title'] = 'Produkttitel'; $lang['Category_Desc'] = 'Produktbeskrivning'; $lang['View_level'] = 'Läsa'; $lang['Upload_level'] = 'Skicka (skriva)'; $lang['Rate_level'] = 'Rösta'; $lang['View_Comment_level'] = 'Se kommentarer'; $lang['Post_Comment_level'] = 'Skriva kommentarer'; $lang['Edit_Comment_level'] = 'Ändra kommentarer'; $lang['Delete_Comment_level'] = 'Ta bort kommentarer'; $lang['Edit_level'] = 'Ändra'; $lang['Delete_level'] = 'Ta bort'; $lang['Approval_level'] = 'Godkänna'; $lang['Approval_edit_level'] = 'Godkänna ändrade'; // // Admin Panels - Status // $lang['Types_man'] = 'Buggstatushantering'; $lang['bugsbt_types_description'] = 'Här kan du ändra och hantera buggstatusen.'; $lang['Create_type'] = 'Skapa ny buggstatus:'; $lang['Type_created'] = 'Buggstatusen skapades...'; $lang['Click_return_type_manager'] = 'Klicka %shär%s för att återgå till buggstatushanteringen'; $lang['Edit_type'] = 'Ändra buggstatus'; $lang['Edit_type_description'] = 'Här kan du ändra buggstatusens namn'; $lang['Type_edited'] = 'Buggstatus togs bort.'; $lang['Type_delete_title'] = 'Ta bort buggstatus'; $lang['Type_delete_desc'] = 'Ange den buggstatus buggar skall få som har den buggstatus du nu tar bort.'; $lang['Change_type'] = 'Ändra buggstatus till '; $lang['Change_and_Delete'] = 'Ändra och ta bort'; $lang['Type_deleted'] = 'Buggstatus togs bort...'; // // Admin Panels - Custom Field // $lang['Fieldselecttitle'] = 'Välj ett alternativ'; $lang['Afield'] = 'Extra fält: lägg till'; $lang['Efield'] = 'Extra fält: ändra'; $lang['Dfield'] = 'Extra fält: ta bort'; $lang['Mfieldtitle'] = 'Extra fält'; $lang['Afieldtitle'] = 'Lägg till fält'; $lang['Efieldtitle'] = 'Ändra fält'; $lang['Dfieldtitle'] = 'Ta bort fält'; $lang['Fieldexplain'] = 'Här kan du lägga till extra fält. Om du exempelvis vill ha ett fält med buggens publikationsdatum, skapar du ett sådant.'; $lang['Fieldname'] = 'Fältnamn'; $lang['Fieldnameinfo'] = 'Detta är fältnamnet, t ex \'Filstorlek\''; $lang['Fielddesc'] = 'Fältbeskrivning'; $lang['Fielddescinfo'] = 'Detta är en fältbeskrivning, t ex \'Storlek på filen\''; $lang['Fieldadded'] = 'Fältet lades till'; $lang['Fieldedited'] = 'Fältet ändrades...'; $lang['Dfielderror'] = 'Du valde inga fält att ta bort'; $lang['Fieldsdel'] = 'Fältet togs bort...'; $lang['Field_data'] = 'Options'; $lang['Field_data_info'] = 'Enter the options that the user can choose from. Separate each option with a new-line (carriage return).'; $lang['Field_regex'] = 'Regular Expression'; $lang['Field_regex_info'] = 'You may require the input field to match a regular expression %s(PCRE)%s.'; $lang['Field_order'] = 'Display Order'; $lang['Click_return'] = 'Klicka %shär%s för att återgå till föregående sida'; // These are displayed in the drop down boxes for advanced // mode auth, try and keep them short! $lang['Cat_NONE'] = "INGEN"; $lang['Cat_ALL'] = "ALLA"; $lang['Cat_REG'] = "REG"; $lang['Cat_PRIVATE'] = "PRIVAT"; $lang['Cat_MOD'] = "MOD"; $lang['Cat_ADMIN'] = "ADMIN"; // // Admin Panels - Field Types // $lang['Field_Input'] = 'Single-Line Text Box'; $lang['Field_Textarea'] = 'Multiple-Line Text Box'; $lang['Field_Radio'] = 'Single-Selection Radio Buttons'; $lang['Field_Select'] = 'Single-Selection Menu'; $lang['Field_Select_multiple'] = 'Multiple-Selection Menu'; $lang['Field_Checkbox'] = 'Multiple-Selection Checkbox'; ?> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:05
|
Update of /cvsroot/mxbb/mx_bugsbt/templates In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/templates Added Files: index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:02
|
Update of /cvsroot/mxbb/mx_bugsbt/language/lang_english In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/language/lang_english Added Files: index.htm lang_admin.php lang_main.php Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: lang_main.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: lang_main.php,v 1.1 2007/02/15 12:43:57 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ // // General // $lang['bugsbt_disable'] = 'BugsBT BugTracker is disabled.'; $lang['bugsbt_title'] = 'mxBB bugsBT Bugtracker'; $lang['Bug'] = 'Bug'; $lang['Bugs'] = 'Bugs'; $lang['Category'] = 'Product'; $lang['Sub_categories'] = 'Editions/Builds'; $lang['Bug_description'] = 'Description'; $lang['Bug_type'] = 'Status'; $lang['Bug_closed'] = 'Closed'; $lang['Bug_keywords'] = 'Keywords'; $lang['Add_bug'] = 'Add Bug'; $lang['bugsbt_Home'] = 'bugsBT Home'; $lang['No_bugs'] = 'No Bugs'; $lang['Bug_title'] = 'Bug Name'; $lang['Bug_text'] = 'Bug text'; $lang['Add_bug'] = 'Submit Bug'; $lang['Read_bug'] = 'Reading Bug'; $lang['Bug_not_exsist'] = 'Bug doesn\'t exist'; $lang['Category_not_exsist'] = 'Product doesn\'t exist'; $lang['Last_bug'] = 'Last bug'; $lang['Edit'] = 'Edit'; $lang['Click_cat_to_add'] = 'Click on Product to add Bug'; $lang['Standalone_Not_Supported'] = 'This module does not support standalone usage. In the AdminCP, add the bugsbt block to a portal page.'; $lang['Bug_submitted_Approve'] = 'Bug Submitted Successfully.<br />An Administrator will review your bug and decide whether to let users view it or not.'; $lang['Bug_submitted'] = 'Bug Submitted Successfully.'; $lang['Bug_Edited_Approve'] = 'Bug Edited Successfully.<br />It needs to be approved again before users can view it.'; $lang['Bug_Edited'] = 'Bug Edited Successfully.'; $lang['Edit_bug'] = 'Edit Bug'; $lang['Bug_Deleted'] = 'Bug Deleted Successfully.'; // // Notification // $lang['bugsbt_notify_subject_new'] = 'New Bug!'; $lang['bugsbt_notify_subject_edited'] = 'Edited Bug!'; $lang['bugsbt_notify_subject_approved'] = 'Approved Bug!'; $lang['bugsbt_notify_subject_unapproved'] = 'Unapproved Bug!'; $lang['bugsbt_notify_subject_deleted'] = 'Deleted Bug!'; $lang['bugsbt_notify_new_body'] = 'A new bug has been submitted.'; $lang['bugsbt_notify_edited_body'] = 'A bug has been modified.'; $lang['bugsbt_notify_approved_body'] = 'A bug has been approved.'; $lang['bugsbt_notify_unapproved_body'] = 'A bug has been unapproved.'; $lang['bugsbt_notify_deleted_body'] = 'A bug has been deleted.'; $lang['Edited_Bug_info'] = 'Bug updated by '; $lang['Read_full_bug'] = '>> Read Bug Details'; // // Auth Can // $lang['bugsbt_Rules_post_can'] = 'You <b>can</b> post new bugs in this product'; $lang['bugsbt_Rules_post_cannot'] = 'You <b>cannot</b> post new bugs in this product'; $lang['bugsbt_Rules_comment_can'] = 'You <b>can</b> comment bugs in this product'; $lang['bugsbt_Rules_comment_cannot'] = 'You <b>cannot</b> comment bugs in this product'; $lang['bugsbt_Rules_edit_can'] = 'You <b>can</b> edit your bugs in this product'; $lang['bugsbt_Rules_edit_cannot'] = 'You <b>cannot</b> edit your bugs in this product'; $lang['bugsbt_Rules_delete_can'] = 'You <b>can</b> delete your bugs in this product'; $lang['bugsbt_Rules_delete_cannot'] = 'You <b>cannot</b> delete your bugs in this product'; $lang['bugsbt_Rules_rate_can'] = 'You <b>can</b> rate bugs in this product'; $lang['bugsbt_Rules_rate_cannot'] = 'You <b>cannot</b> rate bugs in this product'; $lang['bugsbt_Rules_approval_can'] = 'Bugs <b>need no</b> approval in this product'; $lang['bugsbt_Rules_approval_cannot'] = 'Bugs <b>need</b> approval in this product'; $lang['bugsbt_Rules_approval_edit_can'] = 'Bug edits <b>need no</b> approval in this product'; $lang['bugsbt_Rules_approval_edit_cannot'] = 'Bug edits <b>need</b> approval in this product'; $lang['bugsbt_Rules_moderate'] = 'You <b>can</b> %smoderate this product%s'; // %s replaced by a href links, do not remove! $lang['bugsbt_Rules_moderate_can'] = 'You <b>can</b> moderate this product'; // %s replaced by a href links, do not remove! $lang['Empty_fields'] ='Please fill out all parts of the form.'; $lang['Empty_fields_return'] ='Click %sHere%s to return to the form.'; $lang['Empty_category'] ='You must choose a product'; $lang['Empty_type']='You must choose a type'; $lang['Empty_bug_name'] = 'You must fill out the bug name'; $lang['Empty_bug_desc'] = 'You must fill out the bug description'; $lang['Comments'] = 'Comments'; $lang['Post_comments'] = 'Post your comments'; $lang['Category_sub'] = 'Edition/Build'; $lang['Quick_stats'] = 'Quick Stats'; $lang['No_Bugs'] = 'There are no bugs in this product!'; $lang['Not_authorized'] = 'Sorry, but you are not authorized!'; $lang['TOC'] = 'Contents'; // // Stats // $lang['Top_toprated'] = 'Toprated Bugs'; $lang['Top_most_popular'] = 'Most Popular'; $lang['Top_latest'] = 'Latest Bugs'; $lang['Top_id'] = 'Bug Id'; $lang['Top_creation'] = 'Bug date'; $lang['Top_alphabetic'] = 'Alphabetic'; $lang['Top_userrank'] = 'Author userrank'; // // Update result messages // $lang['Click_return'] = 'Click %sHere%s to return to previous page'; $lang['Click_return_bugsbt'] = 'Click %sHere%s to return to the ' . $lang['bugsbt_title']; $lang['Click_return_bug'] = 'Click %sHere%s to return to the ' . $lang['Bug']; // // Bug formattting // $lang['Cat_all'] = 'All'; $lang['Product'] = 'Product'; $lang['Edition'] = 'Edition'; $lang['Build'] = 'Build'; $lang['Reporter'] = 'Reporter'; // // Added for v. 2.0 // $lang['Addtional_field'] = 'More information (optional)'; $lang['No_cat_comments_forum_id'] = 'Comments are enabled but you have not specified the target phpBB forum category in the BugsBT adminCP - Products'; // // Comments // $lang['bugsbt_comment_prefix'] = '[ BT ] '; $lang['Comments'] = 'Comments'; $lang['Comments_title'] = 'Comments Title'; $lang['Comment_subject'] = 'Comment Subject'; $lang['Comment'] = 'Comment'; $lang['Comment_explain'] = 'Use the textbox above to give your opinion on this file!'; $lang['Comment_add'] = 'Add Comment'; $lang['Comment_delete'] = 'Delete'; $lang['Comment_posted'] = 'Your comment has been entered successfully'; $lang['Comment_deleted'] = 'The comment you selected has been deleted successfully'; $lang['Comment_desc'] = 'Title'; $lang['No_comments'] = 'Not commented'; $lang['Links_are_ON'] = 'Links are <u>ENABLED</u>'; $lang['Links_are_OFF'] = 'Links are <u>DISABLED</u>'; $lang['Images_are_ON'] = 'Images are <u>ENABLED</u>'; $lang['Images_are_OFF'] = 'Images are <u>DISABLED</u>'; $lang['Check_message_length'] = 'Check Message Length'; $lang['Msg_length_1'] = 'Your message is '; $lang['Msg_length_2'] = ' characters long.'; $lang['Msg_length_3'] = 'You have '; $lang['Msg_length_4'] = ' characters available.';; $lang['Msg_length_5'] = 'There are '; $lang['Msg_length_6'] = ' characters remaining.'; // // Menu // $lang['sd_Project'] = 'Project'; $lang['sd_Management'] = 'Management'; $lang['sd_Publish'] = 'Publish'; $lang['sd_Import_content'] = 'Import content'; $lang['sd_Export_content'] = 'Export content *'; $lang['sd_Doc_view'] = 'View Document'; $lang['sd_Options'] = 'Options'; $lang['sd_Settings'] = 'Settings'; $lang['sd_Help'] = 'Help'; $lang['sd_Contents'] = 'Contents *'; $lang['sd_About'] = 'About *'; // // Tree // $lang['sd_Tree_View'] = 'Tree View'; $lang['sd_Toc'] = 'Table of Contents'; $lang['sd_Where'] = 'Where'; $lang['sd_Before'] = 'Before'; $lang['sd_After'] = 'After'; $lang['sd_Type'] = 'Type'; $lang['sd_Name'] = 'Name'; $lang['sd_Document'] = 'Document'; $lang['sd_Folder'] = 'Folder'; // // Index // $lang['sd_View_bugs'] = 'View bugs'; $lang['sd_View_bug'] = 'View bug'; $lang['sd_Report_bug'] = 'Report bug'; $lang['sd_Edit_bug'] = 'Edit bug'; $lang['sd_Delete_bug'] = 'Delete bug'; $lang['sd_Default_edit'] = 'open Edit by default'; $lang['sd_Loading'] = 'Loading data ..'; $lang['sd_Saving'] = 'Saving data ..'; // // Product list header // $lang['bugsbt_Bug_id'] = 'Id'; $lang['bugsbt_Bug_closed'] = 'X'; $lang['bugsbt_Bug_name'] = 'Bug Name [desc]'; $lang['bugsbt_Bug_edition_build'] = 'Edition [Build]'; $lang['bugsbt_Bug_status'] = 'Status'; $lang['bugsbt_Bug_reported'] = 'Reported'; ?> --- NEW FILE: lang_admin.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: lang_admin.php,v 1.1 2007/02/15 12:43:57 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ // // adminCP index // $lang['bugsbt_title'] = 'BugsBT Bugtracker'; $lang['1_Configuration'] = 'General Settings'; $lang['2_Product_man'] = 'Product Manager'; $lang['4_Permissions'] = 'Permissions'; $lang['5_Status_man'] = 'Status Manager'; $lang['6_Custom_Field'] = 'Custom Fields'; // // Admin Panels - Configuration // $lang['Panel_config_title'] = 'BugsBT Configuration'; $lang['Panel_config_explain'] = 'Change the configuration of your BugsBT'; // // General // $lang['General_title'] = 'General'; $lang['Module_name'] = 'Module name'; $lang['Module_name_explain'] = ''; $lang['Enable_module'] = 'Enable this module'; $lang['Enable_module_explain'] = 'Let users view and post new bugs on in your BugsBT.'; $lang['Wysiwyg_path'] = 'Path to WYSIWYG software'; $lang['Wysiwyg_path_explain'] = 'This is the path (from mxBB/phpBB root) to the WYSIWYG software folder, eg \'modules/mx_shared/\' if you have uploaded, for example, TinyMCE in modules/mx_shared/tinymce.'; $lang['Allow_file'] = 'Allow Adding bug'; $lang['Allow_file_info'] = 'If you are not allowed to add bugs in this product it will be a higher level product.'; // // Bug // $lang['Bug_title'] = 'Bug'; // // Appearance // $lang['Appearance_title'] = 'Appearance'; $lang['Bug_pag'] = 'Bug pagination'; $lang['Bug_pag_explain'] = 'The number of bugs to show in a (stats) product before pagination.'; $lang['Sort_method'] = 'Sorting method'; $lang['Sort_method_explain'] = 'Define how bugs are sorted within its product.'; $lang['Sort_order'] = 'ASC or DESC sorting'; $lang['Sort_order_explain'] = ''; $lang['Stats_list'] = 'Show BugsBT Stats links'; $lang['Stats_list_explain'] = 'Show BugsBT stats links in the header.'; $lang['Header_banner'] = 'Show Top Logo'; $lang['Header_banner_explain'] = 'Show BugsBT logo in the header.'; $lang['Use_simple_navigation'] = 'Simple Product Navigation'; $lang['Use_simple_navigation_explain'] = 'If you prefer, this will generate more simple products and other navigation'; $lang['Cat_col'] = 'How many column of products are to be listed (only used for \'Simple Product Navigation\')'; $lang['Nfdays'] = 'New Bug Days'; $lang['Nfdaysinfo'] = 'How many days a new bug is to be listed with a \'New Bug\' icon. If this is set to 5, then all bugs added within the past 5 days will have the \'New Bug\' icon'; // // Comments // $lang['Comments_title'] = 'Comments'; $lang['Comments_title_explain'] = 'Some comments settings are default settings, and can be overridden per product'; $lang['Use_comments'] = 'Comments'; $lang['Use_comments_explain'] = 'Enable comments for bugs, to be inserted in the forum'; $lang['Internal_comments'] = 'Internal or phpBB Comments'; $lang['Internal_comments_explain'] = 'Use internal comments, or phpBB comments'; $lang['Internal_comments_phpBB'] = 'phpBB Comments'; $lang['Internal_comments_internal'] = 'Internal Comments'; $lang['Select_topic_id'] = 'Select phpBB Comments Topic!'; $lang['Forum_id'] = 'phpBB Forum ID'; $lang['Forum_id_explain'] = 'If phpBB comments are used, this is the forum where the comments will be kept'; $lang['Autogenerate_comments'] = 'Autogenerate comments when bugs are managed'; $lang['Autogenerate_comments_explain'] = 'When editing/adding an bug, a notifying reply is posted in the bug topic.'; $lang['Del_topic'] = 'Delete Topic'; $lang['Del_topic_explain'] = 'When you delete an bug, do you want its comments topic to be deleted also?'; $lang['Comments_pag'] = 'Comments pagination'; $lang['Comments_pag_explain'] = 'The number of comments to show for the bug before pagination.'; $lang['Allow_Wysiwyg'] = 'Use WYSIWYG editor'; $lang['Allow_Wysiwyg_explain'] = 'If enabled, the standard BBCode/HTML/Smilies input dialog is replaced by a WYSIWYG editor.'; $lang['Allow_links'] = 'Allow Links'; $lang['Allow_links_message'] = 'Default \'No Links\' Message'; $lang['Allow_links_explain'] = 'If links are not allowed this text will be displayed instead'; $lang['Allow_images'] = 'Allow Images'; $lang['Allow_images_message'] = 'Default \'No Images\' Message'; $lang['Allow_images_explain'] = 'If images are not allowed this text will be displayed instead'; $lang['Max_subject_char'] = 'Maximum Number of charcters in subject'; $lang['Max_subject_char_explain'] = 'If to big, you get an error message (Limit the subject).'; $lang['Max_desc_char'] = 'Maximum Number of charcters in description'; $lang['Max_desc_char_explain'] = 'If to big, you get an error message (Limit the subject).'; $lang['Max_char'] = 'Maximum Number of charcters in text'; $lang['Max_char_explain'] = 'If to big, you get an error message (Limit the comment).'; $lang['Format_wordwrap'] = 'Word wrapping'; $lang['Format_wordwrap_explain'] = 'Text control filter'; $lang['Format_truncate_links'] = 'Truncate Links'; $lang['Format_truncate_links_explain'] = 'Links are shortened, eg t ex \'www.mxbb-portal...\''; $lang['Format_image_resize'] = 'Image resize'; $lang['Format_image_resize_explain'] = 'Resize images to this width (pixels)'; // // Instructions // $lang['Instructions_title'] = 'User Instructions'; $lang['Pre_text_name'] = 'Bug Submission Instructions'; $lang['Pre_text_explain'] = 'Activate Submission Instructions displayed to users at the top of the submission forum.'; $lang['Pre_text_header'] = 'Bug Submission Instructions Header'; $lang['Pre_text_body'] = 'Bug Submission Instructions Body'; $lang['Show'] = 'Show'; $lang['Hide'] = 'Hide'; // // Notifications // $lang['Notifications_title'] = 'Notification'; $lang['Notify'] = 'Notify admin by'; $lang['Notify_explain'] = 'Choose which way to receive notices that new bugs have been posted'; $lang['PM'] = 'PM'; $lang['Notify_group'] = 'and groupmembers '; $lang['Notify_group_explain'] = 'Also send notification to members in this group'; $lang['bugsbt_config'] = 'BugsBT Configuration'; $lang['Bug_types'] = 'Bug Status'; $lang['Click_return_bugsbt_config'] = 'Click %sHere%s to return to BugsBT Configuration'; $lang['bugsbt_config_updated'] = 'BugsBT Configuration Updated Successfully.'; $lang['Mod_group'] = 'BugsBT Moderator Group'; $lang['Mod_group_explain'] = '- with BugsBT Admin permissions!'; // // General // $lang['Bug'] = 'Bug'; $lang['Bugs'] = 'Bugs'; $lang['Bug_description'] = 'Description'; $lang['Bug_category'] = 'Product'; $lang['Category'] = 'Product'; $lang['Category_desc'] = 'Product description'; $lang['Bug_type'] = 'Status'; $lang['Bug_action'] = 'Action'; // // Admin Panels - Bug // $lang['Panel_bug_title'] = 'Bug administration'; $lang['Panel_bug_explain'] = 'Here you can approve bugs so users can view them, or you can delete bugs.'; //approve $lang['Bug_edit'] = 'Edited Bugs'; $lang['Bug_not_approved'] = 'Not Approved'; $lang['Bug_approved'] = 'Approved'; $lang['Approve'] = 'Approve'; $lang['Un_approve'] = 'Un-Approve'; $lang['Bug_approved'] = 'Bug is now Approved.'; $lang['Bug_unapproved'] = 'Bug is now Unapproved.'; //delete $lang['Delete'] = 'Delete'; $lang['Confirm_bug_delete'] = 'Are you sure you want to delete this bug?'; $lang['Confirm_bug_delete_yes'] = '%sYes, I want to delete this bug%s'; $lang['Confirm_bug_delete_no'] = '%sNo, I don\'t want to delete this bug%s'; $lang['Bug_deleted'] = 'Bug Deleted Successfully.'; $lang['Click_return_bug_manager'] = 'Click %sHere%s to return to the Bug Manager'; // // Admin Panels - Product // $lang['Panel_cat_title'] = 'Product administration'; $lang['Panel_cat_explain'] = 'Here you can add, edit, or delete products in the Knowledge Base'; $lang['Use_default'] = 'Use default setting'; $lang['Create_cat'] = 'Create New Product:'; $lang['Create'] = 'Create'; $lang['Cat_settings'] = 'Product Settings'; $lang['Create_description'] = 'Here you can change the name of the product and add a description to the new product.'; $lang['Cat_created'] = 'Product Created Successfully.'; $lang['Click_return_cat_manager'] = 'Click %sHere%s to return to the ' . $lang['Cat_man']; $lang['Edit_description'] = 'Here you can edit the settings of your product'; $lang['Edit_cat'] = 'Edit Product'; $lang['Cat_edited'] = 'Product Edited Successfully.'; $lang['Parent'] = 'Parent'; $lang['Cat_delete_title'] = 'Delete Product'; $lang['Cat_delete_desc'] = 'Here you can delete a product and move all of the bugs in it to a new product'; $lang['Cat_deleted'] = 'Product Deleted Successfully.'; $lang['Delete_all_bugs'] = 'Delete Bugs'; // // Admin Panels - Permissions // $lang['bugsbt_Auth_Title'] = 'BugsBT Permissions'; $lang['bugsbt_Auth_Explain'] = 'Here you can choose which usergroup(s) can be the moderators for each BugsBT product, or just has the private access'; $lang['Select_a_Category'] = 'Select a Product'; $lang['Look_up_Category'] = 'Look up Product'; $lang['bugsbt_Auth_successfully'] = 'Auth has been updated successfully'; $lang['Click_return_bugsbt_auth'] = 'Click %sHere%s to return to the BugsBT Permissions'; $lang['Upload'] = 'Upload'; $lang['Rate'] = 'Rate'; $lang['Comment'] = 'Comment'; $lang['Approval'] = 'Approval'; $lang['Approval_edit'] = 'Approval Edit'; $lang['Allow_rating'] = 'Allow ratings'; $lang['Allow_rating_explain'] = 'Users are allowed to rate bugs.'; $lang['Allow_anonymos_rating'] = 'Allow anonymous ratings'; $lang['Allow_anonymos_rating_explain'] = 'If ratings are activated, allow anonymous users to add ratings to your bugs'; $lang['Category_Permissions'] = 'Product Permissions'; $lang['Category_Title'] = 'Product Title'; $lang['Category_Desc'] = 'Product Description'; $lang['View_level'] = 'View Level'; $lang['Upload_level'] = 'Upload Level'; $lang['Rate_level'] = 'Rate Level'; $lang['View_Comment_level'] = 'View Comment'; $lang['Post_Comment_level'] = 'Post Comment'; $lang['Edit_Comment_level'] = 'Edit Comment'; $lang['Delete_Comment_level'] = 'Delete Comment'; $lang['Edit_level'] = ' Edit Level'; $lang['Delete_level'] = 'Delete Level'; $lang['Approval_level'] = 'Approval Level'; $lang['Approval_edit_level'] = 'Approval Edit Level'; // // Admin Panels - Types // $lang['Types_man'] = 'Bug\'s Status Manager'; $lang['bugsbt_types_description'] = 'Here you can add, delete, and/or edit the different bug statuses'; $lang['Create_type'] = 'Create new Bug Status:'; $lang['Type_created'] = 'Bug Status Created Successfully.'; $lang['Click_return_type_manager'] = 'Click %sHere%s to return to the Bug Status Manager'; $lang['Edit_type'] = 'Edit Status'; $lang['Edit_type_description'] = 'Here you can edit the name of the Bug Status'; $lang['Type_edited'] = 'Bug Status Edited Successfully.'; $lang['Type_delete_title'] = 'Delete Bug Status'; $lang['Type_delete_desc'] = 'Here you can change what the bug status is of the bugs that have the status you are deleting.'; $lang['Change_type'] = 'Change bug\'s status to'; $lang['Change_and_Delete'] = 'Change and Delete'; $lang['Type_deleted'] = 'Bug Status Deleted Successfully.'; // // Admin Panels - Custom Field // $lang['Fieldselecttitle'] = 'Select what to do'; $lang['Afield'] = 'Custom Field: Add'; $lang['Efield'] = 'Custom Field: Edit'; $lang['Dfield'] = 'Custom Field: Delete'; $lang['Mfieldtitle'] = 'Custom Fields'; $lang['Afieldtitle'] = 'Add Field'; $lang['Efieldtitle'] = 'Edit Field'; $lang['Dfieldtitle'] = 'Delete Field'; $lang['Fieldexplain'] = 'You can use the custom fields management section to add, edit, and delete custom fields. You can use custom fields to add more information about an bug.'; $lang['Fieldname'] = 'Field Name'; $lang['Fieldnameinfo'] = 'This is the name of the field, for example \'File Size\''; $lang['Fielddesc'] = 'Field Description'; $lang['Fielddescinfo'] = 'This is a description of the field, for example \'File Size in Megabytes\''; $lang['Fieldadded'] = 'The custom field has been successfully added'; $lang['Fieldedited'] = 'The custom field you selected has been successfully edited'; $lang['Dfielderror'] = 'You didn\'t select any fields to delete'; $lang['Fieldsdel'] = 'The custom fields you selected have been successfully deleted'; $lang['Field_data'] = 'Options'; $lang['Field_data_info'] = 'Enter the options that the user can choose from. Separate each option with a newline (carriage return).'; $lang['Field_regex'] = 'Regular Expression'; $lang['Field_regex_info'] = 'You may require the input field to match a regular expression %s(PCRE)%s.'; $lang['Field_order'] = 'Display Order'; $lang['Click_return'] = 'Click %sHere%s to return to the previous page'; // These are displayed in the drop down boxes for advanced // mode auth, try and keep them short! $lang['Cat_NONE'] = 'NONE'; $lang['Cat_ALL'] = 'ALL'; $lang['Cat_REG'] = 'REG'; $lang['Cat_PRIVATE'] = 'PRIVATE'; $lang['Cat_MOD'] = 'MOD'; $lang['Cat_ADMIN'] = 'ADMIN'; // // Admin Panels - Field Types // $lang['Field_Input'] = 'Single-Line Text Box'; $lang['Field_Textarea'] = 'Multiple-Line Text Box'; $lang['Field_Radio'] = 'Single-Selection Radio Buttons'; $lang['Field_Select'] = 'Single-Selection Menu'; $lang['Field_Select_multiple'] = 'Multiple-Selection Menu'; $lang['Field_Checkbox'] = 'Multiple-Selection Checkbox'; ?> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/modules In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/modules Added Files: bugsbt_index.php bugsbt_post.php bugsbt_product.php bugsbt_update_tree.php bugsbt_view.php index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: bugsbt_index.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: bugsbt_index.php,v 1.1 2007/02/15 12:43:50 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if( !defined('IN_PORTAL') ) { die("Hacking attempt"); } class mx_bugsbt_index extends mx_bugsbt_public { function main( $action ) { global $template, $lang, $db, $theme, $board_config, $phpEx, $bugsbt_config, $debug, $mx_root_path, $module_root_path; global $mx_page, $mx_block, $mx_request_vars, $article_path; $current_article_id = $mx_request_vars->is_request('k') ? $mx_request_vars->request('k', MX_TYPE_INT, '') : ''; $template->set_filenames( array( 'body' => 'bugsbt_index.tpl' )); // Also sets $article_path $tree_html = $this->generate_app_tree($current_article_id); $template->assign_vars( array( 'MX_ROOT_PATH' => $mx_root_path, 'MODULE_ROOT_PATH' => $module_root_path, 'TEMPLATE_PATH' => $template->module_template_path, 'BLOCK_ID' => $mx_block->block_id, 'PAGE_ID' => $mx_page->page_id, // // Menu // 'MODE_MANAGE_URL' => $this->this_mxurl('mode=index'), 'MODE_PUBLISH_URL' => $this->this_mxurl('mode=publish'), 'MODE_PUBLISH_EXPORT_URL' => $this->this_mxurl('mode=publish_export'), 'MODE_IMPORT_URL' => $this->this_mxurl('mode=import'), 'MODE_EXPORT_URL' => $this->this_mxurl('mode=export'), 'MODE_SETTINGS_URL' => $this->this_mxurl('mode=settings'), 'MODE_VIEW_URL' => $this->this_mxurl('mode=view'), 'TREE_HTML' => $tree_html, // // Theme // 'T_TR_COLOR1' => '#'.$theme['tr_color1'], // row1 'T_TR_COLOR2' => '#'.$theme['tr_color2'], // row2 'T_TR_COLOR3' => '#'.$theme['tr_color3'], // row3 'T_BODY_TEXT' => '#'.$theme['body_text'], 'T_BODY_LINK' => '#'.$theme['body_link'], 'T_BODY_VLINK' => '#'.$theme['body_vlink'], 'T_BODY_HLINK' => '#'.$theme['body_hlink'], 'T_TH_COLOR1' => '#'.$theme['th_color1'], // Border Colors (main) 'T_TH_COLOR2' => '#'.$theme['th_color2'], // Border Colors (forumline) 'T_TH_COLOR3' => '#'.$theme['th_color3'], // Border Colors (bozes) 'T_FONTFACE1' => $theme['fontface1'], 'T_TD_COLOR1' => '#'.$theme['td_color1'], // Background code/quote 'T_TD_COLOR2' => '#'.$theme['td_color2'], // Background post/input // // Menu langs // 'L_PROJECT' => $lang['sd_Project'], 'L_MANAGEMENT' => $lang['sd_Management'], 'L_PUBLISH' => $lang['sd_Publish'], 'L_IMPORT_CONTENT' => $lang['sd_Import_content'], 'L_EXPORT_CONTENT' => $lang['sd_Export_content'], 'L_OPTIONS' => $lang['sd_Options'], 'L_SETTINGS' => $lang['sd_Settings'], 'L_DOC_VIEW' => $lang['sd_Doc_view'], 'L_HELP' => $lang['sd_Help'], 'L_CONTENTS' => $lang['sd_Contents'], 'L_ABOUT' => $lang['sd_About'], // // Tree // 'L_TREE_VIEW' => $lang['sd_Tree_View'], 'L_TOC' => $lang['sd_Toc'], 'L_WHERE' => $lang['sd_Where'], 'L_BEFORE' => $lang['sd_Before'], 'L_AFTER' => $lang['sd_After'], 'L_TYPE' => $lang['sd_Type'], 'L_NAME' => $lang['sd_Name'], 'L_DOCUMENT' => $lang['sd_Document'], 'L_FOLDER' => $lang['sd_Folder'], 'VIEW_DOC' => ' - <a href="'.$this->this_mxurl('mode=view').'" >[' . $lang['sd_Doc_view'] . ']</a>', )); } } ?> --- NEW FILE: bugsbt_post.php --- <?php /** * * @package mxBBmodule_mx_bugsbt * @version $Id: bugsbt_post.php,v 1.1 2007/02/15 12:43:50 jonohlsson Exp $ * @copyright (c) 2002-2006 [wGEric, Jon Ohlsson] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Enter description here... * */ class mx_bugsbt_post extends mx_bugsbt_public { /** * Enter description here... * * @param unknown_type $action */ function main( $action ) { global $template, $mx_bugsbt_functions, $lang, $board_config, $phpEx, $bugsbt_config, $db, $images, $userdata; global $mx_root_path, $module_root_path, $phpbb_root_path, $is_block, $phpEx, $mx_request_vars, $theme; global $html_entities_match, $html_entities_replace, $unhtml_specialchars_match, $unhtml_specialchars_replace; global $HTTP_SERVER_VARS; global $page_id, $block_id; // // Request vars // $article_id = $mx_request_vars->request('k', MX_TYPE_INT, ''); $cat_id = $mx_request_vars->request('cat', MX_TYPE_INT, 0); //die('a'.$article_id.'c'.$cat_id); $do = ( isset( $_REQUEST['do'] ) ) ? intval( $_REQUEST['do'] ) : ''; $bugsbt_post_mode = empty( $article_id ) ? 'add' : 'edit'; //Main mode toggle $this->page_title = $bugsbt_post_mode == 'add' ? $lang['Add_bug'] : $lang['Edit_bug']; $delete = $mx_request_vars->request('delete', MX_TYPE_NO_TAGS, ''); $preview = $mx_request_vars->is_request('preview'); $cancel = $mx_request_vars->is_request('cancel'); // // Main Auth // if ( !empty( $cat_id ) ) { if ( !$this->auth_user[$cat_id]['auth_post'] ) { $this->mx_message_die( GENERAL_ERROR, $lang['Sorry_auth_post'] ); } } else { $dropmenu = ( !$cat_id ) ? $this->generate_jumpbox( 0, 0, '', true, true, 'auth_post' ) : $this->generate_jumpbox( 0, 0, array( $cat_id => 1 ), true, true, 'auth_post' ); if ( empty( $dropmenu ) ) { $this->mx_message_die( GENERAL_ERROR, $lang['Sorry_auth_post'] ); } } // // Load article info...if $article_id is set // if ( $article_id ) { $sql = 'SELECT * FROM ' . BUGSBT_BUGS_TABLE . " WHERE bug_id = '" . $article_id . "'"; if ( !( $result = $db->sql_query( $sql ) ) ) { $this->mx_message_die( GENERAL_ERROR, 'Couldnt query Article data', '', __LINE__, __FILE__, $sql ); } $article_data = $db->sql_fetchrow( $result ); $cat_id = $article_data['bug_category_id']; $db->sql_freeresult( $result ); } // // Further security. // Reset vars if no related data exist. // if ( $article_id && !$cat_id ) { $article_id = 0; } if ( $cat_id && !$this->cat_rowset[$cat_id]['category_id'] ) { $cat_id = 0; } // ======================================================= // Delete // ======================================================= if ( $do == 'delete' && $article_id) { if ( ( $this->auth_user[$cat_id]['auth_delete'] && $article_data['user_id'] == $userdata['user_id'] ) || $this->auth_user[$cat_id]['auth_mod'] ) { // // Notification // $this->update_add_item_notify($article_id, 'delete'); // // Comments // if ($this->comments[$cat_id]['activated'] && $bugsbt_config['del_topic']) { if ( $this->comments[$cat_id]['internal_comments'] ) { $sql = 'DELETE FROM ' . BUGSBT_COMMENTS_TABLE . " WHERE article_id = '" . $article_id . "'"; if ( !( $db->sql_query( $sql ) ) ) { $this->mx_message_die( GENERAL_ERROR, 'Couldnt delete comments', '', __LINE__, __FILE__, $sql ); } } else { if ( $article_data['topic_id'] ) { include( $module_root_path . 'bugsbt/includes/functions_comment.' . $phpEx ); $mx_bugsbt_comments = new mx_bugsbt_comments(); $mx_bugsbt_comments->init( $article_data, 'phpbb'); $mx_bugsbt_comments->post('delete_all', $article_data['topic_id']); } } } $this->delete_items( $article_id ); $this->_bugsbt(); $message = $lang['Bug_Deleted'] . '<br /><br />' . sprintf( $lang['Click_return'], '<a href="' . append_sid( $this->this_mxurl( "mode=cat&cat=" . $cat_id ) ) . '">', '</a>' ); $this->mx_message_die( GENERAL_MESSAGE, $message ); } else { $this->mx_message_die( GENERAL_ERROR, $lang['Sorry_auth_delete'] ); } } // // Define more vars // $bugsbt_title = $preview || isset($_POST['article_name']) ? $_POST['article_name'] : $article_data['bug_title']; $bugsbt_desc = $preview || isset($_POST['article_desc']) ? $_POST['article_desc'] : $article_data['bug_description']; $bugsbt_text = $preview || isset($_POST['message']) ? $_POST['message'] : $article_data['bug_body']; $bbcode_uid = $preview ? '' : $article_data['bbcode_uid']; $username = $preview || isset($_POST['username']) ? $_POST['username'] : $article_data['username']; $type_id = $preview || isset($_POST['type_id']) ? intval($_POST['type_id']) : $article_data['bug_type']; $closed = $preview || isset($_POST['closed']) ? intval($_POST['closed']) : $article_data['bug_closed']; $closed_yes = ( $closed ) ? "checked=\"checked\"" : ""; $closed_no = ( !$closed ) ? "checked=\"checked\"" : ""; // // Instatiate custom fields (only used in bugsbt_article) // $mx_bugsbt_custom_field = new mx_custom_field(BUGSBT_CUSTOM_TABLE, BUGSBT_CUSTOM_DATA_TABLE); $mx_bugsbt_custom_field->init(); // // wysiwyg // if ( $bugsbt_config['allow_wysiwyg'] && file_exists( $mx_root_path . $bugsbt_config['wysiwyg_path'] . 'tinymce/jscripts/tiny_mce/blank.htm' )) { $allow_wysiwyg = true; $bbcode_on = false; $html_on = true; $smilies_on = false; $links_on = false; $images_on = false; $langcode = mx_get_langcode(); $template->assign_block_vars( "tinyMCE", array( 'PATH' => $mx_root_path, 'LANG' => !empty($langcode) ? $langcode : $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'], 'TEMPLATE' => $phpbb_root_path . 'templates/'. $theme['template_name'] . '/' . $theme['head_stylesheet'] )); } else { $allow_wysiwyg = false; $bbcode_on = $bugsbt_config['allow_bbcode'] ? true : false; $html_on = $bugsbt_config['allow_html'] ? true : false; $smilies_on = $bugsbt_config['allow_smilies'] ? true : false; $links_on = $bugsbt_config['allow_links'] ? true : false; $images_on = $bugsbt_config['allow_images'] ? true : false; $board_config['allow_html_tags'] = $bugsbt_config['allowed_html_tags']; $template->assign_block_vars( 'formatting', array() ); if ($smilies_on) { $mx_bugsbt_functions->generate_smilies( 'inline', PAGE_POSTING ); } } // // Instantiate the mx_text and mx_text_formatting classes // $mx_text = new mx_text(); $mx_text->init($html_on, $bbcode_on, $smilies_on); $mx_text_formatting = new mx_text_formatting(); // // Allow all html tags // Fix: Setting 'emtpy' enables all // $mx_text->allow_all_html_tags = $allow_wysiwyg; // // IF submit then upload the article and update the sql for it // if ( isset( $_POST['submit'] ) && $cat_id ) { if ( !$mx_request_vars->is_request('article_name') || !$mx_request_vars->is_request('article_desc') || !$mx_request_vars->is_request('message') ) { $message = $lang['Empty_fields'] . '<br /><br />' . sprintf( $lang['Empty_fields_return'], '<a href="' . append_sid( $this->this_mxurl( 'mode=add' ) ) . '">', '</a>' ); $this->mx_message_die( GENERAL_ERROR, $message ); } // // Encode for db storage // $article_title = $mx_text->encode_simple($bugsbt_title); $article_description = $mx_text->encode_simple($bugsbt_desc); $article_text = $mx_text->encode($bugsbt_text); $bbcode_uid = $mx_text->bbcode_uid; $username = $mx_text->encode_username($username); $date = time(); $author_id = $userdata['user_id'] > 0 ? intval( $userdata['user_id'] ) : '-1'; if ( !$article_id ) { if ( $this->auth_user[$cat_id]['auth_post'] || $this->auth_user[$cat_id]['auth_mod'] ) { // // Approve // $approve = $this->auth_user[$cat_id]['auth_approval'] || $this->auth_user[$cat_id]['auth_mod'] ? 1 : 0; // approved $sql = "INSERT INTO " . BUGSBT_BUGS_TABLE . " ( bug_category_id, bug_title, bug_description, bug_date, bug_author_id, username, bbcode_uid, bug_body, bug_type, bug_closed, approved, views ) VALUES ( '$cat_id', '" . str_replace( "\'", "''", $article_title ) . "', '" . str_replace( "\'", "''", $article_description ) . "', '$date', '$author_id', '" . str_replace( "\'", "''", $username ) . "', '$bbcode_uid', '" . str_replace( "\'", "''", $article_text ) . "', '$type_id', '$closed' , '$approve', '0')"; if ( !( $results = $db->sql_query( $sql ) ) ) { $this->mx_message_die( GENERAL_ERROR, "Could not submit aritcle", '', __LINE__, __FILE__, $sql ); } // // Get new article id // $sql = "SELECT MAX(bug_id) AS new_id FROM " . BUGSBT_BUGS_TABLE; if( !($result = $db->sql_query($sql)) ) { $this->mx_message_die(GENERAL_ERROR, "Couldn't find max article_id", "", __LINE__, __FILE__, $sql); } $temp_row = $db->sql_fetchrow($result); $article_id = $temp_row['new_id']; // // Update custom fields // $mx_bugsbt_custom_field->file_update_data( $article_id ); $this->modified( true ); $this->_bugsbt(); } else { $message = $lang['Sorry_auth_post']; } } else { if ( ($this->auth_user[$cat_id]['auth_edit'] && $article_data['user_id'] == $userdata['user_id'] ) || $this->auth_user[$cat_id]['auth_mod'] ) { // // Approve // $approve = $this->auth_user[$cat_id]['auth_approval_edit'] || $this->auth_user[$cat_id]['auth_mod'] ? 1 : 0; // approved $sql = "UPDATE " . BUGSBT_BUGS_TABLE . " SET bug_category_id = '$cat_id', bug_title = '" . str_replace( "\'", "''", $article_title ) . "', bug_description = '" . str_replace( "\'", "''", $article_description ) . "', bug_body = '" . str_replace( "\'", "''", $article_text ) . "', bug_type = '" . $type_id . "', bug_closed = '" . $closed . "', approved = '" . $approve . "', bbcode_uid = '" . $bbcode_uid . "' WHERE bug_id = ". $article_id; if ( !( $results = $db->sql_query( $sql ) ) ) { $this->mx_message_die( GENERAL_ERROR, "Could not edit article", '', __LINE__, __FILE__, $sql ); } // // Update custom fields // $mx_bugsbt_custom_field->file_update_data( $article_id ); $this->modified( true ); $this->_bugsbt(); } else { $message = $lang['Sorry_auth_edit']; } } // // Notification // $this->update_add_item_notify($article_id, $bugsbt_post_mode); // // Auto comment // if ( $this->comments[$cat_id]['activated'] && $this->comments[$cat_id]['autogenerate_comments'] ) { // // Autogenerate comment (duplicate the notification message) // $mx_bugsbt_notification = new mx_bugsbt_notification(); $mx_bugsbt_notification->init( $article_id ); $mx_bugsbt_notification->_compose_auto_note($bugsbt_post_mode == 'add' ? MX_NEW_NOTIFICATION : MX_EDITED_NOTIFICATION); // // Generate comment // $this->update_add_comment('', $article_id, 0, addslashes(trim($mx_bugsbt_notification->subject)), addslashes(trim($mx_bugsbt_notification->message)) ); } if ( $approve == 1 ) { $message = $lang['Bug_submitted'] . '<br /><br />' . sprintf( $lang['Click_return_bugsbt'], '<a href="' . append_sid( $this->this_mxurl() ) . '">', '</a>' ) . '<br /><br />' . sprintf($lang['Click_return_bug'], '<a href="' . append_sid($this->this_mxurl("mode=article&k=" . $article_id)). '">', '</a>') . '<br /><br />' . sprintf( $lang['Click_return_index'], '<a href="' . append_sid( $mx_root_path . "index.$phpEx" ) . '">', '</a>' ); } else { $message = $lang['Bug_submitted_Approve'] . '<br /><br />' . sprintf( $lang['Click_return_bugsbt'], '<a href="' . append_sid( $this->this_mxurl() ) . '">', '</a>' ) . '<br /><br />' . sprintf( $lang['Click_return_index'], '<a href="' . append_sid( $mx_root_path . "index.$phpEx" ) . '">', '</a>' ); } $this->mx_message_die( GENERAL_MESSAGE, $message ); } else // ======================================================= // IF not submit then load data MAIN form // ======================================================= { if ( !$article_id ) { if ( !$this->auth_user[$cat_id]['auth_post'] ) { $this->mx_message_die( GENERAL_ERROR, $lang['Sorry_auth_post'] ); } } else { if ( !( ( $this->auth_user[$cat_id]['auth_edit'] && $article_data['user_id'] == $userdata['user_id'] ) || $this->auth_user[$cat_id]['auth_mod'] ) ) { $this->mx_message_die( GENERAL_ERROR, $lang['Sorry_auth_edit'] ); } } // // PreText HIDE/SHOW // if ( $bugsbt_config['show_pretext'] ) { // // Pull Header/Body info. // $pt_header = $bugsbt_config['pt_header']; $pt_body = $bugsbt_config['pt_body']; $template->set_filenames( array( 'pretext' => 'bugsbt_post_pretext.tpl' ) ); $template->assign_vars( array( 'PRETEXT_HEADER' => $pt_header, 'PRETEXT_BODY' => $pt_body ) ); $template->assign_var_from_handle( 'KB_PRETEXT_BOX', 'pretext' ); } if ( $preview ) { // // Encode for preview // $preview_title = $mx_text->encode_preview_simple($bugsbt_title); $preview_desc = $mx_text->encode_preview_simple($bugsbt_desc); $preview_text = $mx_text->encode_preview($bugsbt_text); if (!$bugsbt_config['allow_images'] || !$bugsbt_config['allow_links']) { $preview_text = $mx_text_formatting->remove_images_links( $preview_text, $bugsbt_config['allow_images'], $bugsbt_config['no_image_message'], $bugsbt_config['allow_links'], $bugsbt_config['no_link_message'] ); } $template->set_filenames( array( 'preview' => 'bugsbt_post_preview.tpl' ) ); $template->assign_vars( array( 'L_PREVIEW' => $lang['Preview'], 'ARTICLE_TITLE' => $preview_title, 'ARTICLE_DESC' => $preview_desc, 'ARTICLE_BODY' => $preview_text, 'PRE_COMMENT' => $preview_text ) ); $template->assign_var_from_handle( 'KB_PREVIEW_BOX', 'preview' ); // // Decode for form editing // $bugsbt_title = $mx_text->decode_simple($bugsbt_title, true); $bugsbt_desc = $mx_text->decode_simple($bugsbt_desc, true); $bugsbt_text = $mx_text->decode($bugsbt_text, '', true); } else { // // Decode for form editing // $bugsbt_title = $mx_text->decode_simple($bugsbt_title, true); $bugsbt_desc = $mx_text->decode_simple($bugsbt_desc, true); $bugsbt_text = $mx_text->decode($bugsbt_text, $bbcode_uid, true); } // // show article form - MAIN // if ( $bugsbt_post_mode == 'edit' ) { $s_hidden_vars = '<input type="hidden" name="k" value="' . $article_id . '"><input type="hidden" name="bbcode_uid" value="' . $bbcode_uid . '"><input type="hidden" name="author_id" value="' . $author_id . '">'; $s_hidden_vars .= '<input type="hidden" name="block_id" value="' . $block_id . '">'; $s_hidden_vars .= '<input type="hidden" name="page_id" value="' . $page_id . '">'; $s_hidden_vars .= '<input type="hidden" name="mode" value="' . $bugsbt_post_mode . '">'; } else { $s_hidden_vars = '<input type="hidden" name="cat" value="' . $cat_id . '">'; $s_hidden_vars .= '<input type="hidden" name="block_id" value="' . $block_id . '">'; $s_hidden_vars .= '<input type="hidden" name="page_id" value="' . $page_id . '">'; $s_hidden_vars .= '<input type="hidden" name="mode" value="' . $bugsbt_post_mode . '">'; } // // Toggle selection // $html_status = ( $html_on ) ? $lang['HTML_is_ON'] : $lang['HTML_is_OFF']; $bbcode_status = ( $bbcode_on ) ? $lang['BBCode_is_ON'] : $lang['BBCode_is_OFF']; $smilies_status = ( $smilies_on ) ? $lang['Smilies_are_ON'] : $lang['Smilies_are_OFF']; $links_status = ( $links_on ) ? $lang['Links_are_ON'] : $lang['Links_are_OFF']; $images_status = ( $images_on ) ? $lang['Images_are_ON'] : $lang['Images_are_OFF']; // // set up page // $template->set_filenames( array( 'body' => 'bugsbt_post_body.tpl' ) ); if ( !$userdata['session_logged_in'] ) { $template->assign_block_vars( 'switch_name', array() ); } //$bugsbt_action_url = $bugsbt_post_mode == 'add' ? $this->this_tab_mxurl( 'mode=add' ) : $this->this_mxurl( 'mode=edit' ); $bugsbt_action_url = $this->this_tab_mxurl(); $custom_data = $bugsbt_post_mode == 'add' ? $mx_bugsbt_custom_field->display_edit() : $mx_bugsbt_custom_field->display_edit( $article_id ); $build_name = $this->cat_rowset[$cat_id]['category_name']; $edition_name = $this->cat_rowset[$this->cat_rowset[$cat_id]['parent']]['category_name']; $product_name = $this->cat_rowset[$this->cat_rowset[$this->cat_rowset[$this->cat_rowset[$cat_id]['parent']]['category_id']]['parent']]['category_name']; if ( $custom_data ) { $template->assign_block_vars( 'custom_data_fields', array( 'L_ADDTIONAL_FIELD' => $lang['Addtional_field'] )); } $template->assign_vars( array( 'S_ACTION' => $bugsbt_action_url, 'S_HIDDEN_FIELDS' => $s_hidden_vars, 'ARTICLE_TITLE' => $bugsbt_title, 'ARTICLE_DESC' => $bugsbt_desc, 'ARTICLE_BODY' => $bugsbt_text, 'USERNAME' => $username, 'L_ADD_ARTICLE' => $lang['Add_bug'], 'L_ARTICLE_TITLE' => $lang['Bug_title'], 'L_ARTICLE_DESCRIPTION' => $lang['Bug_description'], 'L_ARTICLE_TEXT' => $lang['Bug_text'], 'L_ARTICLE_CATEGORY' => $lang['Category'], 'L_ARTICLE_TYPE' => $lang['Bug_type'], 'L_BUG_PRODUCT' => $lang['Product'], 'L_BUG_EDITION' => $lang['Edition'], 'L_BUG_BUILD' => $lang['Build'], 'L_SUBMIT' => $lang['Submit'], 'L_PREVIEW' => $lang['Preview'], 'L_SELECT_TYPE' => $lang['Select'], 'L_CLOSED' => $lang['Bug_closed'], 'L_NAME' => $lang['Username'], 'L_YES' => $lang['Yes'], 'L_NO' => $lang['No'], 'HTML_STATUS' => $html_status, 'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . PHPBB_URL . append_sid("faq.$phpEx?mode=bbcode") . '" target="_phpbbcode">', '</a>'), 'SMILIES_STATUS' => $smilies_status, 'LINKS_STATUS' => $links_status, 'IMAGES_STATUS' => $images_status, 'BUG_PRODUCT' => $product_name, 'BUG_EDITION' => $edition_name, 'BUG_BUILD' => $build_name, 'S_BUG_YES' => $closed_yes, 'S_BUG_NO' => $closed_no, 'L_BBCODE_B_HELP' => $lang['bbcode_b_help'], 'L_BBCODE_I_HELP' => $lang['bbcode_i_help'], 'L_BBCODE_U_HELP' => $lang['bbcode_u_help'], 'L_BBCODE_Q_HELP' => $lang['bbcode_q_help'], 'L_BBCODE_C_HELP' => $lang['bbcode_c_help'], 'L_BBCODE_L_HELP' => $lang['bbcode_l_help'], 'L_BBCODE_O_HELP' => $lang['bbcode_o_help'], 'L_BBCODE_P_HELP' => $lang['bbcode_p_help'], 'L_BBCODE_W_HELP' => $lang['bbcode_w_help'], 'L_BBCODE_A_HELP' => $lang['bbcode_a_help'], 'L_BBCODE_S_HELP' => $lang['bbcode_s_help'], 'L_BBCODE_F_HELP' => $lang['bbcode_f_help'], 'L_EMPTY_MESSAGE' => $lang['Empty_message'], 'L_EMPTY_ARTICLE_NAME' => $lang['Empty_bug_name'], 'L_EMPTY_ARTICLE_DESC' => $lang['Empty_bug_desc'], 'L_EMPTY_CAT' => $lang['Empty_category'], 'L_EMPTY_TYPE' => $lang['Empty_type'], 'L_FONT_COLOR' => $lang['Font_color'], 'L_COLOR_DEFAULT' => $lang['color_default'], 'L_COLOR_DARK_RED' => $lang['color_dark_red'], 'L_COLOR_RED' => $lang['color_red'], 'L_COLOR_ORANGE' => $lang['color_orange'], 'L_COLOR_BROWN' => $lang['color_brown'], 'L_COLOR_YELLOW' => $lang['color_yellow'], 'L_COLOR_GREEN' => $lang['color_green'], 'L_COLOR_OLIVE' => $lang['color_olive'], 'L_COLOR_CYAN' => $lang['color_cyan'], 'L_COLOR_BLUE' => $lang['color_blue'], 'L_COLOR_DARK_BLUE' => $lang['color_dark_blue'], 'L_COLOR_INDIGO' => $lang['color_indigo'], 'L_COLOR_VIOLET' => $lang['color_violet'], 'L_COLOR_WHITE' => $lang['color_white'], 'L_COLOR_BLACK' => $lang['color_black'], 'L_FONT_SIZE' => $lang['Font_size'], 'L_FONT_TINY' => $lang['font_tiny'], 'L_FONT_SMALL' => $lang['font_small'], 'L_FONT_NORMAL' => $lang['font_normal'], 'L_FONT_LARGE' => $lang['font_large'], 'L_FONT_HUGE' => $lang['font_huge'], 'L_PAGES' => $lang['L_Pages'], 'L_PAGES_EXPLAIN' => $lang['L_Pages_explain'], 'L_TOC' => $lang['L_Toc'], 'L_TOC_EXPLAIN' => $lang['L_Toc_explain'], 'L_ABSTRACT' => $lang['L_Abstract'], 'L_ABSTRACT_EXPLAIN' => $lang['L_Abstract_explain'], 'L_TITLE_FORMAT' => $lang['L_Title_Format'], 'L_TITLE_FORMAT_EXPLAIN' => $lang['L_Title_Format_explain'], 'L_SUBTITLE_FORMAT' => $lang['L_Subtitle_Format'], 'L_SUBTITLE_FORMAT_EXPLAIN' => $lang['L_Subtitle_Format_explain'], 'L_SUBSUBTITLE_FORMAT' => $lang['L_Subsubtitle_Format'], 'L_SUBSUBTITLE_FORMAT_EXPLAIN' => $lang['L_Subsubtitle_Format_explain'], 'L_OPTIONS' => $lang['L_Options'], 'L_FORMATTING' => $lang['L_Formatting'], 'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'], 'L_STYLES_TIP' => $lang['Styles_tip'] ) ); $mx_bugsbt_functions->get_bugsbt_type_list( $type_id ); if ( $bugsbt_post_mode == 'edit' ) { $template->assign_block_vars( 'switch_edit', array( 'CAT_LIST' => $this->generate_jumpbox( 0, 0, array( $cat_id => 1 ), false, true, 'auth_edit') )); } if ( $bbcode_on ) { $template->assign_block_vars( 'switch_bbcodes', array()); } // =================================================== // assign var for top navigation // =================================================== $this->generate_navigation( $cat_id ); // // User authorisation levels output // $this->auth_can( $cat_id ); // // Get footer quick dropdown jumpbox // $this->generate_jumpbox( 0, 0, array( $cat_id => 1 )); if ( $bugsbt_post_mode == 'edit' ) { $template->assign_block_vars( 'sub_tabs', array()); } } } } ?> --- NEW FILE: bugsbt_update_tree.php --- <?php /** * * @package mxBBmodule_mx_bugsbt * @version $Id: bugsbt_update_tree.php,v 1.1 2007/02/15 12:43:51 jonohlsson Exp $ * @copyright (c) 2002-2006 [wGEric, Jon Ohlsson] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Enter description here... * */ class mx_bugsbt_update_tree extends mx_bugsbt_public { /** * Enter description here... * * @param unknown_type $action */ function main( $action ) { global $template, $lang, $db, $phpEx, $bugsbt_config, $mx_request_vars, $userdata; global $mx_root_path, $module_root_path, $is_block, $phpEx; // // Request vars // $category_id = $mx_request_vars->request('cat', MX_TYPE_INT, ''); if ( empty( $category_id ) ) { mx_message_die( GENERAL_MESSAGE, $lang['Product_not_exsist'] ); } // ======================================================= // If user not allowed to view article listing (read) and there is no sub Category // or the user is not allowed to view these category we gave him a nice message. // ======================================================= $show_category = false; if ( isset( $this->subcat_rowset[$category_id] ) ) { foreach( $this->subcat_rowset[$category_id] as $sub_cat_id => $sub_cat_row ) { if ( $this->auth_user[$sub_cat_id]['auth_view'] ) { $show_category = true; break; } } } if ( ( !$this->auth_user[$category_id]['auth_view'] ) && ( !$show_category ) ) { if ( !$userdata['session_logged_in'] ) { // mx_redirect(append_sid($mx_root_path . "login.$phpEx?redirect=". $this->this_mxurl("mode=cat&cat=" . $cat_id, true), true)); } $message = $lang['Not_authorized']; mx_message_die( GENERAL_MESSAGE, $message ); } if ( !isset( $this->cat_rowset[$category_id] ) ) { $message = $lang['Category_not_exsist'] . '<br /><br />' . sprintf( $lang['Click_return_bugsbt'], '<a href="' . append_sid( $this->this_mxurl() ) . '">', '</a>' ) . '<br /><br />' . sprintf( $lang['Click_return_index'], '<a href="' . append_sid( $mx_root_path . "index.$phpEx" ) . '">', '</a>' ); mx_message_die( GENERAL_MESSAGE, $message ); } // =================================================== // assign var for top navigation // =================================================== $this->generate_navigation( $category_id ); $build_id = $category_id; $new_bugs = $this->new_item_in_cat( $build_id ) > 0; $new_pre = $new_bugs ? '<b>' : ''; $new_post = $new_bugs ? '</b>' : ''; $items_in_cat = $this->items_in_cat( $build_id ); $build_name = $this->cat_rowset[$build_id]['category_name'] . ' (' . $new_pre . $items_in_cat . $new_post . ')' ; $edition_id = $this->cat_rowset[$this->cat_rowset[$build_id]['parent']]['category_id']; $new_bugs = $this->new_item_in_cat( $edition_id ) > 0; $new_pre = $new_bugs ? '<b>' : ''; $new_post = $new_bugs ? '</b>' : ''; $items_in_cat = $this->items_in_cat( $edition_id ); $edition_name = $this->cat_rowset[$edition_id]['category_name'] . ' (' . $new_pre . $items_in_cat . $new_post . ')' ; $product_id = $this->cat_rowset[$this->cat_rowset[$edition_id]['parent']]['category_id'];; $new_bugs = $this->new_item_in_cat( $product_id ) > 0; $new_pre = $new_bugs ? '<b>' : ''; $new_post = $new_bugs ? '</b>' : ''; $items_in_cat = $this->items_in_cat( $product_id ); $product_name = $this->cat_rowset[$product_id]['category_name'] . ' (' . $new_pre . $items_in_cat . $new_post . ')' ; // // Return new tree data for this product // die($build_name . ';' . $edition_name . ';' . $product_name); } } ?> --- NEW FILE: bugsbt_view.php --- <?php /** * * @package mxBBmodule_mx_bugsbt * @version $Id: bugsbt_view.php,v 1.1 2007/02/15 12:43:51 jonohlsson Exp $ * @copyright (c) 2002-2006 [wGEric, Jon Ohlsson] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Enter description here... * */ class mx_bugsbt_view extends mx_bugsbt_public { /** * Enter description here... * * @param unknown_type $action */ function main( $action ) { global $template, $lang, $theme, $db, $phpEx, $bugsbt_config, $mx_request_vars, $userdata; global $phpbb_root_path, $mx_root_path, $module_root_path, $is_block, $phpEx, $images; global $mx_bugsbt_custom_field, $mx_bugsbt_functions, $print_version, $board_config, $mx_block; // // Request vars // $start = $mx_request_vars->get('start', MX_TYPE_INT, 0); $bug_id = $mx_request_vars->request('k', MX_TYPE_INT, ''); // =================================================== // article doesn't exist' // =================================================== if ( empty( $bug_id ) ) { mx_message_die( GENERAL_MESSAGE, $lang['Bug_not_exsist'] ); } // ======================================================= // article id is not set, give him/her a nice error message // ======================================================= switch ( SQL_LAYER ) { case 'oracle': $sql = "SELECT f.*, u.user_id, u.username, typ.type FROM " . BUGSBT_BUGS_TABLE . " AS f, " . USERS_TABLE . " AS u, " . BUGSBT_TYPES_TABLE . " AS typ WHERE f.bug_type = typ.id(+) AND f.bug_author_id = u.user_id(+) AND f.bug_id = $bug_id AND f.approved = 1 GROUP BY f.bug_id "; break; default: $sql = "SELECT f.*, u.user_id, u.username, typ.type FROM " . BUGSBT_BUGS_TABLE . " AS f LEFT JOIN " . BUGSBT_TYPES_TABLE . " AS typ ON f.bug_type = typ.id LEFT JOIN " . USERS_TABLE . " AS u ON f.bug_author_id = u.user_id WHERE f.bug_id = $bug_id AND f.approved = 1 GROUP BY f.bug_id "; break; } if ( !( $result = $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, "Could not obtain bug data", '', __LINE__, __FILE__, $sql ); } if ( !$bugsbt_row = $db->sql_fetchrow( $result ) ) { mx_message_die( GENERAL_MESSAGE, $lang['Bug_not_exsist'] ); } $db->sql_freeresult( $result ); // =================================================== // bugsbt auth for viewing article // =================================================== if ( ( !$this->auth_user[$bugsbt_row['bug_category_id']]['auth_view'] ) ) { $message = $lang['Bug_not_exsist'] . '<br /><br />' . sprintf( $lang['Click_return_bugsbt'], '<a href="' . append_sid( $this->this_mxurl() ) . '">', '</a>' ) . '<br /><br />' . sprintf( $lang['Click_return_index'], '<a href="' . append_sid( $phpbb_root_path . "index.$phpEx" ) . '">', '</a>' ); mx_message_die( GENERAL_MESSAGE, $message ); } // =================================================== // Prepare bug info to display them // =================================================== $bug_title = $bugsbt_row['bug_title']; $bug_description = $bugsbt_row['bug_description']; $bug_category_id = $bugsbt_row['bug_category_id']; $build_name = $this->cat_rowset[$bug_category_id]['category_name']; $edition_name = $this->cat_rowset[$this->cat_rowset[$bug_category_id]['parent']]['category_name']; $product_name = $this->cat_rowset[$this->cat_rowset[$this->cat_rowset[$this->cat_rowset[$bug_category_id]['parent']]['category_id']]['parent']]['category_name']; $author_id = $bugsbt_row['bug_author_id']; $approved = $bugsbt_row['approved']; $date = create_date( $board_config['default_dateformat'], $bugsbt_row['bug_date'], $board_config['board_timezone'] ); $bug_type = isset($lang['bugsbt_type_' . $bugsbt_row['type']]) ? $lang['bugsbt_type_' . $bugsbt_row['type']] : $bugsbt_row['type']; $new_views = $bugsbt_row['views'] + 1; $board_config['allow_html_tags'] = $bugsbt_config['allowed_html_tags']; $bug = stripslashes( $bugsbt_row['bug_body'] ); $bbcode_uid = $bugsbt_row['bbcode_uid']; // // Toggles // $bbcode_on = !$bugsbt_config['allow_wysiwyg'] ? ($bugsbt_config['allow_bbcode'] ? true : false) : false; $html_on = !$bugsbt_config['allow_wysiwyg'] ? ($bugsbt_config['allow_html'] ? true : false) : true; $smilies_on = !$bugsbt_config['allow_wysiwyg'] ? ($bugsbt_config['allow_smilies'] ? true : false) : false; $this->page_title = $bug_title; // // Instantiate the mx_text and mx_text_formatting classes // $mx_text = new mx_text(); $mx_text->init($html_on, $bbcode_on, $smilies_on); // Note: allowed_html_tags is altered above $mx_text->allow_all_html_tags = $bugsbt_config['allow_wysiwyg'] ? true : false; $mx_text_formatting = new mx_text_formatting(); // // Decode bug for display // $bug_title = $mx_text->display_simple($bug_title); $bug_description = $mx_text->display_simple($bug_description); $bug = $mx_text->display($bug, $bbcode_uid); $bug = $mx_bugsbt_functions->article_formatting( $bug ); // // Remove Images and/or links // if (!$bugsbt_config['allow_images'] || !$bugsbt_config['allow_inks']) { $bug = $mx_text_formatting->remove_images_links( $bug, $bugsbt_config['allow_images'], $bugsbt_config['no_image_message'], $bugsbt_config['allow_links'], $bugsbt_config['no_link_message'] ); } // // Text formatting // if ( $bugsbt_config['max_subject_chars'] > 0 ) { $bug_title = $mx_text_formatting->truncate_text( $bug_title, $bugsbt_config['max_subject_chars'], true ); } if ( $bugsbt_config['max_description_chars'] > 0 ) { $bug_description = $mx_text_formatting->truncate_text( $bug_description, $bugsbt_config['max_description_chars'], true ); } if ( $bugsbt_config['max_chars'] > 0 ) { $bug = $mx_text_formatting->truncate_text( $bug, $bugsbt_config['max_chars'], true ); } if ( $bugsbt_config['formatting_truncate_links'] || $bugsbt_config['formatting_image_resize'] > 0 || $bugsbt_config['formatting_wordwrap'] ) { $bug = $mx_text_formatting->decode( $bug, $bugsbt_config['formatting_truncate_links'], intval($bugsbt_config['formatting_image_resize']), $bugsbt_config['formatting_wordwrap'] ); } // // Format text and data // //$temp_url = append_sid( $this->this_mxurl( "mode=cat&cat=$bug_category_id" ) ); //$build_name = '<a href="' . $temp_url . '" class="gensmall">' . $build_name . '</a>'; if ( $author_id == -1 ) { $author_bugsbt_art = ( $bugsbt_row['username'] == '' ) ? $lang['Guest'] : $bugsbt_row['username']; } else { $author_name = $bugsbt_row['username']; $temp_url = append_sid( $phpbb_root_path . "profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$author_id" ); $author_bugsbt_art = '<a href="' . $temp_url . '" class="gensmall">' . $author_name . '</a>'; } $views = '<b>' . $lang['Views'] . '</b> ' . $new_views; $sql = "UPDATE " . BUGSBT_BUGS_TABLE . " SET views = '" . $new_views . "' WHERE bug_id = " . $bug_id; if ( !( $result2 = $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, "Could not update bug's views", '', __LINE__, __FILE__, $sql ); } // // Edit buttons // if ( ( $userdata['user_id'] == $author_id && $this->auth_user[$bug_category_id]['auth_edit'] ) || $this->auth_user[$bug_category_id]['auth_mod'] ) { $temp_url = append_sid( $this->this_mxurl( "mode=edit&k=" . $bug_id ) ); $edit_img = '<a href="' . $temp_url . '"><img src="' . $images['bugsbt_icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>'; $edit = '<a href="javascript:editBug(\''.$bug_id.'\');">' . $lang['Edit_delete_post'] . '</a>'; } else { $edit_img = ''; $edit = ''; } // // Delete buttons // if ( ( $userdata['user_id'] == $author_id && $this->auth_user[$bug_category_id]['auth_delete'] ) || $this->auth_user[$bug_category_id]['auth_mod'] ) { $temp_url = append_sid( $this->this_mxurl( "mode=edit&do=delete&k=" . $bug_id ) ); $delete_img = '<a href="javascript:delete_item(\'' . $temp_url . '\')"><img src="' . $images['bugsbt_icon_delpost'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>'; $delete = '<a href="javascript:deleteBug(\''.$bug_id.'\');">' . $lang['Edit_delete_post'] . '</a>'; } else { $delete_img = ''; $delete = ''; } // // If this is an allowed bug, go ahead and display it // if ( !$this->auth_user[$bug_category_id]['auth_view'] || !$bug_title || ( !$approved && !$this->auth_user[$bug_category_id]['auth_mod'] ) ) { $message = $lang['Bug_not_exsist'] . '<br /><br />' . sprintf( $lang['Click_return_bugsbt'], '<a href="' . append_sid( $this->this_mxurl() ) . '">', '</a>' ) . '<br /><br />' . sprintf( $lang['Click_return_index'], '<a href="' . append_sid( $phpbb_root_path . "index.$phpEx" ) . '">', '</a>' ); mx_message_die( GENERAL_MESSAGE, $message ); } else { // // Start output of page // $template->set_filenames( array( 'body' => 'bugsbt_view_body.tpl' ) ); $template->assign_vars( array( 'PAGINATION' => $pagination, 'PAGE_NUMBER' => sprintf( $lang['Page_of'], ( floor( $start / $bugsbt_config['comments_pagination'] ) + 1 ), ceil( $num_of_replies / $bugsbt_config['comments_pagination'] ) ), 'L_GOTO_PAGE' => $lang['Goto_page'], 'L_BUG_DESCRIPTION' => $lang['Bug_description'], 'L_BUG_DATE' => $lang['Date'], 'L_BUG_TYPE' => $lang['Bug_type'], 'L_BUG_PRODUCT' => $lang['Product'], 'L_BUG_EDITION' => $lang['Edition'], 'L_BUG_BUILD' => $lang['Build'], 'L_BUG_AUTHOR' => $lang['Reporter'], 'L_GOTO_PAGE' => $lang['Goto_page'], 'L_TOC' => $lang['TOC'], 'L_COMMENTS' => $lang['Comments_show_title'], 'BUG_ID' => $bug_id, 'BUG_TITLE' => $bug_title, 'BUG_AUTHOR' => $author_bugsbt_art, 'BUG_PRODUCT' => $product_name, 'BUG_EDITION' => $edition_name, 'BUG_BUILD' => $build_name, 'BUG_TEXT' => $bug, 'BUG_DESCRIPTION' => $bug_description, 'BUG_DATE' => $date, 'BUG_TYPE' => $bug_type, 'EDIT_IMG' => $edit_img, 'DELETE_IMG' => $delete_img, 'EDIT' => $edit, 'DELETE' => $delete, 'VIEWS' => $views, 'T_TH_COLOR1' => '#'.$theme['th_color1'], // Border Colors (main) ) ); } // // Instantiate custom fields // $mx_bugsbt_custom_field = new mx_custom_field(BUGSBT_CUSTOM_TABLE, BUGSBT_CUSTOM_DATA_TABLE); $mx_bugsbt_custom_field->init(); $mx_bugsbt_custom_field->display_data( $bug_id ); // // Comments // if ( $this->comments[$bug_category_id]['activated'] && $this->auth_user[$bug_category_id]['auth_view_comment']) { $comments_type = $this->comments[$bug_category_id]['internal_comments'] ? 'internal' : 'phpbb'; // // Instatiate comments // include_once( $module_root_path . 'bugsbt/includes/functions_comment.' . $phpEx ); $mx_bugsbt_comments = new mx_bugsbt_comments(); $mx_bugsbt_comments->init( $bugsbt_row, $comments_type ); $mx_bugsbt_comments->display_comments(); } // // assign var for top navigation // //$this->generate_navigation( $bug_category_id ); // // User authorisation levels output // //$this->auth_can($bug_category_id); // // Get footer quick dropdown jumpbox // //$this->generate_jumpbox( 'auth_view', $bug_category_id, $bug_category_id, true ); //$this->generate_jumpbox( 0, 0, array( $bug_category_id => 1 )); $template->assign_block_vars( 'sub_tabs', array()); } } ?> --- NEW FILE: bugsbt_product.php --- <?php /** * * @package mxBBmodule_mx_bugsbt * @version $Id: bugsbt_product.php,v 1.1 2007/02/15 12:43:50 jonohlsson Exp $ * @copyright (c) 2002-2006 [wGEric, Jon Ohlsson] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Enter description here... * */ class mx_bugsbt_product extends mx_bugsbt_public { /** * Enter description here... * * @param unknown_type $action */ function main( $action ) { global $template, $lang, $db, $phpEx, $bugsbt_config, $mx_request_vars, $userdata; global $mx_root_path, $module_root_path, $is_block, $phpEx; // // Request vars // $start = $mx_request_vars->get('start', MX_TYPE_INT, 0); $category_id = $mx_request_vars->request('cat', MX_TYPE_INT, ''); if ( empty( $category_id ) ) { mx_message_die( GENERAL_MESSAGE, $lang['Product_not_exsist'] ); } // // Sorting of items // if ( isset( $_REQUEST['sort_method'] ) ) { switch ( $_REQUEST['sort_method'] ) { case 'Id': $this->sort_method = 't.article_id'; $this->sort_method_extra = 't.article_type' . " DESC, " ; break; case 'Latest': $this->sort_method = 't.article_date'; $this->sort_method_extra = 't.article_type' . " DESC, " ; break; case 'Toprated': $this->sort_method = 'rating'; $this->sort_method_extra = 't.article_type' . " DESC, " ; break; case 'Most_popular': $this->sort_method = 't.views'; $this->sort_method_extra = 't.article_type' . " DESC, " ; break; case 'Userrank': $this->sort_method = 'u.user_rank'; $this->sort_method_extra = 't.article_type' . " DESC, " ; break; case 'Alphabetic': $this->sort_method = 't.article_title'; $this->sort_method_extra = 't.article_type' . " DESC, " ; break; } } if ( isset( $_REQUEST['sort_order'] ) ) { switch ( $_REQUEST['sort_order'] ) { case 'ASC': $this->sort_order = 'ASC'; break; case 'DESC': $this->sort_order = 'DESC'; break; } } // ======================================================= // If user not allowed to view article listing (read) and there is no sub Category // or the user is not allowed to view these category we gave him a nice message. // ======================================================= $show_category = false; if ( isset( $this->subcat_rowset[$category_id] ) ) { foreach( $this->subcat_rowset[$category_id] as $sub_cat_id => $sub_cat_row ) { if ( $this->auth_user[$sub_cat_id]['auth_view'] ) { $show_category = true; break; } } } if ( ( !$this->auth_user[$category_id]['auth_view'] ) && ( !$show_category ) ) { if ( !$userdata['session_logged_in'] ) { // mx_redirect(append_sid($mx_root_path . "login.$phpEx?redirect=". $this->this_mxurl("mode=cat&cat=" . $cat_id, true), true)); } $message = $lang['Not_authorized']; mx_message_die( GENERAL_MESSAGE, $message ); } if ( !isset( $this->cat_rowset[$category_id] ) ) { $message = $lang['Category_not_exsist'] . '<br /><br />' . sprintf( $lang['Click_return_bugsbt'], '<a href="' . append_sid( $this->this_mxurl() ) . '">', '</a>' ) . '<br /><br />' . sprintf( $lang['Click_return_index'], '<a href="' . append_sid( $mx_root_path . "index.$phpEx" ) . '">', '</a>' ); mx_message_die( GENERAL_MESSAGE, $message ); } // // Validate Comments Setup // if ( $this->comments[$category_id]['activated'] && !$this->comments[$category_id]['internal_comments'] && $this->comments[$category_id]['comments_forum_id'] < 1 ) { // // Commenting is enabled but no category forum id specified // $message = $lang['No_cat_comments_forum_id']; mx_message_die(GENERAL_MESSAGE, $message); } // // Vars // $category_name = $this->cat_rowset['category_name']; $this->page_title = $category_name; $template->set_filenames( array( 'body' => 'bugsbt_product_body.tpl' ) ); $template->assign_vars( array( // List Header 'L_ID' => $lang['bugsbt_Bug_id'], 'L_CLOSED' => $lang['bugsbt_Bug_closed'], 'L_NAME' => $lang['bugsbt_Bug_name'], 'L_EDITION_BUILD' => $lang['bugsbt_Bug_edition_build'], 'L_STATUS' => $lang['bugsbt_Bug_status'], 'L_REPORTED' => $lang['bugsbt_Bug_reported'], 'U_CAT' => append_sid( $this->this_mxurl( 'mode=cat&cat=' . $category_id ) ) ) ); // =================================================== // assign var for top navigation // =================================================== $this->generate_navigation( $category_id ); // // User authorisation levels output // $this->auth_can($category_id); // // get sub-cats // if ( isset( $this->subcat_rowset[$category_id] ) ) { //$this->display_categories( $category_id ); } // // Get articles // $this->list_items( $category_id ); // // Get footer quick dropdown jumpbox // //$this->generate_jumpbox( 'auth_view', $category_id, $category_id, true ); $this->generate_jumpbox( 0, 0, array( $category_id => 1 )); } } ?> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:44:00
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/modules/tabs In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/modules/tabs Added Files: bugsbt__node.php bugsbt__tab-index.php Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: bugsbt__tab-index.php --- <?php /** * * @package mxBB Portal Module - mx_kb * @version $Id: bugsbt__tab-index.php,v 1.1 2007/02/15 12:43:52 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Mohd Basri, wGEric, PHP Arena, pafileDB, CRLin] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ define( 'IN_PORTAL', 1 ); $mx_root_path = "./../../../../../"; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($mx_root_path . 'common.' . $phpEx); define( 'MXBB_MODULE', true ); define( 'MXBB_27x', file_exists( $mx_root_path . 'mx_login.' . $phpEx ) ); $is_block = true; // // Page selector // $page_id = $mx_request_vars->request('page_id', MX_TYPE_INT, 0); // // Start session, user and style (template + theme) management // - populate $userdata, $lang, $theme, $images and initiate $template. // $mx_user->init($user_ip, - ( 1000 + $page_id )); // // Load and instatiate page and block classes // $mx_page = new mx_page(); $mx_page->init( $page_id ); $mx_block = new mx_block(); // // Block selector // $block_id = $mx_request_vars->request('block_id', MX_TYPE_INT, 0); // // Instatiate block // $mx_block->init( $block_id ); // // Page Auth and IP filter // if ( !$mx_page->auth_view && $userdata['session_logged_in'] ) { echo('Not authorized - 1'); return; } elseif ( !$mx_page->auth_view && !$userdata['session_logged_in'] ) { echo('Not authorized - 2'); return; } elseif ( !$mx_page->auth_ip ) { echo('Not authorized - 3'); return; } // // Page Auth and IP filter // if ( !( ( $mx_block->auth_view && $mx_block->show_block ) || $mx_block->auth_mod ) ) { echo('Not authorized - 4'); return; } // // Define $module_root_path, to be used within blocks // $module_root_path = $mx_root_path . $mx_block->module_root_path; // ------------------------------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------------------------------- // Start // ------------------------------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------------------------------- // =================================================== // Include the common file // =================================================== include_once( $module_root_path . 'bugsbt/bugsbt_common.' . $phpEx ); // =================================================== // Get mode variables, otherwise set it to the main // =================================================== $mode = $mx_request_vars->request('mode', MX_TYPE_NO_TAGS, 'product'); // =================================================== // Is admin? // =================================================== $is_admin = ( ( $userdata['user_level'] == ADMIN ) && $userdata['session_logged_in'] ) ? true : 0; // =================================================== // if the database disabled give them a nice message // =================================================== if ( intval( $bugsbt_config['module_enable'] ) ) { mx_message_die( GENERAL_MESSAGE, $lang['bugsbt_disable'] ); } // =================================================== // an array of all expected actions // =================================================== $actions = array( 'index' => 'index', 'product' => 'product', 'post' => 'post', 'add' => 'post', 'edit' => 'post', 'view' => 'view', 'update_tree' => 'update_tree', ); $mx_bugsbt->module( $actions[$mode] ); $mx_bugsbt->modules[$actions[$mode]]->main( $mode ); $template->assign_vars( array( 'U_PORTAL' => $mx_root_path, 'L_PORTAL' => "<<", 'U_KB' => append_sid( $mx_bugsbt->this_mxurl() ), 'L_KB' => $lang['bugsbt_title'] ) ); $CONFIG['encoding'] = 'iso-8859-1'; // Date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // always modified header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // HTTP/1.1 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.0 header("Pragma: no-cache"); header('Content-type: text/html; charset='.$CONFIG['encoding']); $template->pparse( 'body' ); // // load module footer // $mx_bugsbt_functions->page_footer(); ?> --- NEW FILE: bugsbt__node.php --- <?php // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | node.php | // | Execute tree actions. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ define( 'IN_PORTAL', 1 ); $mx_root_path = "./../../../../"; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($mx_root_path . 'common.' . $phpEx); // // Page selector // $page_id = $mx_request_vars->request('page_id', MX_TYPE_INT, 0); // // Start session, user and style (template + theme) management // - populate $userdata, $lang, $theme, $images and initiate $template. // $mx_user->init($user_ip, - ( 1000 + $page_id )); // // Load and instatiate page and block classes // $mx_page = new mx_page(); $mx_page->init( $page_id ); $mx_block = new mx_block(); // // Block selector // $block_id = $mx_request_vars->request('block_id', MX_TYPE_INT, 0); // // Instatiate block // $mx_block->init( $block_id ); // // Page Auth and IP filter // if ( !$mx_page->auth_view && $userdata['session_logged_in'] ) { echo('Not authorized - 1'); return; } elseif ( !$mx_page->auth_view && !$userdata['session_logged_in'] ) { echo('Not authorized - 2'); return; } elseif ( !$mx_page->auth_ip ) { echo('Not authorized - 3'); return; } // // Page Auth and IP filter // if ( !( ( $mx_block->auth_view && $mx_block->auth_edit && $mx_block->show_block ) || $mx_block->auth_mod ) ) { echo('Not authorized - 4'); return; } // // Define $module_root_path, to be used within blocks // $module_root_path = $mx_root_path . $mx_block->module_root_path; // =================================================== // Include the common file // =================================================== include_once( $module_root_path . 'simpledoc/simpledoc_common.' . $phpEx ); if ($simpledoc_debug) { set_error_handler('myErrorHandler'); } else { set_error_handler('logError'); $LOGERROR = 'error.txt'; } $do = get('do'); $id = $mx_simpledoc->unicode_urldecode($mx_simpledoc_functions->fix_charset(get('id'))); $name = $mx_simpledoc->unicode_urldecode($mx_simpledoc_functions->fix_charset(get('name'))); $is_folder = get('is_folder'); switch ($do) { case 'moveUp': case 'moveDown': case 'moveLeft': case 'moveRight': case 'insert': case 'insertBefore': case 'insertAfter': case 'insertInsideAtStart': case 'insertInsideAtEnd': case 'remove': $Node = new Node($id); break; } switch ($do) { case 'moveUp': $Node->moveUp(); break; case 'moveDown': $Node->moveDown(); break; case 'moveLeft': $Node->moveLeft(); break; case 'moveRight': $Node->moveRight(); break; case 'insert': $Node->insert($name, $is_folder); break; case 'insertBefore': $Node->insertBefore($name, $is_folder); break; case 'insertAfter': $Node->insertAfter($name, $is_folder); break; case 'insertInsideAtStart': $Node->insertInsideAtStart($name, $is_folder); break; case 'insertInsideAtEnd': $Node->insertInsideAtEnd($name, $is_folder); break; case 'remove': $Node->remove(); break; default: trigger_error("node.php failed, unknown action: '$do' (query_string={$_SERVER['QUERY_STRING']})", E_USER_ERROR); break; } ?> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:59
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/shared In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/shared Added Files: index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:59
|
Update of /cvsroot/mxbb/mx_bugsbt/docs In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/docs Added Files: help-about.html help-contents.html index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: help-about.html --- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>About</title> <style type="text/css"> body { margin: 1em; padding: 0; background: #F1EFE2; color: #000000; font-family: georgia, tahoma, verdana; font-size: 11px; cursor: default; } h1 { font-size: 13px; font-weight: bold; margin: 0; } h2 { font-size: 11px; font-weight: bold; margin: 0; } .hr { font-size: 0px; border-width: 1px; border-color: #aca899; border-style: solid none none none; margin-top: 2px; margin-bottom: 2px; } p { margin: 1em 0; } b { color: #909090; } a { color: #316ac5; text-decoration: none; } a:hover { color: #316ac5; text-decoration: underline; } </style> </head> <body> <h1>mxBB BugsBT</h1> <b>version 1.0.0</b> <div class="hr"></div> <p> BugTracker BugsBT management system. <br /> Created by <a href="http://www.mxbb-portal.com" target="_blank">Jon Ohlsson</a>. <br /> Based on original code by <a href="http://gosu.pl/php/simpledoc.html" target="_blank">Cezary Tomczak</a>. <br /> <br /> </p> </body> </html> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: help-contents.html --- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Contents</title> <style type="text/css"> body { margin: 1em; padding: 0; background: #F1EFE2; color: #000000; font-family: georgia, tahoma, verdana; font-size: 11px; cursor: default; } h1 { font-size: 13px; font-weight: bold; margin: 0; } h2 { font-size: 12px; font-weight: bold; margin: 1em 0; } .hr { font-size: 0px; border-width: 1px; border-color: #aca899; border-style: solid none none none; margin-top: 2px; margin-bottom: 2px; } p { margin: 1em 0; } b { color: #909090; } a { color: #316ac5; text-decoration: none; } a:hover { color: #316ac5; text-decoration: underline; } #contents div { margin-left: 2em; padding-top: 1px; } dl { margin: 1em 0; } dt { font-size: 11px; color: #666666; font-weight: bold; margin: 1em 0; } dd { margin: 1em 0 1em 2em; } i {} </style> </head> <body> <h1>Help</h1> <div class="hr"></div> <p> <div id="contents">1.0 <a href="#management-1-0">Management</a> <div>1.1 <a href="#management-1-1">Top menu</a></div> <div>1.2 <a href="#management-1-2">Tree view</a></div> </div> <p> <h2>1.0 Management<a name="management-1-0"></a></h2> <dl> <dt>1.1 Top menu<a name="management-1-1"></a></dt> <dd> * - asterix near an item means that the action will be performed in a new window, state of current window will not change.<br /> <br /> Project: <br /> <i>Management</i> - managing documents/folders without reloading the browser.<br /> <i>Publish</i> - generate offline docs using one of available templates.<br /> <i>Import content</i> - import raw content. <br /> <i>Export content</i> - export raw content (to make backup).<br /> </dd> <dt>1.2 Tree view<a name="management-1-2"></a></dt> <dd> Click on the "+" or "-" near the folder icon to expand/collapse current node. Click on the node name to select an element. To perform an action using icons below the tree, first you have to select an element. State of the tree is remembered between any future requests.<br /> <br /> Actions: <br /><br /> <i>Move Up</i>, <i>Move Down</i> - move the node up or down.<br /> <i>Move Left</i> - move above current node's parent.<br /> <i>Move Right</i> - move inside folder that is below current node.<br /> <i>Insert</i> - insert before, after or inside current node.<br /> <i>Delete</i> - remove doc or folder (must be empty).<br /> </dd> </dl> </p> </p> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:56
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt Added Files: bugsbt_common.php index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: bugsbt_common.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: bugsbt_common.php,v 1.1 2007/02/15 12:43:45 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /* // =================================================== // addslashes to vars if magic_quotes_gpc is off // =================================================== if ( !@function_exists( 'slash_input_data' ) ) { function slash_input_data( &$data ) { if ( is_array( $data ) ) { foreach ( $data as $k => $v ) { $data[$k] = ( is_array( $v ) ) ? slash_input_data( $v ) : addslashes( $v ); } } return $data; } } // =================================================== // to make it work with php version under 4.1 and other stuff // =================================================== if ( @phpversion() < '4.1' ) { $_GET = &$HTTP_GET_VARS; $_POST = &$HTTP_POST_VARS; $_COOKIE = &$HTTP_COOKIE_VARS; $_SERVER = &$HTTP_SERVER_VARS; $_ENV = &$HTTP_ENV_VARS; $_FILES = &$HTTP_POST_FILES; $_SESSION = &$HTTP_SESSION_VARS; } if ( !isset( $_REQUEST ) ) { $_REQUEST = array_merge( $_GET, $_POST, $_COOKIE ); } if ( !get_magic_quotes_gpc() ) { $_GET = slash_input_data( $_GET ); $_POST = slash_input_data( $_POST ); $_COOKIE = slash_input_data( $_COOKIE ); $_REQUEST = slash_input_data( $_REQUEST ); } */ // =================================================== // Include Files // =================================================== include_once( $module_root_path . 'bugsbt/includes/bugsbt_constants.' . $phpEx ); // // Load addon tools // // - Class module_cache // - Class mx_custom_fields // - Class mx_notification // - Class mx_text // - Class mx_text_formatting // include_once( $mx_root_path . 'includes/mx_functions_tools.' . $phpEx ); include_once( $module_root_path . 'bugsbt/includes/functions.' . $phpEx ); include_once( $module_root_path . 'bugsbt/includes/functions_auth.' . $phpEx ); //include_once( $module_root_path . 'bugsbt/includes/functions_mx.' . $phpEx ); include_once( $module_root_path . 'bugsbt/includes/functions_bugsbt.' . $phpEx ); // =================================================== // Load classes // =================================================== $mx_bugsbt_cache = new module_cache($module_root_path . 'bugsbt/'); $mx_bugsbt_functions = new mx_bugsbt_functions(); if ( $mx_bugsbt_cache->exists( 'config' ) ) { $bugsbt_config = $mx_bugsbt_cache->get( 'config' ); } else { $bugsbt_config = $mx_bugsbt_functions->bugsbt_config(); $mx_bugsbt_cache->put( 'config', $bugsbt_config ); } // // options // /* $kb_wysiwyg = false; if ( $kb_config['wysiwyg'] ) // Html Textblock { if ( file_exists( $mx_root_path . 'modules/mx_shared/tinymce/jscripts/tiny_mce/blank.htm' ) ) { $bbcode_on = false; $html_on = true; $smilies_on = false; $kb_wysiwyg = true; } } if ( !$kb_wysiwyg ) { $bbcode_on = $kb_config['allow_bbcode'] ? true : false; $html_on = $kb_config['allow_html'] ? true : false; $smilies_on = $kb_config['allow_smilies'] ? true : false; } */ // // Some general template vars // $template->assign_vars( array( // // Index // 'L_VIEW_BUGS' => $lang['sd_View_bugs'], 'L_VIEW_BUG' => $lang['sd_View_bug'], 'L_REPORT_BUG' => $lang['sd_Report_bug'], 'L_EDIT_BUG' => $lang['sd_Edit_bug'], 'L_DELETE_BUG' => $lang['sd_Delete_bug'], 'L_DEFAULT_EDIT' => $lang['sd_Default_edit'], 'L_LOADING' => $lang['sd_Loading'], 'L_SAVING' => $lang['sd_Saving'], )); if (defined( 'IN_ADMIN' )) { include_once( $module_root_path . 'bugsbt/includes/functions_admin.' . $phpEx ); $mx_bugsbt = new mx_bugsbt_admin(); } else { $mx_bugsbt = new mx_bugsbt_public(); } ?> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/includes/js In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/includes/js Added Files: common.js debug.js form.js index.htm init_main.js management.js.php request.js.php Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: form.js --- // Forms, some help functions. // Author: Cezary Tomczak [www.gosu.pl] // submit button must have name "submit" to get this working window.onload = function() { document.forms[0].onsubmit = function() { if (!document.forms[0].submit.disabled) { document.forms[0].submit.disabled = true; return true; } return false; }; }; function isNumber(s) { if (s.length && s.charAt(0) == "-") { return isNumber(s.substr(1)); } if (!(/^[\d.]+$/.test(s))) { return false; } if (s.indexOf(".") != -1 && (s.indexOf(".") != s.lastIndexOf("."))) { return false; } if (s.charAt(0) == ".") { return false; } if (s.length >= 2 && s.charAt(0) == "0" && s.charAt(1) != ".") { return false; } return !isNaN(s); } --- NEW FILE: management.js.php --- <?php //require '../../../config.php'; //$CONFIG['encoding'] is replaced by iso-8859-1 ?> // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | management.js | // | Some functions, stuff for documents & folders management. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ function Fader(id) { this.start = function() { this.timerId = setInterval(change, 80); }; this.stop = function() { clearInterval(this.timerId); this.opacity = 80; this.direction = 0; document.getElementById(this.id).style.opacity = 1; document.getElementById(this.id).style.MozOpacity = 1; document.getElementById(this.id).style.filter = 80; }; function change() { self.opacity += (self.direction ? 10 : -10); document.getElementById(self.id).style.opacity = self.opacity/100; document.getElementById(self.id).style.MozOpacity = self.opacity/100; document.getElementById(self.id).style.filter = "alpha(opacity="+self.opacity+")"; if (self.opacity == 20) { self.direction = 1; } if (self.opacity == 80) { self.direction = 0; } } var self = this; this.id = id; this.timerId = null; this.opacity = 80; this.direction = 0; } product_update = false; //var tabsLoading = new Fader("tabs-loading"); //var tabsSaving = new Fader("tabs-saving"); //var AjaxRequest = new AjaxRequest(); //function tabsLoadingOn() { document.getElementById("tabs-loading").style.display = "block"; tabsLoading.start(); } function tabsLoadingOn() { } //function tabsLoadingOff() { document.getElementById("tabs-loading").style.display = "none"; tabsLoading.stop(); } function tabsLoadingOff() { } //function tabsSavingOn() { document.getElementById("tabs-saving").style.display = "block"; tabsSaving.start(); } function tabsSavingOn() { } //function tabsSavingOff() { document.getElementById("tabs-saving").style.display = "none"; tabsSaving.stop(); } function tabsSavingOff() { } function viewBugs() { //if (!tree.active || !tree.getActiveNode().isDocument()) { //alert("You have to select a document in the Tree View to perform this action."); //return; //} checkContentSaved(); AjaxRequest.get( { 'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php' ,'parameters':{ 'mode':'product', 'cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; updateTabs('tab_bugs'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ clearTabs(); tabsLoadingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); } function reportBug() { if ( !tree.active || !tree.getActiveNode().isDocument()) { alert("You have to select a Product Build in the Tree View to perform this action."); return; } checkContentSaved(); AjaxRequest.get( { 'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php' ,'parameters':{ 'mode':'post', 'cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; updateTabs('tab_report'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ clearTabs(); tabsLoadingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); } function editBug(bug_id) { if ( !bug_id && (typeof current_bug_id == "undefined") ) { alert("You have to select a Bug to perform this action."); return; } bug_id = (bug_id > 0) ? bug_id : current_bug_id; current_bug_id = bug_id; checkContentSaved(); AjaxRequest.get( { 'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php' ,'parameters':{ 'k': bug_id, 'mode':'post', 'cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; updateTabs('tab_edit'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ clearTabs(); tabsLoadingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); } function viewBug(bug_id) { if ( !bug_id && (typeof current_bug_id == "undefined") ) { alert("You have to select a Bug to perform this action."); return; } bug_id = (bug_id > 0) ? bug_id : current_bug_id; current_bug_id = bug_id; checkContentSaved(); AjaxRequest.get( { 'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php' ,'parameters':{ 'k': bug_id, 'mode':'view', 'cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ,'onLoading':function() { clearTabs(); tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ el('tabs-data').innerHTML = req.responseText; updateTabs('tab_view'); dhtmlHistory.add( treeGetId(), el(tree.active+"-text").innerHTML );} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ clearTabs(); tabsLoadingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); } function updateTree() { if ( !tree.active ) { alert("Problem updating the tree."); return; } AjaxRequest.get( { 'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php' ,'parameters':{ 'mode':'update_tree', 'cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ,'onLoading':function() { } ,'onComplete':function() { } ,'onSuccess':function(req){ tree.rename(req.responseText);} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); } function saveContent(theform) { if (!checkForm(theform)) { return; } var return_data = ''; var status = AjaxRequest.submit( theform ,{ 'onLoading':function() { tabsSavingOn(); el('submit').disabled = true; } ,'onComplete':function() { tabsSavingOff(); el('submit').disabled = false; } ,'onSuccess':function(req){ return_data = stripBodyHtml(req.responseText); } ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ clearTabs(); tabsSavingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); //el('body-tmp').value = el('body').value; if ((typeof status == "boolean" && !status) || typeof status == "string") { alert("Unknown error, cannot save document."); } else { el('saved').innerHTML = "Saved successfuly on "+(new Date()+"<br>(this message will disappear in 1 second)"); if (return_data != "") { el('saved').innerHTML = return_data; return; } product_update = true; if (savedTimerID) clearTimeout(savedTimerID); savedTimerID = setTimeout(function(){ clearTabs(); viewBugs(); updateTabs('tab_bugs');}, 1000); } return status; } function deleteBug(do_delete) { if ( typeof current_bug_id == "undefined" ) { alert("You have to select a Bug to perform this action."); return; } bug_id = current_bug_id; current_bug_id = bug_id; if (!confirm("Really Delete this Bug?")) { return; } var return_data = ''; AjaxRequest.get( { 'url':'modules/mx_bugsbt/bugsbt/modules/tabs/bugsbt__tab-index.php' ,'parameters':{ 'k': bug_id, 'mode':'edit', 'do':'delete','cat':escape(treeGetId().substr(treeGetId().lastIndexOf("/")+1)), 'block_id':mxBlock.block_id, 'page_id':mxBlock.page_id } ,'onLoading':function() { tabsLoadingOn(); } ,'onComplete':function() { tabsLoadingOff(); } ,'onSuccess':function(req){ return_data = stripBodyHtml(req.responseText); updateTabs('tab_delete');} ,'onError':function(req){ el('tabs-data').innerHTML = 'Error!\nStatusText='+req.statusText+'\nContents='+req.responseText;} ,'timeout':5000 ,'onTimeout':function(){ clearTabs(); tabsLoadingOff(); el('tabs-data').innerHTML = 'Timed out. Try again!'; } } ); el('saved').innerHTML = "Deleted successfuly on "+(new Date()+"<br>(this message will disappear in 1 second)"); if (return_data != "") { el('saved').innerHTML = return_data; return; } product_update = true; if (savedTimerID) clearTimeout(savedTimerID); savedTimerID = setTimeout(function(){ clearTabs(); viewBugs(); updateTabs('tab_bugs');}, 1000); } var ste = null; function initSimpleEditor(){ ste = new SimpleTextEditor("body", "ste"); ste.path = "modules/mx_simpledoc/simpledoc/shared/SimpleTextEditor/"; ste.charset = "iso-8859-1"; ste.init(); ste.frame.document.onkeydown = keyPress; // aaa!! next IE bug, editor images not loading :\ if (document.all) { setTimeout(loadEditorImages, 50); } } function stripBodyHtml(html) { // Remove HTML comments //html = html.replace(/<!--[\w\s\d@{}:.;,'"%!#_=&|?~()[*+\/\-\]]*-->/gi, "" ); // Remove all HTML tags //html = html.replace(/<\/?\s*HTML[^>]*>/gi, "" ); // Remove all BODY tags //html = html.replace(/<\/?\s*BODY[^>]*>/gi, "" ); // Remove all META tags //html = html.replace(/<\/?\s*META[^>]*>/gi, "" ); // Remove all TITLE tags & content //html = html.replace(/<\s*TITLE[^>]*>([^<]*)<\/\s*TITLE\s*>/i, "" ); // Remove all HEAD tags & content //html = html.replace(/<\s*HEAD[^>]*>([^<]*)<\/\s*HEAD\s*>/i, "" ); // Remove all SCRIPT tags //html = html.replace(/<\s*SCRIPT[^>]*>([^<]*)<\/\s*SCRIPT\s*>/i, "" ); // Remove all SPAN tags //html = html.replace(/<\/?\s*SPAN[^>]*>/gi, "" ); // Remove all STYLE tags //html = html.replace(/<\s*STYLE[^>]*>([^<]*)<\/\s*STYLE\s*>/i, "" ); // Remove Class attributes //html = html.replace(/<\s*(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "") ; // Remove Style attributes //html = html.replace(/<\s*(\w[^>]*) style="([^"]*)"([^>]*)/gi, "") ; //html = html.replace(/<\s*br[^>]*>/gi,""); html = html.trim(); return html; } function loadEditorImages() { var a = el('tabs-data').getElementsByTagName("img"); for (var i = 0; i < a.length; ++i) { if (!a[i].complete && a[i].outerHTML) { a[i].outerHTML = a[i].outerHTML; } } } var savedTimerID = null; function isContentSaved() { if (ste && el("body") && el("submit")) { ste.submit(); if (el("body").value != el("body-tmp").value) { return false; } } return true; } function checkContentSaved() { //if (!isContentSaved()) { // if (confirm("Content has not been saved since last change.\nSave it ?")) { // saveContent(); // } //} } function clearTabs() { if(el('tab_bugs')) {el('tab_bugs').className = "tab";} if(el('tab_report')) {el('tab_report').className = "tab view";} if(el('tab_view')) {el('tab_view').className = "tab";} if(el('tab_edit')) {el('tab_edit').className = "tab right";} if(el('tab_delete')) {el('tab_delete').className = "tab view";} if (product_update) { updateTree(); product_update = false; } //if(el('tabs-data')) {el('tabs-data').innerHTML = "";} } function updateTabs(active){ if(el('tab_bugs')) {el('tab_bugs').className = "tab"+((active=='tab_bugs')?"-active":"");} if(el('tab_report')) {el('tab_report').className = "tab"+((active=='tab_report')?"-active":"")+" view";} if(el('tab_view')) {el('tab_view').className = "tab"+((active=='tab_view')?"-active":"")+"";} if(el('tab_edit')) {el('tab_edit').className = "tab"+((active=='tab_edit')?"-active":"")+" right";} if(el('tab_delete')) {el('tab_delete').className = "tab"+((active=='tab_delete')?"-active":"")+" view";} } function keyPress(e) { if (!e) { if (!this.parentWindow) return; e = this.parentWindow.event; } if (e.ctrlKey && e.keyCode == 83) { if (el("body") && el("submit")) { el("submit").click(); } } if (e.altKey && e.keyCode == 49) viewBugs(); if (e.altKey && e.keyCode == 50) reportBug(); } document.onkeydown = keyPress; --- NEW FILE: init_main.js --- function treeGetId() { if (tree.active) { return tree.active.substr("tree-".length); } return ""; } /** RSH must be initialized after the page is finished loading. */ window.onload = initialize; tree.textClickListener.add(function() { if (document.getElementById("tree-insert-form").style.display == "block") { treeInsert(); } }); tree.textClickListener.add(function() { if (!tree.getActiveNode().isDocument()) { if (tree.getActiveNode().childNodes) { for (var i = 0; i < tree.getActiveNode().childNodes.length; i++) { if (tree.getActiveNode().childNodes[i].isDocument()) { //queryPath = tree.getActiveNode().childNodes[i].id; //tree.queryPath = queryPath.replace('tree-', ""); //tree.active = queryPath; //tree.loadState(); //tree.updateHtml(); //break; } } } } }); tree.textClickListener.add(function() { //if (tree.getActiveNode().isDocument()) { // if (getCookie('openEditBug')) editBug(); // else viewBugs(); viewBugs(); document.title = el(tree.active+"-text").innerHTML; //} //else //{ // clearTabs(); //} }); function initialize() { // initialize RSH dhtmlHistory.initialize(); // add ourselves as a listener for history change events dhtmlHistory.addListener(handleHistoryChange); if (dhtmlHistory.isFirstLoad()) { // determine our current location so we can initialize ourselves at startup var initialLocation = dhtmlHistory.getCurrentLocation(); // if no location specified, use the default if ((initialLocation == '' || initialLocation == null) && tree.allNodes[0]) { if (tree.allNodes[0].childNodes) { // First set default, then loop to find real document queryPath = tree.allNodes[0].id; for (var i = 0; i < tree.allNodes[0].childNodes.length; i++) { if (tree.allNodes[0].childNodes[i].isDocument()) { queryPath = tree.allNodes[0].childNodes[i].id; break; } } } else { queryPath = tree.allNodes[0].id; } initialLocation = queryPath.replace('tree-', ""); } // now initialize our starting UI if (tree.allNodes[0]) { updateUI(initialLocation, null); } } } /** A function that is called whenever the user presses the back or forward buttons. This function will be passed the newLocation, as well as any history data we associated with the location. */ function handleHistoryChange(newLocation, historyData) { // use the history data to update our UI updateUI(newLocation, historyData); } /** A simple method that updates our user interface using the new location. */ function updateUI(newLocation, historyData) { //alert('updateUI'); tree.queryPath = newLocation; tree.setActive(); tree.loadState(); tree.updateHtml(); } var treeElements = ["tree-moveUp", "tree-moveDown", "tree-moveLeft", "tree-moveRight", "tree-insert", "tree-remove"]; var treeTooltips = ["Move Up", "Move Down", "Move Left", "Move Right", "Insert", "Delete"]; function treeTooltipOn() { document.getElementById("tree-tooltip").innerHTML = treeTooltips[treeElements.indexOf(this.id)]; } function treeTooltipOff() { document.getElementById("tree-tooltip").innerHTML = ""; } for (var i = 0; i < treeElements.length; i++) { document.getElementById(treeElements[i]).onmouseover = treeTooltipOn; document.getElementById(treeElements[i]).onmouseout = treeTooltipOff; } document.getElementById("tree-moveUp").onclick = treeMoveUp; document.getElementById("tree-moveDown").onclick = treeMoveDown; document.getElementById("tree-moveLeft").onclick = treeMoveLeft; document.getElementById("tree-moveRight").onclick = treeMoveRight; if (document.all && !/opera/i.test(navigator.userAgent)) { document.getElementById("tree-moveUp").ondblclick = treeMoveUp; document.getElementById("tree-moveDown").ondblclick = treeMoveDown; document.getElementById("tree-moveLeft").ondblclick = treeMoveLeft; document.getElementById("tree-moveRight").ondblclick = treeMoveRight; } document.getElementById("tree-insert").onclick = treeInsert; document.getElementById("tree-remove").onclick = treeRemove; document.getElementById("tree-insert-button").onclick = treeInsertExecute; document.getElementById("tree-insert-cancel").onclick = treeHideInsert; function treeMoveUp() { if (tree.mayMoveUp() && httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=moveUp&id="+escape(treeGetId())+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.moveUp(); } else { alert('Cannot move up'); } } function treeMoveDown() { if (tree.mayMoveDown() && httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=moveDown&id="+escape(treeGetId())+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.moveDown(); } else { alert('Cannot move down'); } } function treeMoveLeft() { if (tree.mayMoveLeft() && httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=moveLeft&id="+escape(treeGetId())+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.moveLeft(); } else { alert('Cannot move left'); } } function treeMoveRight() { if (tree.mayMoveRight() && httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=moveRight&id="+escape(treeGetId())+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.moveRight(); } else { alert('Cannot move right'); } } function treeInsert() { document.getElementById("tree-insert-form").style.display = "block"; document.getElementById("tree-insert-where-div").style.display = (tree.active ? "" : "none"); if (tree.active) { var where = document.getElementById("tree-insert-where"); if (tree.mayInsertInside()) { if (!where.options[2] && !where.options[3]) { where.options[2] = new Option("Inside at start", "inside_start"); where.options[3] = new Option("Inside at end", "inside_end"); } } else if (where.options[2] && where.options[3]) { where.options[2] = null; where.options[3] = null; where.options.length = 2; } } } /* only event - blur */ function treeInsertExecute() { var where = document.getElementById("tree-insert-where"); var type = document.getElementById("tree-insert-type"); var name = document.getElementById("tree-insert-name"); name.value = name.value.trim(); if (!name.value) { alert("Name is empty"); return; } if (name.value.substr(-5) == ".html") { name.value = name.value.substr(0, name.value.length-5); } var id = escape(name.value); if (type.value != "folder") { id = escape(name.value + ".html"); } if (tree.active) { switch (where.value) { case "before": if (httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=insertBefore&id="+escape(treeGetId())+"&name="+id+"&is_folder="+(type.value=="folder" ? 1 : 0)+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.insertBefore(id, name.value, type.value); } break; case "after": if (httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=insertAfter&id="+escape(treeGetId())+"&name="+id+"&is_folder="+(type.value=="folder" ? 1 : 0)+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.insertAfter(id, name.value, type.value); } break; case "inside_start": if (httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=insertInsideAtStart&id="+escape(treeGetId())+"&name="+id+"&is_folder="+(type.value=="folder" ? 1 : 0)+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.insertInsideAtStart(id, name.value, type.value); } break; case "inside_end": if (httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=insertInsideAtEnd&id="+escape(treeGetId())+"&name="+id+"&is_folder="+(type.value=="folder" ? 1 : 0)+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.insertInsideAtEnd(id, name.value, type.value); } break; } } else { if (httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=insert&id="+escape(treeGetId())+"&name="+id+"&is_folder="+(type.value=="folder" ? 1 : 0)+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.insert(id, name.value, type.value); } } name.value = ""; this.blur(); } function treeHideInsert() { var name = document.getElementById("tree-insert-name"); name.value = ""; document.getElementById("tree-insert-form").style.display = "none"; } function treeRemove() { if (tree.mayRemove()) { if (confirm("Delete current node ?")) { if (httpSave("modules/mx_simpledoc/simpledoc/modules/simpledoc__node.php?do=remove&id="+escape(treeGetId())+'&block_id='+mxBlock.block_id+'&page_id='+mxBlock.page_id)) { tree.remove(); if (document.getElementById("tree-insert-form").style.display == "block") { treeInsert(); } clearTabs(); } } } else { alert('Cannot remove. You have not selected any node or the folder is not empty.'); } } --- NEW FILE: request.js.php --- <?php //require '../../../config.php'; //$CONFIG['encoding'] is replaced by iso-8859-1 ?> // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | request.js | // | Functions for getting and saving data using XMLHttpRequest object. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ /* Note (httpLoad): seems like IE always caches retrieved data until you close the browser, so when you call a few times the same url, it always returns the same, even if the content in the given url changed. There are 2 solutions: add to url some random query string or in the url script send NOCACHE headers. */ // returns: false|string(responseText) function httpLoad(url) { var req; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.open("GET", url, false); req.setRequestHeader('Accept-Charset','iso-8859-1'); req.send(null); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.open("GET", url, false); req.setRequestHeader('Accept-Charset','iso-8859-1'); req.send(); } else { alert("Could not create ActiveXObject (XMLHttpRequest)"); return false; } } else { alert("Your browser does not support XMLHttpRequest object"); return false; } if (req.status != 200) { alert("There was a problem while retrieving the data:\n" + req.statusText); req.abort(); return false; } return req.responseText; } // returns: true|false|string(responseText) function httpSave(url, data) { var req; var p; var content = ""; if (data) { for (var p in data) { if (content) { content += "&"; } content += (p + "=" + escape(data[p])); } } if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.open("POST", url, false); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); req.send(content); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.open("POST", url, false); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); req.send(content); } else { alert("Could not create ActiveXObject (XMLHttpRequest)"); return false; } } else { alert("Your browser does not support XMLHttpRequest object"); return false; } if (req.status != 200) { alert("There was a problem while sending the data:\n" + req.statusText); req.abort(); return false; } if (req.responseText.length) { alert(req.responseText); return false; } return true; } --- NEW FILE: common.js --- // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | common.js | // | Some common help functions used all over the project. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ function element(id) { return document.getElementById(id); } function elem(id) { return document.getElementById(id); } function el(id) { return document.getElementById(id); } /* Check whether array contains given string */ Array.prototype.contains = function(s) { for (var i = 0; i < this.length; i++) { if (this[i] === s) { return true; } } return false; }; /* Finds the index of the first occurence of item in the array, or -1 if not found */ Array.prototype.indexOf = function(item) { for (var i = 0; i < this.length; i++) { if (this[i] === item) { return i; } } return -1; }; /* Get the last element from the array */ Array.prototype.getLast = function() { return this[this.length-1]; }; /* Remove element with given index (mutates) */ Array.prototype.removeByIndex = function(index) { this.splice(index, 1); }; /* Remove elements with such value (mutates) */ Array.prototype.removeByValue = function(value) { var i, indexes = []; for (i = 0; i < this.length; i++) { if (this[i] === value) { indexes.push(i); } } for (i = indexes.length - 1; i >= 0; i--) { this.splice(indexes[i], 1); } }; /* Push an element at specified index */ Array.prototype.pushAtIndex = function(el, index) { this.splice(index, 0, el); }; /* Strip whitespace from the beginning and end of a string */ String.prototype.trim = function() { return this.replace(/^\s*|\s*$/g, ""); }; /* Count the number of substring occurrences */ String.prototype.substrCount = function(s) { return this.split(s).length - 1; }; // Getting, Setting and Deleteing cookies. // Author: Cezary Tomczak [www.gosu.pl] // Note: name cannot contain 2 chars: =; function Cookie() { this.get = function(name) { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; ++i) { var a = cookies[i].split("="); if (a.length == 2) { a[0] = a[0].trim(); a[1] = a[1].trim(); if (a[0] == name) { return unescape(a[1]); } } } return ""; }; this.set = function(name, value, seconds, path) { var cookie = (name + "=" + escape(value)); if (seconds) { var date = new Date(new Date().getTime()+seconds*1000); cookie += ("; expires="+date.toGMTString()); } cookie += (path ? "; path="+path : ""); document.cookie = cookie; }; this.del = function(name, path) { var cookie = (name + "="); cookie += (path ? "; path="+path : ""); cookie += "; expires=Thu, 01-Jan-70 00:00:01 GMT"; document.cookie = cookie; }; } var COOKIE_MONTH = 3600*24*30; var COOKIE_YEAR = 3600*24*30*12; function getCookie(name) { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; ++i) { var a = cookies[i].split("="); if (a.length == 2) { a[0] = a[0].trim(); a[1] = a[1].trim(); if (a[0] == name) { return unescape(a[1]); } } } return ""; } function setCookie(name, value, seconds, path) { var cookie = (name + "=" + escape(value)); if (seconds) { var date = new Date(new Date().getTime()+seconds*1000); cookie += ("; expires="+date.toGMTString()); } cookie += (path ? "; path="+path : ""); document.cookie = cookie; } function delCookie(name, path) { var cookie = (name + "="); cookie += (path ? "; path="+path : ""); cookie += "; expires=Thu, 01-Jan-70 00:00:01 GMT"; document.cookie = cookie; } function addEvent(obj, event, func) { if (obj.addEventListener) { obj.addEventListener(event, func, false); } else if (obj.attachEvent) { obj.attachEvent("on"+event, func); } } --- NEW FILE: debug.js --- var debugWindow = null; function debug(s, name) { if (!debugWindow) { debugWindow = window.open("", "debugWindow", "width=400,height=500,scrollbars=yes,resizable=yes"); debugWindow.document.write("<pre>"); } if (name) { debugWindow.document.write('<div style="font: 12px sans-serif; font-weight: bold;">'+name+'</div>'); } debugWindow.document.write(s + "\n"); } function debugObject(obj, name) { var s = ''; for (var i in obj) { if (obj[i] && (typeof obj[i] == "object" || typeof obj[i] == "function") && obj[i].toString) { s += "Object." + i + "=" + obj[i].toString().replace(/\n/g, "") + "\n"; } else { s += "Object." + i + "=" + obj[i] + "\n"; } } debug(s, name); } function debugArray(arr, name) { var s = ''; for (var i = 0; i < arr.length; ++i) { s += "Array[" + i + "]=" + arr[i] + "\n"; } debug(s, name); } --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:55
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/includes In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/includes Added Files: bugsbt_constants.php functions.php functions_admin.php functions_auth.php functions_bugsbt.php functions_comment.php functions_node.php index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: functions.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: functions.php,v 1.1 2007/02/15 12:43:46 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * mx_bugsbt_functions. * * This class is used for general kb handling * * @access public * @author Jon Ohlsson * */ class mx_bugsbt_functions { /** * This class is used for general bugsbt handling * * @param unknown_type $config_name * @param unknown_type $config_value */ function set_config( $config_name, $config_value ) { global $mx_bugsbt_cache, $bugsbt_config, $db, $mx_bugsbt; $mx_bugsbt->debug('functions->set_config', basename( __FILE__ )); $sql = "UPDATE " . BUGSBT_CONFIG_TABLE . " SET config_value = '" . str_replace( "\'", "''", $config_value ) . "' WHERE config_name = '$config_name'"; if ( !$db->sql_query( $sql ) ) { mx_message_die( GENERAL_ERROR, "Failed to update bugsbt configuration for $config_name", "", __LINE__, __FILE__, $sql ); } if ( !$db->sql_affectedrows() && !isset( $bugsbt_config[$config_name] ) ) { $sql = 'INSERT INTO ' . BUGSBT_CONFIG_TABLE . " (config_name, config_value) VALUES ('$config_name', '" . str_replace( "\'", "''", $config_value ) . "')"; if ( !$db->sql_query( $sql ) ) { mx_message_die( GENERAL_ERROR, "Failed to update bugsbt configuration for $config_name", "", __LINE__, __FILE__, $sql ); } } $bugsbt_config[$config_name] = $config_value; $mx_bugsbt_cache->put( 'config', $bugsbt_config ); } /** * Enter description here... * * @return unknown */ function bugsbt_config() { global $db; $sql = "SELECT * FROM " . BUGSBT_CONFIG_TABLE; if ( !( $result = $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, 'Couldnt query bugsbt configuration', '', __LINE__, __FILE__, $sql ); } while ( $row = $db->sql_fetchrow( $result ) ) { $bugsbt_config[$row['config_name']] = trim( $row['config_value'] ); } $db->sql_freeresult( $result ); return ( $bugsbt_config ); } /** * Enter description here... * * @param unknown_type $mode * @param unknown_type $page_id */ function generate_smilies( $mode, $page_id ) { global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; global $user_ip, $session_length, $starttime; global $userdata, $mx_bugsbt; global $mx_root_path, $module_root_path, $is_block, $phpEx; $mx_bugsbt->debug('functions->generate smilies', basename( __FILE__ )); $inline_columns = 4; $inline_rows = 5; $window_columns = 8; if ( $mode == 'window' ) { $userdata = session_pagestart( $user_ip, $page_id ); init_userprefs( $userdata ); $gen_simple_header = true; $page_title = $lang['Review_topic'] . " - $topic_title"; include( $mx_root_path . 'includes/page_header.' . $phpEx ); $template->set_filenames( array( 'smiliesbody' => 'posting_smilies.tpl' ) ); } $sql = "SELECT emoticon, code, smile_url FROM " . SMILIES_TABLE . " ORDER BY smilies_id"; if ( $result = $db->sql_query( $sql ) ) { $num_smilies = 0; $rowset = array(); while ( $row = $db->sql_fetchrow( $result ) ) { if ( empty( $rowset[$row['smile_url']] ) ) { $rowset[$row['smile_url']]['code'] = str_replace( "'", "\\'", str_replace( '\\', '\\\\', $row['code'] ) ); $rowset[$row['smile_url']]['emoticon'] = $row['emoticon']; $num_smilies++; } } if ( $num_smilies ) { $smilies_count = ( $mode == 'inline' ) ? min( 19, $num_smilies ) : $num_smilies; $smilies_split_row = ( $mode == 'inline' ) ? $inline_columns - 1 : $window_columns - 1; $s_colspan = 0; $row = 0; $col = 0; while ( list( $smile_url, $data ) = @each( $rowset ) ) { if ( !$col ) { $template->assign_block_vars( 'smilies_row', array() ); } $template->assign_block_vars( 'smilies_row.smilies_col', array( 'SMILEY_CODE' => $data['code'], 'SMILEY_IMG' => $phpbb_root_path . $board_config['smilies_path'] . '/' . $smile_url, 'SMILEY_DESC' => $data['emoticon'] ) ); $s_colspan = max( $s_colspan, $col + 1 ); if ( $col == $smilies_split_row ) { if ( $mode == 'inline' && $row == $inline_rows - 1 ) { break; } $col = 0; $row++; } else { $col++; } } if ( $mode == 'inline' && $num_smilies > $inline_rows * $inline_columns ) { $template->assign_block_vars( 'switch_smilies_extra', array() ); $template->assign_vars( array( 'L_MORE_SMILIES' => $lang['More_emoticons'], 'U_MORE_SMILIES' => append_sid( $phpbb_root_path . "posting.$phpEx?mode=smilies" ) ) ); } $template->assign_vars( array( 'L_EMOTICONS' => $lang['Emoticons'], 'L_CLOSE_WINDOW' => $lang['Close_window'], 'S_SMILIES_COLSPAN' => $s_colspan ) ); } } if ( $mode == 'window' ) { $template->pparse( 'smiliesbody' ); include( $mx_root_path . 'includes/page_tail.' . $phpEx ); } } /** * Enter description here... * * @param unknown_type $query * @param unknown_type $total * @param unknown_type $offset * @return unknown */ function sql_query_limit( $query, $total, $offset = 0, $sql_cache = false ) { global $db; $query .= ' LIMIT ' . ( ( !empty( $offset ) ) ? $offset . ', ' . $total : $total ); return $sql_cache ? $db->sql_query( $query, $sql_cache ) : $db->sql_query( $query ); } /** * page header. * */ /* function page_header( ) { } */ /** * page footer. * */ function page_footer() { global $lang, $board_config, $userdata, $phpbb_root_path, $mx_root_path, $module_root_path, $is_block, $phpEx, $page_id; global $mx_bugsbt_cache, $mx_bugsbt; global $phpEx, $template, $do_gzip_compress, $debug, $db, $starttime; $mx_bugsbt->modules[$mx_bugsbt->module_name]->_bugsbt(); $mx_bugsbt_cache->unload(); } /** * Quick stats. * * @param unknown_type $category_id */ /* function get_quick_stats( $category_id = '' ) { } */ /** * get type list for adding and editing articles. * * @param unknown_type $sel_id */ function get_bugsbt_type_list( $sel_id ) { global $db, $template; $sql = "SELECT * FROM " . BUGSBT_TYPES_TABLE; if ( !( $type_result = $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, "Could not obtain category information", '', __LINE__, __FILE__, $sql ); } while ( $type = $db->sql_fetchrow( $type_result ) ) { $type_name = isset($lang['KB_type_' . $type['type']]) ? $lang['KB_type_' . $type['type']] : $type['type']; $type_id = $type['id']; if ( $sel_id == $type_id ) { $status = 'selected'; } else { $status = ''; } $type = '<option value="' . $type_id . '" ' . $status . '>' . $type_name . '</option>'; $template->assign_block_vars( 'types', array( 'TYPE' => $type ) ); } } /** * Enter description here... * * @param unknown_type $article * @return unknown */ function article_formatting( $article ) { // Prepare ingress/preword $search = array (); $replace = array (); $search = array ( "'\[title*?[^\[\]]*?\]'si", "'\[\/title*?[^\[\]]*?\]'si", "'\[subtitle*?[^\[\]]*?\]'si", "'\[\/subtitle*?[^\[\]]*?\]'si", "'\[subsubtitle*?[^\[\]]*?\]'si", "'\[\/subsubtitle*?[^\[\]]*?\]'si", "'\[quote*?[^\[\]]*?\]'si", "'\[\/quote*?[^\[\]]*?\]'si", "'\[abstract*?[^\[\]]*?\]'si", "'\[\/abstract*?[^\[\]]*?\]'si" ); $replace = array ( "<span class=\"cattitle\">", "</span>", "<span class=\"topictitle\">", "</span>", "<span class=\"gensmall\"><b>", "</b></span>", "<div align=\"center\"><span class=\"gensmall\"><i>''", "''</i></span></div>", "<table cellpadding=\"20\" style=\"margin-bottom: -20px;\"><tr><td><span class=\"postbody\" style=\"font-weight: bold; font-size: 9pt;\">", "</span></td></td></tr></table>" ); $article = preg_replace( $search, $replace, $article ); return $article; } } /** * mx_user_info * * This class is used to determin Browser and operating system info of the user * * @access public * @author http://www.chipchapin.com * @copyright (c) 2002 Chip Chapin <cc...@ch...> */ class mx_user_info { var $agent = 'unknown'; var $ver = 0; var $majorver = 0; var $minorver = 0; var $platform = 'unknown'; /** * Constructor. * * Determine client browser type, version and platform using heuristic examination of user agent string. * * @param unknown_type $user_agent allows override of user agent string for testing. */ function user_info( $user_agent = '' ) { global $_SERVER, $HTTP_USER_AGENT, $HTTP_SERVER_VARS; if ( !empty( $_SERVER['HTTP_USER_AGENT'] ) ) { $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; } else if ( !empty( $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ) ) { $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT']; } else if ( !isset( $HTTP_USER_AGENT ) ) { $HTTP_USER_AGENT = ''; } if ( empty( $user_agent ) ) { $user_agent = $HTTP_USER_AGENT; } $user_agent = strtolower( $user_agent ); // Determine browser and version // The order in which we test the agents patterns is important // Intentionally ignore Konquerer. It should show up as Mozilla. // post-Netscape Mozilla versions using Gecko show up as Mozilla 5.0 if ( preg_match( '/(opera |opera\/)([0-9]*).([0-9]{1,2})/', $user_agent, $matches ) ) ; elseif ( preg_match( '/(msie )([0-9]*).([0-9]{1,2})/', $user_agent, $matches ) ) ; elseif ( preg_match( '/(mozilla\/)([0-9]*).([0-9]{1,2})/', $user_agent, $matches ) ) ; else { $matches[1] = 'unknown'; $matches[2] = 0; $matches[3] = 0; } $this->majorver = $matches[2]; $this->minorver = $matches[3]; $this->ver = $matches[2] . '.' . $matches[3]; switch ( $matches[1] ) { case 'opera/': case 'opera ': $this->agent = 'OPERA'; break; case 'msie ': $this->agent = 'IE'; break; case 'mozilla/': $this->agent = 'NETSCAPE'; if ( $this->majorver >= 5 ) { $this->agent = 'MOZILLA'; } break; case 'unknown': $this->agent = 'OTHER'; break; default: $this->agent = 'Oops!'; } // Determine platform // This is very incomplete for platforms other than Win/Mac if ( preg_match( '/(win|mac|linux|unix)/', $user_agent, $matches ) ); else $matches[1] = 'unknown'; switch ( $matches[1] ) { case 'win': $this->platform = 'Win'; break; case 'mac': $this->platform = 'Mac'; break; case 'linux': $this->platform = 'Linux'; break; case 'unix': $this->platform = 'Unix'; break; case 'unknown': $this->platform = 'Other'; break; default: $this->platform = 'Oops!'; } } /** * update_info. * * - Not implemented in this module. * * @param unknown_type $id */ function update_info( $id ) { global $user_ip, $db, $userdata; $where_sql = ( $userdata['user_id'] != ANONYMOUS ) ? "user_id = '" . $userdata['user_id'] . "'" : "downloader_ip = '" . $user_ip . "'"; $sql = "SELECT user_id, downloader_ip FROM " . PA_DOWNLOAD_INFO_TABLE . " WHERE $where_sql"; if ( !( $result = $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, 'Couldnt Query User id', '', __LINE__, __FILE__, $sql ); } if ( !$db->sql_numrows( $result ) ) { $sql = "INSERT INTO " . PA_DOWNLOAD_INFO_TABLE . " (file_id, user_id, downloader_ip, downloader_os, downloader_browser, browser_version) VALUES('" . $id . "', '" . $userdata['user_id'] . "', '" . $user_ip . "', '" . $this->platform . "', '" . $this->agent . "', '" . $this->ver . "')"; if ( !( $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, 'Couldnt Update Downloader Table Info', '', __LINE__, __FILE__, $sql ); } } $db->sql_freeresult( $result ); } } /** * mx_bugsbt_notification. * * This class extends general mx_notification class * * // MODE: MX_PM_MODE/MX_MAIL_MODE, $id: get all file/article data for this id * $mx_notification->init($mode, $id); // MODE: MX_PM_MODE/MX_MAIL_MODE * * // MODE: MX_PM_MODE/MX_MAIL_MODE, ACTION: MX_NEW_NOTIFICATION/MX_EDITED_NOTIFICATION/MX_APPROVED_NOTIFICATION/MX_UNAPPROVED_NOTIFICATION * $mx_notification->notify( $mode = MX_PM_MODE, $action = MX_NEW_NOTIFICATION, $to_id, $from_id, $subject, $message, $html_on, $bbcode_on, $smilies_on ) * * @access public * @author Jon Ohlsson */ class mx_bugsbt_notification extends mx_notification { /** * Enter description here... * * @param unknown_type $item_id */ function init( $item_id = 0) { global $db, $lang, $module_root_path, $phpbb_root_path, $phpEx, $userdata, $mx_bugsbt; // ======================================================= // item id is not set, give him/her a nice error message // ======================================================= if (empty($item_id)) { mx_message_die(GENERAL_ERROR, 'Bad Init pars'); } unset($this->langs); // // Build up generic lang keys // $this->langs['item_not_exist'] = $lang['File_not_exist']; $this->langs['module_title'] = $lang['bugsbt_title']; $this->langs['notify_subject_new'] = $lang['bugsbt_notify_subject_new']; $this->langs['notify_subject_edited'] = $lang['bugsbt_notify_subject_edited']; $this->langs['notify_subject_approved'] = $lang['bugsbt_notify_subject_approved']; $this->langs['notify_subject_unapproved'] = $lang['bugsbt_notify_subject_unapproved']; $this->langs['notify_subject_deleted'] = $lang['bugsbt_notify_subject_deleted']; $this->langs['notify_new_body'] = $lang['bugsbt_notify_new_body']; $this->langs['notify_edited_body'] = $lang['bugsbt_notify_edited_body']; $this->langs['notify_approved_body'] = $lang['bugsbt_notify_approved_body']; $this->langs['notify_unapproved_body'] = $lang['bugsbt_notify_unapproved_body']; $this->langs['notify_deleted_body'] = $lang['bugsbt_notify_deleted_body']; $this->langs['item_title'] = $lang['Bug_title']; $this->langs['author'] = $lang['Author']; $this->langs['item_description'] = $lang['Bug_description']; $this->langs['item_type'] = $lang['Bug_type']; $this->langs['category'] = $lang['Category']; $this->langs['read_full_item'] = $lang['Read_full_bug']; $this->langs['edited_item_info'] = $lang['Edited_Bug_info']; switch ( SQL_LAYER ) { case 'oracle': $sql = "SELECT a.*, u.user_id, u.username, c.category_id, c.category_name FROM " . BUGSBT_BUGS_TABLE . " AS a, " . USERS_TABLE . " AS u, " . BUGSBT_PRODUCTS_TABLE . " AS c WHERE a.bug_author_id = u.user_id(+) AND c.category_id = a.bug_category_id AND a.bug_id = '" . $item_id . "' GROUP BY a.bug_id"; break; default: /* Bug 50 $sql = "SELECT a.*, AVG(r.rate_point) AS rating, COUNT(r.votes_article) AS total_votes, u.user_id, u.username, c.category_id, c.category_name FROM " . KB_ARTICLES_TABLE . " AS a, " . KB_CATEGORIES_TABLE . " AS c LEFT JOIN " . KB_VOTES_TABLE . " AS r ON a.article_id = r.votes_article LEFT JOIN " . USERS_TABLE . " AS u ON a.article_author_id = u.user_id WHERE c.category_id = a.article_category_id AND a.article_id = '" . $item_id . "' GROUP BY a.article_id"; */ $sql = "SELECT a.*, u.user_id, u.username, c.category_id, c.category_name FROM " . BUGSBT_BUGS_TABLE . " AS a LEFT JOIN " . BUGSBT_PRODUCTS_TABLE . " AS c ON c.category_id = a.bug_category_id LEFT JOIN " . USERS_TABLE . " AS u ON a.bug_author_id = u.user_id WHERE a.bug_id = '" . $item_id . "' GROUP BY a.bug_id "; break; } if ( !( $result = $db->sql_query( $sql ) ) ) { mx_message_die( GENERAL_ERROR, 'Couldnt Query bug info', '', __LINE__, __FILE__, $sql ); } // =================================================== // file doesn't exist' // =================================================== if ( !$item_data = $db->sql_fetchrow( $result ) ) { mx_message_die( GENERAL_MESSAGE, $this->langs['Item_not_exist'] ); } $db->sql_freeresult( $result ); unset($this->data); // // File data // $this->data['item_id'] = $item_id; $this->data['item_title'] = $item_data['bug_title']; $this->data['item_desc'] = $item_data['bug_description']; // // Category data // $this->data['item_category_id'] = $item_data['category_id']; $this->data['item_category_name'] = $item_data['category_name']; // // File author // $this->data['item_author_id'] = $item_data['user_id']; $this->data['item_author'] = ( $item_data['user_id'] != ANONYMOUS ) ? $item_data['username'] : $lang['Guest']; // // File editor // $this->data['item_editor_id'] = $userdata['user_id']; $this->data['item_editor'] = ( $userdata['user_id'] != '-1' ) ? $userdata['username'] : $lang['Guest']; $this->temp_url = PORTAL_URL . $mx_kb->this_mxurl("mode=" . "article&k=" . $this->data['item_id'], false, true); } } ?> --- NEW FILE: functions_node.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: functions_node.php,v 1.1 2007/02/15 12:43:47 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ // +--------------------------------------------------------------------+ // | DO NOT REMOVE THIS | // +--------------------------------------------------------------------+ // | Nodes.php | // | Tree management, all files/dirs operations. | // +--------------------------------------------------------------------+ // | Author: Cezary Tomczak [www.gosu.pl] | // | Project: SimpleDoc | // | URL: http://gosu.pl/php/simpledoc.html | // | License: GPL | // +--------------------------------------------------------------------+ if( !defined('IN_PORTAL') ) { die("Hacking attempt"); } // Nodes management. // Dependencies: IoFile, IoDir // Author: Cezary Tomczak [www.gosu.pl] // Project: SimpleDoc class Node { var $id; // id of the node, empty for the root element var $path; // full path to file or directory var $io; // IoFile or IoDir object var $currFolder; // current folder, the node exists inside it, for the root element it points to itself var $level; // level of immersion, 0 for the root dir // this properties are overwritten on object creation, using global variables, see Node::Node() var $root = 'content'; // path to root element, without slash at the end var $sortFile = '.sort'; // name of the sort file var $chmodFile = 666; var $chmodDir = 777; var $error = false; function Node($id = '') { global $CONTENT, $SORT, $CHMOD_FILE, $CHMOD_DIR; $this->root = $CONTENT; $this->sortFile = $SORT; $this->chmodFile = $CHMOD_FILE; $this->chmodDir = $CHMOD_DIR; $this->id = $id; $this->path = $this->root.'/'.$this->id; $this->level = substr_count($this->id, '/'); if ($this->id) { if (IoFile::exists($this->path)) { $this->io = new IoFile(); } else if (IoDir::exists($this->path)) { $this->io = new IoDir(); } else { return trigger_error("Node.Node() failed, node with id: '{$this->id}' doesn't exist", E_USER_ERROR); } $this->currFolder = dirname($this->path); } else { $this->currFolder = $this->root; } } // ------- // ACTIONS // ------- function moveUp() { if (!$this->id) { return trigger_error("Node.moveUp() failed, this action cannot be executed for the root element", E_USER_ERROR); } $nodes = $this->loadSort($this->currFolder); $key = array_search($this->path, $nodes); if ($key === false) { return trigger_error("Node.moveUp() failed, unknown error", E_USER_ERROR); } if ($key == 0) { return trigger_error("Node.moveUp() failed, current node is the first element", E_USER_ERROR); } $nodes2 = $nodes; $nodes2[$key-1] = $nodes[$key]; $nodes2[$key] = $nodes[$key-1]; $this->saveSort($this->currFolder, $nodes2); } function moveDown() { if (!$this->id) { return trigger_error("Node.moveDown() failed, this action cannot be executed for the root element", E_USER_ERROR); } $nodes = $this->loadSort($this->currFolder); $key = array_search($this->path, $nodes); if ($key === false) { return trigger_error("Node.moveDown() failed, unknown error", E_USER_ERROR); } if ($key == count($nodes) - 1) { return trigger_error("Node.moveDown() failed, current node is the last element", E_USER_ERROR); } $nodes2 = $nodes; $nodes2[$key+1] = $nodes[$key]; $nodes2[$key] = $nodes[$key+1]; $this->saveSort($this->currFolder, $nodes2); } function moveLeft() { if (!$this->id) { return trigger_error("Node.moveLeft() failed, this action cannot be executed for the root element", E_USER_ERROR); } if ($this->level <= 0) { return trigger_error("Node.moveLeft() failed, node doesn't have a parent", E_USER_ERROR); } $newCurrFolder = dirname($this->currFolder); $sort = $this->loadSort($newCurrFolder); $key = array_search($this->getCurrFolder(), $sort); if ($key === false) { return trigger_error("Node.moveLeft() failed, unknown error", E_USER_ERROR); } $Node = new Node($this->getIdByFullPath($newCurrFolder)); if (in_array($this->getName(), $Node->getChildNames($Node->getCurrFolder()))) { return trigger_error("Node.moveLeft() failed, there is already w node with such name", E_USER_ERROR); } $new = $newCurrFolder.'/'.$this->getName(); $this->io->move($this->path, $new); $this->fixSort($this->currFolder); array_splice($sort, $key, 0, $new); $this->saveSort($newCurrFolder, $sort); $this->Node($this->getIdByFullPath($new)); } function moveRight() { if (!$this->id) { return trigger_error("Node.moveRight() failed, this action cannot be executed for the root element", E_USER_ERROR); } $nodes = $this->loadSort($this->currFolder); $key = array_search($this->path, $nodes); if ($key === false) { return trigger_error("Node.moveRight() failed, unknown error", E_USER_ERROR); } if ($key == count($nodes) - 1) { return trigger_error("Node.moveRight() failed, current node is the last element", E_USER_ERROR); } $Next = new Node($this->getIdByFullPath($nodes[$key+1])); if (!$Next->isFolder()) { return trigger_error("Node.moveRight() failed, next node is not a folder", E_USER_ERROR); } if (in_array($this->getName(), $Next->getChildNames($Next->getPath()))) { return trigger_error("Node.moveRight() failed, there is already a node with such name", E_USER_ERROR); } $sort = $Next->loadSort($Next->getPath()); $new = $Next->getPath().'/'.$this->getName(); $this->io->move($this->path, $new); $this->fixSort($this->currFolder); $sort = array_merge(array($new), $sort); $this->saveSort($Next->getPath(), $sort); $this->Node($this->getIdByFullPath($new)); } function insert($name, $is_folder) { if ($this->id) { return trigger_error("Note.insert() failed, this action can be executed only for the root element", E_USER_ERROR); } if (in_array($name, $this->getChildNames($this->currFolder))) { return trigger_error("Node.insert() failed, there is already a node with such name", E_USER_ERROR); } $sort = $this->loadSort($this->currFolder); if ($is_folder) { IoDir::create($this->currFolder.'/'.$name, $this->chmodDir); IoFile::create($this->currFolder.'/'.$name.'/'.$this->sortFile, $this->chmodFile); } else { IoFile::create($this->currFolder.'/'.$name, $this->chmodFile); } $this->saveSort($this->currFolder, array_merge(array($name), $sort)); } function insertBefore($name, $is_folder) { if (!$this->id) { return trigger_error("Node.insertBefore() failed, this action cannot be executed for the root element", E_USER_ERROR); } $Parent = new Node($this->getIdByFullPath($this->currFolder)); if (in_array($name, $Parent->getChildNames($Parent->getCurrFolder()))) { return trigger_error("Node.insertBefore() failed, there is already a node with such name", E_USER_ERROR); } $sort = $this->loadSort($this->currFolder); $key = array_search($this->path, $sort); if ($key === false) { return trigger_error("Node.insertBefore() failed, unknown error", E_USER_ERROR); } if ($is_folder) { IoDir::create($this->currFolder.'/'.$name, $this->chmodDir); IoFile::create($this->currFolder.'/'.$name.'/'.$this->sortFile, $this->chmodFile); } else { IoFile::create($this->currFolder.'/'.$name, $this->chmodFile); } $a1 = array_slice($sort, 0, $key); $a3 = array_slice($sort, $key); $this->saveSort($this->currFolder, array_merge($a1, array($name), $a3)); } function insertAfter($name, $is_folder) { if (!$this->id) { return trigger_error("Node.insertAfter() failed, this action cannot be executed for the root element", E_USER_ERROR); } $Parent = new Node($this->getIdByFullPath($this->currFolder)); if (in_array($name, $Parent->getChildNames($Parent->getCurrFolder()))) { return trigger_error("Node.insertAfter() failed, there is already a node with such name", E_USER_ERROR); } $sort = $this->loadSort($this->currFolder); $key = array_search($this->path, $sort); if ($key === false) { return trigger_error("Node.insertAfter() failed, unknown error", E_USER_ERROR); } if ($is_folder) { IoDir::create($this->currFolder.'/'.$name, $this->chmodDir); IoFile::create($this->currFolder.'/'.$name.'/'.$this->sortFile, $this->chmodFile); } else { IoFile::create($this->currFolder.'/'.$name, $this->chmodFile); } $a1 = array_slice($sort, 0, $key+1); $a3 = array_slice($sort, $key+1); $this->saveSort($this->currFolder, array_merge($a1, array($name), $a3)); } function insertInsideAtStart($name, $is_folder) { if (!$this->id) { return trigger_error("Node.insertInsideAtStart() failed, this action cannot be executed for the root element", E_USER_ERROR); } if (!$this->isFolder()) { return trigger_error("Node.insertInsideAtStart() failed, current node is not a folder", E_USER_ERROR); } if (in_array($name, $this->getChildNames($this->path))) { return trigger_error("Node.insertInsideAtStart() failed, there is already a node with such name", E_USER_ERROR); } $sort = $this->loadSort($this->path); if ($is_folder) { IoDir::create($this->path.'/'.$name, $this->chmodDir); IoFile::create($this->path.'/'.$name.'/'.$this->sortFile, $this->chmodFile); } else { IoFile::create($this->path.'/'.$name, $this->chmodFile); } $this->saveSort($this->path, array_merge(array($name), $sort)); } function insertInsideAtEnd($name, $is_folder) { if (!$this->id) { return trigger_error("Node.insertInsideAtEnd() failed, this action cannot be executed for the root element", E_USER_ERROR); } if (!$this->isFolder()) { return trigger_error("Node.insertInsideAtEnd() failed, current node is not a folder", E_USER_ERROR); } if (in_array($name, $this->getChildNames($this->path))) { return trigger_error("Node.insertInsideAtEnd() failed, there is already a node with such name", E_USER_ERROR); } $sort = $this->loadSort($this->path); if ($is_folder) { IoDir::create($this->path.'/'.$name, $this->chmodDir); IoFile::create($this->path.'/'.$name.'/'.$this->sortFile, $this->chmodFile); } else { IoFile::create($this->path.'/'.$name, $this->chmodFile); } $this->saveSort($this->path, array_merge($sort, array($name))); } function remove() { if (!$this->id) { return trigger_error("Node.remove() failed, this action cannot be executed for the root element", E_USER_ERROR); } if ($this->isFolder()) { if (count($this->getChildNames($this->path))) { return trigger_error("Node.remove() failed, there are still other nodes in the folder", E_USER_ERROR); } IoFile::delete($this->path.'/'.$this->sortFile); IoDir::delete($this->path); $this->fixSort($this->currFolder); } else { IoFile::delete($this->path); $this->fixSort($this->currFolder); } } // ---- // INFO // ---- function isDoc() { return is_a($this->io, 'IoFile'); } function isFolder() { return is_a($this->io, 'IoDir'); } function getPath() { return $this->path; } function getCurrFolder() { return $this->currFolder; } function getName() { if (!$this->id) return null; return substr($this->path, strlen(dirname($this->path).'/')); } // ---------- // HELP FUNCS // ---------- function getChildNames($folder) { $names = IoDir::read($folder, array($this->sortFile)); foreach ($names as $k => $path) { $names[$k] = substr($path, strlen(dirname($path).'/')); } return $names; } function getIdByFullPath($path) { return substr($path, strlen($this->root.'/')); } // ---- // SORT // ---- // returns array of given folder nodes (full paths) function loadSort($folder) { $nodes = IoDir::read($folder, array($this->sortFile)); $sort = IoFile::read($folder.'/'.$this->sortFile); $sort = $sort ? explode("\n", $sort) : array(); foreach ($sort as $k => $v) { $sort[$k] = trim($v); } $sort2 = array(); foreach ($sort as $node) { $node = $folder.'/'.$node; if (in_array($node, $nodes)) { $sort2[] = $node; } } foreach ($nodes as $node) { if (!in_array($node, $sort2)) { $sort2[] = $node; } } return $sort2; } // $arr can contain full paths or only node name function saveSort($folder, $arr) { $sort = array(); foreach ($arr as $node) { $sort[] = strpos($node, '/') !== false ? substr($node, (int)strrpos($node, '/')+1) : $node; } IoFile::write($folder.'/'.$this->sortFile, implode("\r\n", $sort)); } function fixSort($folder) { $nodes = $this->loadSort($folder); $this->saveSort($folder, $nodes); } } ?> --- NEW FILE: functions_admin.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: functions_admin.php,v 1.1 2007/02/15 12:43:46 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Public mx_bugsbt class. * */ class mx_bugsbt_admin extends mx_bugsbt_public { /** * load admin module * * @param unknown_type $module_name send module name to load it */ function adminmodule( $module_name ) { if ( !class_exists( 'bugsbt_' . $module_name ) ) { global $module_root_path, $phpEx; $this->module_name = $module_name; require_once( $module_root_path . 'bugsbt/admin/admin_' . $module_name . '.' . $phpEx ); eval( '$this->modules[' . $module_name . '] = new mx_bugsbt_' . $module_name . '();' ); if ( method_exists( $this->modules[$module_name], 'init' ) ) { $this->modules[$module_name]->init(); } } } /** * Enter description here... * * @param unknown_type $cat_parent * @param unknown_type $depth */ function admin_cat_main( $cat_parent = 0, $depth = 0 ) { global $phpbb_root_path, $template, $phpEx, $lang, $images, $module_root_path, $theme; $pre = str_repeat( ' ', $depth ); if ( isset( $this->subcat_rowset[$cat_parent] ) ) { foreach( $this->subcat_rowset[$cat_parent] as $category_id => $category ) { $category_details = '<span class="gensmall">' . $category['category_details'] . '</span>'; $category_id = $category['category_id']; $category_name = $category['category_name']; $temp_url = append_sid( $module_root_path . "admin/admin_bugsbt.$phpEx?action=cat_manage&mode=edit&cat=$category_id" ); $edit = '<a href="' . $temp_url . '">'.$lang['Edit'].'</a>'; $temp_url = append_sid( $module_root_path . "admin/admin_bugsbt.$phpEx?action=cat_manage&mode=delete&cat=$category_id" ); $delete = '<a href="' . $temp_url . '" class="gen">'.$lang['Delete'].'</a>'; $temp_url = append_sid( $module_root_path . "admin/admin_bugsbt.$phpEx?action=cat_manage&mode=up&cat=$category_id" ); $up = '<a href="' . $temp_url . '" class="gen">' . $lang['Move_up'] . '</a>'; $temp_url = append_sid( $module_root_path . "admin/admin_bugsbt.$phpEx?action=cat_manage&mode=down&cat=$category_id" ); $down = '<a href="' . $temp_url . '" class="gen">' . $lang['Move_down'] . '</a>'; $row_class = ( !( $ss % 2 ) ) ? $theme['td_class1'] : $theme['td_class2']; switch ( $depth ) { case 0: // Product $template->assign_block_vars( 'productrow', array( 'CATEGORY' => $category_name, 'CATEGORY_ID' => $category_id, 'CAT_DESCRIPTION' => $category_details, 'U_EDIT' => $edit, 'U_DELETE' => $delete, 'U_UP' => $up, 'U_DOWN' => $down, 'ROW_CLASS' => $row_class, 'PRE' => $pre )); break; case 1: // Product $template->assign_block_vars( 'productrow.edition', array( 'CATEGORY' => $category_name, 'CATEGORY_ID' => $category_id, 'CAT_DESCRIPTION' => $category_details, 'U_EDIT' => $edit, 'U_DELETE' => $delete, 'U_UP' => $up, 'U_DOWN' => $down, 'ROW_CLASS' => $row_class, 'PRE' => $pre )); break; case 2: // Product $template->assign_block_vars( 'productrow.edition.build', array( 'CATEGORY' => $category_name, 'CATEGORY_ID' => $category_id, 'CAT_DESCRIPTION' => $category_details, 'U_EDIT' => $edit, 'U_DELETE' => $delete, 'U_UP' => $up, 'U_DOWN' => $down, 'ROW_CLASS' => $row_class, 'PRE' => $pre )); break; } $this->admin_cat_main( $category_id, $depth + 1 ); } return; } return; } /** * Enter description here... * * @param unknown_type $sel_id * @param unknown_type $use_default_option * @param unknown_type $select_name * @return unknown */ function get_forums( $sel_id = 0, $use_default_option = false, $select_name = 'forum_id' ) { global $db, $lang; $sql = "SELECT forum_id, forum_name FROM " . FORUMS_TABLE; if ( !$result = $db->sql_query( $sql ) ) { mx_message_die( GENERAL_ERROR, "Couldn't get list of forums", "", __LINE__, __FILE__, $sql ); } $forumlist = '<select name="'.$select_name.'">'; if ( $sel_id == 0 ) { $forumlist .= '<option value="0" selected >'.$lang['Select_topic_id'].'</option>'; } if ( $use_default_option ) { $status = $sel_id == "-1" ? "selected" : ""; $forumlist .= '<option value="-1" '.$status.' >::'.$lang['Use_default'].'::</option>'; } while ( $row = $db->sql_fetchrow( $result ) ) { if ( $sel_id == $row['forum_id'] ) { $status = "selected"; } else { $status = ''; } $forumlist .= '<option value="' . $row['forum_id'] . '" ' . $status . '>' . $row['forum_name'] . '</option>'; } $forumlist .= '</select>'; return $forumlist; } /** * Enter description here... * * @param unknown_type $id * @param unknown_type $select * @return unknown */ function get_list_types( $id, $select ) { global $db; $idfield = 'id'; $namefield = 'type'; $sql = "SELECT * FROM " . BUGSBT_TYPES_TABLE; if ( $select == 0 ) { $sql .= " WHERE $idfield <> $id"; } if ( !$result = $db->sql_query( $sql ) ) { mx_message_die( GENERAL_ERROR, "Couldn't get list of types", "", __LINE__, __FILE__, $sql ); } $typelist = ""; while ( $row = $db->sql_fetchrow( $result ) ) { $typelist .= "<option value=\"$row[$idfield]\"$s>" . $row[$namefield] . "</option>\n"; } return( $typelist ); } } ?> --- NEW FILE: functions_bugsbt.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: functions_bugsbt.php,v 1.1 2007/02/15 12:43:47 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Public mx_kb class. * */ [...2020 lines suppressed...] { // Not translating double quotes // Remove double quote from translation table unset( $trans_tbl["""] ); } return strtr ( $string, $trans_tbl ); } */ } // // Just to be safe ;o) // /* if ( !defined( "ENT_COMPAT" ) ) define( "ENT_COMPAT", 2 ); if ( !defined( "ENT_NOQUOTES" ) ) define( "ENT_NOQUOTES", 0 ); if ( !defined( "ENT_QUOTES" ) ) define( "ENT_QUOTES", 3 ); */ ?> --- NEW FILE: functions_comment.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: functions_comment.php,v 1.1 2007/02/15 12:43:47 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Enter description here... * */ [...1314 lines suppressed...] $return_data = $this->delete_phpbb_post($this->forum_id, $this->topic_id, $cid ); $this->validate_topic_id(); break; case 'insert': $return_data = $this->insert_phpbb_post( $title, $comments_text, $this->forum_id, $user_id, $username, $user_attach_sig, $this->topic_id, '', $title_first, $comments_text_first, $comment_bbcode_uid ); break; case 'update': $return_data = $this->insert_phpbb_post( $title, $comments_text, $this->forum_id, $user_id, $username, $user_attach_sig, $this->topic_id, $cid, $title_first, $comments_text_first, $comment_bbcode_uid ); break; default: mx_message_die(GENERAL_ERROR, 'bad post mode'); } return $return_data; } } ?> --- NEW FILE: bugsbt_constants.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: bugsbt_constants.php,v 1.1 2007/02/15 12:43:46 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if( !defined('IN_PORTAL') ) { die("Hacking attempt"); } // ------------------------------------------------------------------------- // This file defines specific constants for the module // ------------------------------------------------------------------------- define( 'BUGSBT_BUGS_TABLE', $mx_table_prefix . 'bugsbt_bugs' ); define( 'BUGSBT_PRODUCTS_TABLE', $mx_table_prefix . 'bugsbt_products' ); define( 'BUGSBT_EDITIONS_TABLE', $mx_table_prefix . 'bugsbt_editions' ); define( 'BUGSBT_BUILDS_TABLE', $mx_table_prefix . 'bugsbt_builds' ); define( 'BUGSBT_TYPES_TABLE', $mx_table_prefix . 'bugsbt_types' ); define( 'BUGSBT_STATUS_TABLE', $mx_table_prefix . 'bugsbt_status' ); define( 'BUGSBT_CONFIG_TABLE', $mx_table_prefix . 'bugsbt_config' ); define( 'BUGSBT_COMMENTS_TABLE', $mx_table_prefix . 'bugsbt_comments' ); define( 'BUGSBT_CUSTOM_TABLE', $mx_table_prefix . 'bugsbt_custom' ); define( 'BUGSBT_CUSTOM_DATA_TABLE', $mx_table_prefix . 'bugsbt_customdata' ); // ------------------------------------------------------------------------- // Field Types // ------------------------------------------------------------------------- define( 'INPUT', 0 ); define( 'TEXTAREA', 1 ); define( 'RADIO', 2 ); define( 'SELECT', 3 ); define( 'SELECT_MULTIPLE', 4 ); define( 'CHECKBOX', 5 ); // ------------------------------------------------------------------------- // Footer Copyrights // ------------------------------------------------------------------------- if (is_object($mx_page)) { // ------------------------------------------------------------------------- // Extend User Style with module lang and images // Usage: $mx_user->extend(LANG, IMAGES) // Switches: // - LANG: MX_LANG_MAIN (default), MX_LANG_ADMIN, MX_LANG_ALL, MX_LANG_NONE // - IMAGES: MX_IMAGES (default), MX_IMAGES_NONE // ------------------------------------------------------------------------- $mx_user->extend(); $mx_page->add_copyright( 'mxBB bugsBT BugTracker Module' ); } ?> --- NEW FILE: functions_auth.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: functions_auth.php,v 1.1 2007/02/15 12:43:46 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Auth Defs. * */ define('BUGSBT_AUTH_ALL', 0); // In reality only option used ;) define('BUGSBT_AUTH_VIEW', 1); define('BUGSBT_AUTH_EDIT', 2); define('BUGSBT_AUTH_DELETE', 3); define('BUGSBT_AUTH_POST', 4); //define('BUGSBT_AUTH_RATE', 5); define('BUGSBT_AUTH_VIEW_COMMENT', 10); define('BUGSBT_AUTH_POST_COMMENT', 11); define('BUGSBT_AUTH_EDIT_COMMENT', 12); define('BUGSBT_AUTH_DELETE_COMMENT', 13); define('BUGSBT_AUTH_APPROVAL', 20); define('BUGSBT_AUTH_APPROVAL_EDIT', 21); /** * Auth API. * * $class->auth_user['auth_view']; * $class->auth_user['auth_post']; * $class->auth_user['auth_edit']; * $class->auth_user['auth_delete']; * * $class->auth_user['auth_approval']; * $class->auth_user['auth_approval_edit']; * * // $class->auth_user['auth_rate']; * * $class->auth_user['auth_view_comment']; * $class->auth_user['auth_post_comment']; * $class->auth_user['auth_edit_comment']; * $class->auth_user['auth_delete_comment']; * * $class->auth_user['auth_mod']; */ /** * Enter description here... * */ class mx_bugsbt_auth { var $auth_user = array(); /** * Enter description here... * * @param unknown_type $type * @param unknown_type $cat_id * @param unknown_type $userdata * @param unknown_type $f_access * @return unknown */ function auth( $type, $cat_id, $userdata, $f_access = '' ) { global $db, $lang; switch ( $type ) { case BUGSBT_AUTH_ALL: $a_sql = 'a.auth_view, a.auth_edit, a.auth_delete, a.auth_post, a.auth_view_comment, a.auth_post_comment, a.auth_edit_comment, a.auth_delete_comment, a.auth_approval, a.auth_approval_edit'; $a_sql_groups = 'a.auth_view_groups, a.auth_edit_groups, a.auth_delete_groups, a.auth_post_groups, a.auth_view_comment_groups, a.auth_post_comment_groups, a.auth_edit_comment_groups, a.auth_delete_comment_groups, a.auth_approval_groups, a.auth_approval_edit_groups'; $auth_fields = array( 'auth_view', 'auth_edit', 'auth_delete', 'auth_post', 'auth_view_comment', 'auth_post_comment', 'auth_edit_comment', 'auth_delete_comment', 'auth_approval', 'auth_approval_edit' ); $auth_fields_groups = array( 'auth_view_groups', 'auth_edit_groups', 'auth_delete_groups', 'auth_post_groups', 'auth_view_comment_groups', 'auth_post_comment_groups', 'auth_edit_comment_groups', 'auth_delete_comment_groups', 'auth_approval_groups', 'auth_approval_edit_groups' ); break; case BUGSBT_AUTH_VIEW: $a_sql = 'a.auth_view'; $a_sql_groups = 'a.auth_view_groups'; $auth_fields = array( 'auth_view' ); $auth_fields_groups = array( 'auth_view_groups' ); break; case BUGSBT_AUTH_EDIT: $a_sql = 'a.auth_edit'; $a_sql_groups = 'a.auth_edit_groups'; $auth_fields = array( 'auth_edit' ); $auth_fields_groups = array( 'auth_edit_groups' ); break; case BUGSBT_AUTH_DELETE: $a_sql = 'a.auth_delete'; $a_sql_groups = 'a.auth_delete_groups'; $auth_fields = array( 'auth_delete' ); $auth_fields_groups = array( 'auth_delete_groups' ); break; case BUGSBT_AUTH_POST: $a_sql = 'a.auth_post'; $a_sql_groups = 'a.auth_post_groups'; $auth_fields = array( 'auth_post' ); $auth_fields_groups = array( 'auth_post_groups' ); break; case BUGSBT_AUTH_VIEW_COMMENT: $a_sql = 'a.auth_view_comment'; $a_sql_groups = 'a.auth_view_comment_groups'; $auth_fields = array( 'auth_view_comment' ); $auth_fields_groups = array( 'auth_view_comment_groups' ); break; case BUGSBT_AUTH_POST_COMMENT: $a_sql = 'a.auth_post_comment'; $a_sql_groups = 'a.auth_post_comment_groups'; $auth_fields = array( 'auth_post_comment' ); $auth_fields_groups = array( 'auth_post_comment_groups' ); break; case BUGSBT_AUTH_EDIT_COMMENT: $a_sql = 'a.auth_edit_comment'; $a_sql_groups = 'a.auth_edit_comment_groups'; $auth_fields = array( 'auth_edit_comment' ); $auth_fields_groups = array( 'auth_edit_comment_groups' ); break; case BUGSBT_AUTH_DELETE_COMMENT: $a_sql = 'a.auth_delete_comment'; $a_sql_groups = 'a.auth_delete_comment_groups'; $auth_fields = array( 'auth_delete_comment' ); $auth_fields_groups = array( 'auth_delete_comment_groups' ); break; case BUGSBT_AUTH_APPROVAL: $a_sql = 'a.auth_approval'; $a_sql_groups = 'a.auth_approval_groups'; $auth_fields = array( 'auth_approval' ); $auth_fields_groups = array( 'auth_approval_groups' ); break; case BUGSBT_AUTH_APPROVAL_EDIT: $a_sql = 'a.auth_approval_edit'; $a_sql_groups = 'a.auth_approval_edit_groups'; $auth_fields = array( 'auth_approval_edit' ); $auth_fields_groups = array( 'auth_approval_edit_groups' ); break; default: break; } $is_admin = ( $userdata['user_level'] == ADMIN && $userdata['session_logged_in'] ) ? true : 0; // // If f_access has not been passed, or auth is needed to return an array of forums // then we need to pull the auth information on the given forum (or all forums) // if ( empty($f_access) ) { $forum_match_sql = ( $cat_id != AUTH_LIST_ALL ) ? "WHERE a.category_id = $cat_id" : ''; $sql = "SELECT * FROM " . BUGSBT_PRODUCTS_TABLE . " a $forum_match_sql"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Failed obtaining forum access control lists', '', __LINE__, __FILE__, $sql); } $sql_fetchrow = ( $cat_id != AUTH_LIST_ALL ) ? 'sql_fetchrow' : 'sql_fetchrowset'; if ( !($f_access = $db->$sql_fetchrow($result)) ) { $db->sql_freeresult($result); return array(); } $db->sql_freeresult($result); } $auth_user = array(); for( $i = 0; $i < count( $auth_fields ); $i++ ) { $key = $auth_fields[$i]; $key_groups = $auth_fields_groups[$i]; // If the user is logged on and the module type is either ALL or REG then the user has access // If the type if ACL, MOD or ADMIN then we need to see if the user has specific permissions // to do whatever it is they want to do ... to do this we pull relevant information for the // user (and any groups they belong to) // Now we compare the users access level against the modules. We assume here that a moderator // and admin automatically have access to an ACL module, similarly we assume admins meet an // auth requirement of MOD if ( $cat_id != AUTH_LIST_ALL ) { $value = $f_access[$key]; $value_groups = $f_access[$key_groups]; switch ( $value ) { case AUTH_ALL: $this->auth_user[$key] = true; $this->auth_user[$key . '_type'] = $lang['Auth_Anonymous_users']; break; case AUTH_REG: $this->auth_user[$key] = ( $userdata['session_logged_in'] ) ? true : 0; $this->auth_user[$key . '_type'] = $lang['Auth_Registered_Users']; break; case AUTH_ANONYMOUS: $this->auth_user[$key] = ( ! $userdata['session_logged_in'] ) ? true : 0; $this->auth_user[$key . '_type'] = $lang['Auth_Anonymous_users']; break; case AUTH_ACL: // PRIVATE $this->auth_user[$key] = ( $userdata['session_logged_in'] ) ? mx_is_group_member( $value_groups ) || mx_is_group_member( $f_access['auth_moderator_groups'] ) || $is_admin : 0; $this->auth_user[$key . '_type'] = $lang['Auth_Users_granted_access']; break; case AUTH_MOD: $this->auth_user[$key] = ( $userdata['session_logged_in'] ) ? mx_is_group_member( $f_access['auth_moderator_groups'] ) || $is_admin : 0; $this->auth_user[$key . '_type'] = $lang['Auth_Moderators']; break; case AUTH_ADMIN: $this->auth_user[$key] = $is_admin; $this->auth_user[$key . '_type'] = $lang['Auth_Administrators']; break; default: $this->auth_user[$key] = 0; break; } } else { for($k = 0; $k < count($f_access); $k++) { $value = $f_access[$k][$key]; $value_groups = $f_access[$k][$key_groups]; $f_cat_id = $f_access[$k]['category_id']; switch ( $value ) { case AUTH_ALL: $this->auth_user[$f_cat_id][$key] = true; $this->auth_user[$f_cat_id][$key . '_type'] = $lang['Auth_Anonymous_users']; break; case AUTH_REG: $this->auth_user[$f_cat_id][$key] = ( $userdata['session_logged_in'] ) ? true : 0; $this->auth_user[$f_cat_id][$key . '_type'] = $lang['Auth_Registered_Users']; break; case AUTH_ANONYMOUS: $this->auth_user[$f_cat_id][$key] = ( ! $userdata['session_logged_in'] ) ? true : 0; $this->auth_user[$f_cat_id][$key . '_type'] = $lang['Auth_Anonymous_users']; break; case AUTH_ACL: // PRIVATE $this->auth_user[$f_cat_id][$key] = ( $userdata['session_logged_in'] ) ? mx_is_group_member( $value_groups ) || mx_is_group_member( $f_access[$k]['auth_moderator_groups'] ) || $is_admin : 0; $this->auth_user[$f_cat_id][$key . '_type'] = $lang['Auth_Users_granted_access']; break; case AUTH_MOD: $this->auth_user[$f_cat_id][$key] = ( $userdata['session_logged_in'] ) ? mx_is_group_member( $f_access[$k]['auth_moderator_groups'] ) || $is_admin : 0; $this->auth_user[$f_cat_id][$key . '_type'] = $lang['Auth_Moderators']; break; case AUTH_ADMIN: $this->auth_user[$f_cat_id][$key] = $is_admin; $this->auth_user[$f_cat_id][$key . '_type'] = $lang['Auth_Administrators']; break; default: $this->auth_user[$f_cat_id][$key] = 0; break; } } } } // // Is user a moderator? // if ( $cat_id != AUTH_LIST_ALL ) { $this->auth_user['auth_mod'] = ( $userdata['session_logged_in'] ) ? mx_is_group_member( $f_access['auth_moderator_groups'] ) || $is_admin : 0; } else { for($k = 0; $k < count($f_access); $k++) { $f_cat_id = $f_access[$k]['category_id']; $this->auth_user[$f_cat_id]['auth_mod'] = ( $userdata['session_logged_in'] ) ? mx_is_group_member( $f_access[$k]['auth_moderator_groups'] ) || $is_admin : 0; } } } } ?> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:55
|
Update of /cvsroot/mxbb In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691 Added Files: bugsBT.pak bugsbt.php db_install.php db_uninstall.php db_upgrade.php index.htm mx_install_readme.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: bugsbt.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: bugsbt.php,v 1.1 2007/02/15 12:43:42 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ if( !defined('IN_PORTAL') || !is_object($mx_block)) { die("Hacking attempt"); } // // Read Block Settings (default mode) // $title = !empty( $mx_block->block_info['block_title'] ) ? $mx_block->block_info['block_title'] : $lang['bugsbt_title']; $desc = $mx_block->block_info['block_desc']; $block_size = ( isset( $block_size ) && !empty( $block_size ) ? $block_size : '100%' ); // ------------------------------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------------------------------- // Start // ------------------------------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------------------------------- // =================================================== // Include the common file // =================================================== include_once( $module_root_path . 'bugsbt/bugsbt_common.' . $phpEx ); // =================================================== // Get mode variables, otherwise set it to the main // =================================================== $mode = $mx_request_vars->request('mode', MX_TYPE_NO_TAGS, 'index'); // =================================================== // Is admin? // =================================================== $is_admin = ( ( $userdata['user_level'] == ADMIN ) && $userdata['session_logged_in'] ) ? true : 0; // =================================================== // if the database disabled give them a nice message // =================================================== if ( intval( $bugsbt_config['module_enable'] ) ) { mx_message_die( GENERAL_MESSAGE, $lang['bugsbt_disable'] ); } // =================================================== // an array of all expected actions // =================================================== $actions = array( 'index' => 'index', ); // =================================================== // Lets Build the page // =================================================== $mx_bugsbt->module( $actions[$mode] ); $mx_bugsbt->modules[$actions[$mode]]->main( $mode ); // // load module header // //$mx_bugsbt_functions->page_header(); // // Some general template vars // $template->assign_vars( array( 'U_PORTAL' => $mx_root_path, 'L_PORTAL' => "<<", 'U_BUGSBT' => append_sid( $mx_bugsbt->this_mxurl() ), 'L_BUGSBT' => $lang['bugsbt_title'] ) ); $template->pparse( 'body' ); // // load module footer // $mx_bugsbt_functions->page_footer(); ?> --- NEW FILE: db_uninstall.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: db_uninstall.php,v 1.1 2007/02/15 12:43:43 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ define( 'IN_PORTAL', true ); if ( !defined( 'IN_ADMIN' ) ) { $mx_root_path = './../../'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include( $mx_root_path . 'common.' . $phpEx ); // Start session management $mx_user->init($user_ip, PAGE_INDEX); if ( !$userdata['session_logged_in'] ) { die( "Hacking attempt(1)" ); } if ( $userdata['user_level'] != ADMIN ) { die( "Hacking attempt(2)" ); } // End session management } // For compatibility with core 2.7.+ define( 'MXBB_27x', file_exists( $mx_root_path . 'mx_login.php' ) ); if ( MXBB_27x ) { include_once( $mx_root_path . 'modules/mx_kb/includes/functions_kb_mx.' . $phpEx ); } $sql = array( "DROP TABLE " . $mx_table_prefix . "kb_articles ", "DROP TABLE " . $mx_table_prefix . "kb_categories ", "DROP TABLE " . $mx_table_prefix . "kb_config ", "DROP TABLE " . $mx_table_prefix . "kb_types ", //"DROP TABLE " . $mx_table_prefix . "kb_wordlist ", //"DROP TABLE " . $mx_table_prefix . "kb_results ", //"DROP TABLE " . $mx_table_prefix . "kb_wordmatch ", "DROP TABLE " . $mx_table_prefix . "kb_votes ", "DROP TABLE " . $mx_table_prefix . "kb_custom ", "DROP TABLE " . $mx_table_prefix . "kb_comments ", "DROP TABLE " . $mx_table_prefix . "kb_customdata " ); echo "<br /><br />"; echo "<table width=\"90%\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\">"; echo "<tr><th class=\"thHead\" align=\"center\">Module Installation/Upgrading/Uninstalling Information - module specific db tables</th></tr>"; echo "<tr><td class=\"row1\" align=\"left\"><span class=\"gen\">" . mx_do_install_upgrade( $sql ) . "</span></td></tr>"; echo "</table><br />"; ?> --- NEW FILE: mx_install_readme.htm --- <html> <head> <title>Mx Portal installation - readme</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- link rel="stylesheet" href="templates/subSilver/subSilver.css" type="text/css" --> <style type="text/css"> <!-- /* The original subSilver Theme for phpBB version 2+ Created by subBlue design http://www.subBlue.com NOTE: These CSS definitions are stored within the main page body so that you can use the phpBB2 theme administration centre. When you have finalised your style you could cut the final CSS code and place it in an external file, deleting this section to save bandwidth. */ /* General page style. The scroll bar colours only visible in IE5.5+ */ body { background-color: #E5E5E5; scrollbar-face-color: #DEE3E7; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color: #DEE3E7; scrollbar-3dlight-color: #D1D7DC; scrollbar-arrow-color: #006699; scrollbar-track-color: #EFEFEF; scrollbar-darkshadow-color: #98AAB1; } /* General font families for common tags */ font,th,td,p { font-family: Verdana, Arial, Helvetica, sans-serif } a:link,a:active,a:visited { color : #006699; } a:hover { text-decoration: underline; color : #DD6900; } hr { height: 0px; border: solid #D1D7DC 0px; border-top-width: 1px;} /* This is the border line & background colour round the entire page */ .bodyline { background-color: #FFFFFF; border: 1px #98AAB1 solid; } /* This is the outline round the main forum tables */ .forumline { background-color: #FFFFFF; border: 2px #006699 solid; } /* Main table cell colours and backgrounds */ td.row1 { background-color: #EFEFEF; } td.row2 { background-color: #DEE3E7; } td.row3 { background-color: #D1D7DC; } /* This is for the table cell above the Topics, Post & Last posts on the index.php page By default this is the fading out gradiated silver background. However, you could replace this with a bitmap specific for each forum */ td.rowpic { background-color: #FFFFFF; background-image: url(../../install/templates/subSilver/images/cellpic2.jpg); background-repeat: repeat-y; } /* Header cells - the blue and silver gradient backgrounds */ th { color: #FFA34F; font-size: 11px; font-weight : bold; background-color: #006699; height: 25px; background-image: url(../../install/templates/subSilver/images/cellpic3.gif); } td.cat,td.catHead,td.catSides,td.catLeft,td.catRight,td.catBottom { background-image: url(../../install/templates/subSilver/images/cellpic1.gif); background-color:#D1D7DC; border: #FFFFFF; border-style: solid; height: 28px; } /* Setting additional nice inner borders for the main table cells. The names indicate which sides the border will be on. Don't worry if you don't understand this, just ignore it :-) */ td.cat,td.catHead,td.catBottom { height: 29px; border-width: 0px 0px 0px 0px; } th.thHead,th.thSides,th.thTop,th.thLeft,th.thRight,th.thBottom,th.thCornerL,th.thCornerR { font-weight: bold; border: #FFFFFF; border-style: solid; height: 28px; } td.row3Right,td.spaceRow { background-color: #D1D7DC; border: #FFFFFF; border-style: solid; } th.thHead,td.catHead { font-size: 12px; border-width: 1px 1px 0px 1px; } th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; } th.thRight,td.catRight,td.row3Right { border-width: 0px 1px 0px 0px; } th.thLeft,td.catLeft { border-width: 0px 0px 0px 1px; } th.thBottom,td.catBottom { border-width: 0px 1px 1px 1px; } th.thTop { border-width: 1px 0px 0px 0px; } th.thCornerL { border-width: 1px 0px 0px 1px; } th.thCornerR { border-width: 1px 1px 0px 0px; } /* The largest text used in the index page title and toptic title etc. */ .maintitle { font-weight: bold; font-size: 22px; font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000000; } /* General text */ .gen { font-size : 12px; } .genmed { font-size : 11px; } .gensmall { font-size : 10px; } .gen,.genmed,.gensmall { color : #000000; } a.gen,a.genmed,a.gensmall { color: #006699; text-decoration: none; } a.gen:hover,a.genmed:hover,a.gensmall:hover { color: #DD6900; text-decoration: underline; } /* The register, login, search etc links at the top of the page */ .mainmenu { font-size : 11px; color : #000000 } a.mainmenu { text-decoration: none; color : #006699; } a.mainmenu:hover{ text-decoration: underline; color : #DD6900; } /* Forum category titles */ .cattitle { font-weight: bold; font-size: 12px ; letter-spacing: 1px; color : #006699} a.cattitle { text-decoration: none; color : #006699; } a.cattitle:hover{ text-decoration: underline; } /* Forum title: Text and link to the forums used in: index.php */ .forumlink { font-weight: bold; font-size: 12px; color : #006699; } a.forumlink { text-decoration: none; color : #006699; } a.forumlink:hover{ text-decoration: underline; color : #DD6900; } /* Used for the navigation text, (Page 1,2,3 etc) and the navigation bar when in a forum */ .nav { font-weight: bold; font-size: 11px; color : #000000;} a.nav { text-decoration: none; color : #006699; } a.nav:hover { text-decoration: underline; } /* titles for the topics: could specify viewed link colour too */ .topictitle,h1,h2 { font-weight: bold; font-size: 11px; color : #000000; } a.topictitle:link { text-decoration: none; color : #006699; } a.topictitle:visited { text-decoration: none; color : #5493B4; } a.topictitle:hover { text-decoration: underline; color : #DD6900; } /* Name of poster in viewmsg.php and viewtopic.php and other places */ .name { font-size : 11px; color : #000000;} /* Location, number of posts, post date etc */ .postdetails { font-size : 10px; color : #000000; } /* The content of the posts (body of text) */ .postbody { font-size : 12px; line-height: 18px} a.postlink:link { text-decoration: none; color : #006699 } a.postlink:visited { text-decoration: none; color : #5493B4; } a.postlink:hover { text-decoration: underline; color : #DD6900} /* Quote & Code blocks */ .code { font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #006600; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px } .quote { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #444444; line-height: 125%; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px } /* Copyright and bottom info */ .copyright { font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #444444; letter-spacing: -1px;} a.copyright { color: #444444; text-decoration: none;} a.copyright:hover { color: #000000; text-decoration: underline;} /* Form elements */ input,textarea, select { color : #000000; font: normal 11px Verdana, Arial, Helvetica, sans-serif; border-color : #000000; } /* The text input fields background colour */ input.post, textarea.post, select { background-color : #FFFFFF; } input { text-indent : 2px; } /* The buttons used for bbCode styling in message post */ input.button { background-color : #EFEFEF; color : #000000; font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif; } /* The main submit button option */ input.mainoption { background-color : #FAFAFA; font-weight : bold; } /* None-bold submit button */ input.liteoption { background-color : #FAFAFA; font-weight : normal; } /* This is the line in the posting page which shows the rollover help line. This is actually a text box, but if set to be the same colour as the background no one will know ;) */ .helpline { background-color: #DEE3E7; border-style: none; } /* Import the fancy styles for IE only (NS4.x doesn't use the @import function) */ @import url("templates/subSilver/formIE.css"); --> </style> <script language="Javascript" type="text/javascript"> <!-- if ( 0 ) { window.open('privmsg.php?mode=newpm', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');; } //--> </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <table> <tr> <td colspan="2"><p><b><font size="5">mxBB</font><font size="5"> Module - Knowledge Base <br> <font size="2">v. 2.0.2</font></font></b></p> <p><span style="font-weight: bold"><span style="font-size: 16px; line-height: normal">Module</span></span> <br /> - for Mx Portal v. 2.7.5+ (with some notes, see below)</p> <p><strong>Author</strong><br /> Haplo<br /> <br /> <span style="font-weight: bold">Description</span> <br /> The mxBB Module is an addon product for the mxBB Portal.</p> <p><strong>Features</strong> <br /> Easy to use and install/uninstall module.</p> <p> <br /> I. <a href="#install">Installation instructions</a> <br /> <br /> II. <a href="#themes">Additional styles</a> <br /> <br /> III. <a href="#languages">Additional languages</a><br /> <br /> <a href="http://www.mx-system.com" target="_blank" class="postlink">DEMO </a> <br /> <br /> <a href="http://www.mx-system.com/index.php?page=4" target="_blank" class="postlink"> DOWNLOAD </a> <br /> <br /><a name="install"> <br /> <span style="font-weight: bold">I. Installation Instructions</span> <br /> To install this module, follow these instructions. If you encounter any problems during install, visit the <a href="http://www.mx-system.com/forum/viewforum.php?f=20" target="_blank" class="postlink"> module support forum</a>. </p> <p>All install notes are maintained at www.mx-system.com, <a href="http://www.mx-system.com/forum/viewforum.php?f=11">here</a>.<br> <br> <i>To summarize:</i></p> <ul> <li> If installing from scratch, use the "install module" option in the AdminCP - Modules</li> <li> If upgrading, use the "upgrade module" option in the AdminCP - Modules</li> <li> If uninstalling, use the "delete module" feature in the AdminCP - Modules</li> </ul> <p><i>Note:</i> If upgrading, do NOT delete module prior to upgrading, or else you'll lose all module data!</p> <p><i>Note also:</i> Since this module is developed for next generation mxBB core, you have to patch your core 2.7.5 portal if downloaded prior to this module release. If using latest core this patch is already included.</p> <p>OPEN admin/admin_mx_module.php</p> <p>FIND</p> <table width="100%" border="1" cellpadding="2"> <tr> <td><font size="1">// <br> // Generate safe object identifiers for the target DB<br> // where this module pack is going to be imported...<br> // </font></td> </tr> </table> <p>BEFORE ADD</p> <table width="100%" border="1" cellpadding="2"> <tr> <td><font size="1">// Start - For compatibility with mxBB modules 2.x<br> $fcontents_temp = array();<br> for($i = 0; $i < count($fcontents); $i++) {<br> $module_data = explode($delimeter, trim($fcontents[$i]));<br> <br> if ( $module_data[0] != 'New_function' && $module_data[4] != 'endoflist' )<br> {<br> $fcontents_temp[] = implode($delimeter, $module_data);<br> }<br> }<br> $fcontents = $fcontents_temp;<br> // End - mxBB modules 2.x code patch</font></td> </tr> </table> <p><br /> <a href="#top"> Back to Top</a> <br /> <br /> <a name="themes"> <br /> <span style="font-weight: bold">II. Additional Styles</span> <br /> This module is compatible with any theme/style. <br /> <br /> <a href="#top"> Back to Top</a> <br /> <br /> <a name="languages"> <br /> <span style="font-weight: bold">III. Additional Languages</span> <br /> First check to see if your language is already translated. <br /> <br /> Translated languages are downloaded <a href="http://www.mx-system.com/index.php?page=4&action=category&cat_id=5" target="_blank" class="postlink"> here</a>. <br /> <br /> If exists, download and install in the modules/mx_modulename/language folder. If not, duplicate (copy and paste) any included language file, rename to match your language, translate using any texteditor, save and upload. <br /> <br /> <a href="#top"> Back to Top</a> </p> <p> /mxBB Team</p> </td> </tr> </table> </body> </html> --- NEW FILE: db_upgrade.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: db_upgrade.php,v 1.1 2007/02/15 12:43:43 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ define( 'IN_PORTAL', true ); if ( !defined( 'IN_ADMIN' ) ) { $mx_root_path = './../../'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include( $mx_root_path . 'common.' . $phpEx ); // Start session management $mx_user->init($user_ip, PAGE_INDEX); if ( !$userdata['session_logged_in'] ) { die( "Hacking attempt(1)" ); } if ( $userdata['user_level'] != ADMIN ) { die( "Hacking attempt(2)" ); } // End session management } $mx_module_version = '1.0.0'; $mx_module_copy = 'Designed for mxBB by <a href="http://www.mxbb-portal.com" target="_blank">Jon</a>'; $sql = array(); // Precheck if ( $result = $db->sql_query( "SELECT config_name from " . $mx_table_prefix . "bugsbt_config" ) ) { if(false) { } else { $message .= "<b>Nothing to upgrade...</b><br/><br/>"; } $sql[] = "UPDATE " . $mx_table_prefix . "module" . " SET module_version = '" . $mx_module_version . "', module_copy = '" . $mx_module_copy . "' WHERE module_id = '" . $mx_module_id . "'"; $message .= mx_do_install_upgrade( $sql ); // // Empty module cache // include_once( $mx_root_path . 'includes/mx_functions_tools.' . $phpEx ); $module_cache = new module_cache($mx_root_path . 'modules/mx_bugsbt/bugsbt/'); $module_cache->tidy(); $module_cache->save(); } else { // If not installed $message = "<b>Module is not installed...and thus cannot be upgraded ;)</b><br/><br/>"; } echo "<br /><br />"; echo "<table width=\"90%\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\">"; echo "<tr><th class=\"thHead\" align=\"center\">Module Installation/Upgrading/Uninstalling Information - module specific db tables</th></tr>"; echo "<tr><td class=\"row1\" align=\"left\"><span class=\"gen\">" . $message . "</span></td></tr>"; echo "</table><br />"; ?> --- NEW FILE: db_install.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: db_install.php,v 1.1 2007/02/15 12:43:43 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ define( 'IN_PORTAL', true ); if ( !defined( 'IN_ADMIN' ) ) { $mx_root_path = './../../'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include( $mx_root_path . 'common.' . $phpEx ); // Start session management $mx_user->init($user_ip, PAGE_INDEX); if ( !$userdata['session_logged_in'] ) { die( "Hacking attempt(1)" ); } if ( $userdata['user_level'] != ADMIN ) { die( "Hacking attempt(2)" ); } // End session management } $mx_module_version = '1.0.0'; $mx_module_copy = 'Designed for mxBB by <a href="http://www.mxbb.net" target="_blank">Jon</a>'; // If fresh install if ( !$result = $db->sql_query( "SELECT config_name from " . $mx_table_prefix . "bugsbt_config" ) ) { $message = "<b>This is a new module installation!</b><br/><br/>"; $sql = array( "DROP TABLE IF EXISTS " . $mx_table_prefix . "bugsbt_bugs ", "DROP TABLE IF EXISTS " . $mx_table_prefix . "bugsbt_products ", "DROP TABLE IF EXISTS " . $mx_table_prefix . "bugsbt_config ", "DROP TABLE IF EXISTS " . $mx_table_prefix . "bugsbt_types ", "CREATE TABLE " . $mx_table_prefix . "bugsbt_products ( category_id int(10) NOT NULL auto_increment, category_name text, category_details text, parent int(50) default NULL, parents_data text NOT NULL default '', cat_order int(50) default NULL, cat_allow_file tinyint(2) NOT NULL default '1', cat_allow_comments tinyint(2) NOT NULL default '-1', internal_comments tinyint(2) NOT NULL default '-1', autogenerate_comments tinyint(2) NOT NULL default '-1', comments_forum_id mediumint(8) NOT NULL default '-1', show_pretext tinyint(2) NOT NULL default '-1', notify tinyint(2) NOT NULL default '-1', notify_group mediumint(8) NOT NULL default '-1', number_bugs mediumint(8) NOT NULL default '-1', cat_last_bug_id mediumint(8) unsigned NOT NULL default '0', cat_last_bug_name varchar(255) NOT NULL default '', cat_last_bug_time INT(50) UNSIGNED DEFAULT '0' NOT NULL, auth_view tinyint(3) NOT NULL DEFAULT '0', auth_post tinyint(3) NOT NULL DEFAULT '0', auth_view_comment tinyint(3) NOT NULL DEFAULT '0', auth_post_comment tinyint(3) NOT NULL DEFAULT '0', auth_edit_comment tinyint(3) NOT NULL DEFAULT '0', auth_delete_comment tinyint(3) NOT NULL DEFAULT '2', auth_edit tinyint(3) NOT NULL DEFAULT '0', auth_delete tinyint(3) NOT NULL DEFAULT '2', auth_approval tinyint(3) NOT NULL DEFAULT '0', auth_approval_edit tinyint(3) NOT NULL DEFAULT '0', auth_view_groups varchar(255) NOT NULL default '0', auth_post_groups varchar(255) NOT NULL default '0', auth_view_comment_groups varchar(255) NOT NULL default '0', auth_post_comment_groups varchar(255) NOT NULL default '0', auth_edit_comment_groups varchar(255) NOT NULL default '0', auth_delete_comment_groups varchar(255) NOT NULL default '0', auth_edit_groups varchar(255) NOT NULL default '0', auth_delete_groups varchar(255) NOT NULL default '0', auth_approval_groups varchar(255) NOT NULL default '0', /* not really used */ auth_approval_edit_groups varchar(255) NOT NULL default '0', /* not really used */ auth_moderator_groups varchar(255) NOT NULL default '0', PRIMARY KEY (category_id), KEY cat_order (cat_order) )", "INSERT INTO " . $mx_table_prefix . "bugsbt_products VALUES (1, 'Test Product', 'Just a test product', '0', '10', '-1', '-1','-1','-1','-1','-1','-1', '-1', '0', '', '0', '0', '0', '0', '0', '0', '2', '0', '2', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' )", "CREATE TABLE " . $mx_table_prefix . "bugsbt_bugs ( bug_id mediumint(8) unsigned NOT NULL auto_increment, bug_title varchar(255) binary NOT NULL default '', bug_description varchar(255) binary NOT NULL default '', bug_category_id mediumint(8) unsigned NOT NULL default '0', approved tinyint(1) unsigned NOT NULL default '0', bug_body text NOT NULL, bbcode_uid varchar(10) binary NOT NULL default '', bug_type mediumint(8) unsigned NOT NULL default '0', bug_status mediumint(8) unsigned NOT NULL default '0', bug_closed tinyint(1) unsigned NOT NULL default '0', bug_date varchar(255) binary NOT NULL default '', bug_author_id mediumint(8) NOT NULL, username VARCHAR(255), topic_id mediumint(8) unsigned NOT NULL default '0', attached_topic_id mediumint(8) unsigned NOT NULL default '0', views BIGINT(8) NOT NULL DEFAULT '0', PRIMARY KEY (bug_id) )", "CREATE TABLE " . $mx_table_prefix . "bugsbt_config ( config_name VARCHAR(255) NOT NULL default '', config_value varchar(255) NOT NULL default '', PRIMARY KEY (config_name) )", // -------------------------------------------------------- "CREATE TABLE " . $mx_table_prefix . "bugsbt_comments ( comments_id int(10) NOT NULL auto_increment, bug_id int(10) NOT NULL default '0', comments_text text NOT NULL, comments_title text NOT NULL, comments_time int(50) NOT NULL default '0', comment_bbcode_uid varchar(10) default NULL, poster_id mediumint(8) NOT NULL default '0', PRIMARY KEY (comments_id), KEY comments_id (comments_id), FULLTEXT KEY comment_bbcode_uid (comment_bbcode_uid) )", "CREATE TABLE " . $mx_table_prefix . "bugsbt_types ( id mediumint(8) unsigned NOT NULL auto_increment, type varchar(255) binary DEFAULT '' NOT NULL, KEY id (id) )", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (1, 'Confirmed')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (2, 'Unconfirmed')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (3, 'Partially Fixed')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (4, 'Feature')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (5, 'Not a Bug')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (6, 'Fixed')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (7, 'Internal To-Do')", "INSERT INTO " . $mx_table_prefix . "bugsbt_types VALUES (8, 'Postponed')", // -------------------------------------------------------- "CREATE TABLE " . $mx_table_prefix . "bugsbt_custom ( custom_id int(50) NOT NULL auto_increment, custom_name text NOT NULL, custom_description text NOT NULL, data text NOT NULL, field_order int(20) NOT NULL default '0', field_type tinyint(2) NOT NULL default '0', regex varchar(255) NOT NULL default '', PRIMARY KEY (custom_id) )", // -------------------------------------------------------- "CREATE TABLE " . $mx_table_prefix . "bugsbt_customdata ( customdata_file int(50) NOT NULL default '0', customdata_custom int(50) NOT NULL default '0', data text NOT NULL )", // // Insert Configs // // General "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('enable_module', '1')", // allow_new "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('module_name', 'BugsBT')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('wysiwyg_path', 'modules/mx_shared/')", // Articles "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('formatting_wordwrap', '1')", // formatting_fixup "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('formatting_image_resize', '300')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('formatting_truncate_links', '1')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_wysiwyg', '0')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_html', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_bbcode', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_smilies', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allowed_html_tags', 'b,i,u,a')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_links', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_images', '0')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('no_image_message', '[No image please]')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('no_link_message', '[No links please]')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('max_subject_chars', '100')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('max_desc_chars', '500')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('max_chars', '0')", // NEW // Appearance "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('sort_method', 'Alphabetic')", // news_sort "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('sort_order', 'ASC')", // news_sort_par "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('pagination', '10')", // art_pagination "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('stats_list', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('header_banner', '0')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('use_simple_navigation', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('cat_col', '2')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('settings_newdays', '1')", // Comments "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('use_comments', '0')", // comments_show "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('internal_comments', '1')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('formatting_comment_wordwrap', '1')", // formatting_comment_fixup "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('formatting_comment_image_resize', '300')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('formatting_comment_truncate_links', '1')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('max_comment_subject_chars', '50')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('max_comment_chars', '5000')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_comment_wysiwyg', '0')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_comment_html', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_comment_bbcode', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_comment_smilies', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_comment_links', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allow_comment_images', '0')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('no_comment_image_message', '[No image please]')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('no_comment_link_message', '[No links please]')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('allowed_comment_html_tags', 'b,i,u,a')", // NEW "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('del_topic', '1')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('autogenerate_comments', '1')", // bump_post "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('comments_pagination', '5')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('comments_forum_id', '0')", // New // Instructions "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('show_pretext',0)", "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('pt_header','Article Submission Instructions')", "INSERT INTO " . $mx_table_prefix . "bugsbt_config values ('pt_body','Please check your references and include as much information as you can.')", // Notifications "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('notify', 'pm')", // updated "INSERT INTO " . $mx_table_prefix . "bugsbt_config VALUES ('notify_group', '0')", // admin_id ); $sql[] = "UPDATE " . $mx_table_prefix . "module" . " SET module_version = '" . $mx_module_version . "', module_copy = '" . $mx_module_copy . "' WHERE module_id = '" . $mx_module_id . "'"; $message .= mx_do_install_upgrade( $sql ); } else { // If already installed $message = "<b>Module is already installed...consider upgrading ;)</b><br/><br/>"; } echo "<br /><br />"; echo "<table width=\"90%\" align=\"center\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\">"; echo "<tr><th class=\"thHead\" align=\"center\">Module Installation/Upgrading/Uninstallation Information - module specific DB tables</th></tr>"; echo "<tr><td class=\"row1\" align=\"left\"><span class=\"gen\">" . $message . "</span></td></tr>"; echo "</table><br />"; ?> --- NEW FILE: bugsBT.pak --- module=+:41=+:BugsBT=+:modules/mx_bugsbt/=+:mxBB BugTracker module=+:1 New_function=+:---------------------------=+:0=+:0=+:0=+:0=+:0 function=+:41=+:42=+:BugsBT - Main=+:mxBB BugTracker module=+:bugsbt.php=+: parameter=+:0=+:0=+:0=+:endoflist=+:0=+:0 block=+:=+:Demo - BugsBT=+:Demo block=+:42=+:0=+:5=+:0=+:0=+:0=+:0=+:1=+:1 function=+:0=+:0=+:0=+:endoflist=+:0=+:0 --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:55
|
Update of /cvsroot/mxbb/mx_bugsbt/bugsbt/cache In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/bugsbt/cache Added Files: data_global.php index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: data_global.php --- <?php $this->vars=array('config'=>array('enable_module'=>'1','module_name'=>'BugsBT','wysiwyg_path'=>'modules/mx_shared/','formatting_wordwrap'=>'1','formatting_image_resize'=>'300','formatting_truncate_links'=>'1','allow_wysiwyg'=>'0','allow_html'=>'1','allow_bbcode'=>'1','allow_smilies'=>'1','allowed_html_tags'=>'b,i,u,a','allow_links'=>'1','allow_images'=>'0','no_image_message'=>'[No image please]','no_link_message'=>'[No links please]','max_subject_chars'=>'100','max_desc_chars'=>'500','max_chars'=>'0','sort_method'=>'Alphabetic','sort_order'=>'ASC','pagination'=>'10','stats_list'=>'1','header_banner'=>'0','use_simple_navigation'=>'1','cat_col'=>'2','settings_newdays'=>'0','use_comments'=>'1','internal_comments'=>'0','formatting_comment_wordwrap'=>'1','formatting_comment_image_resize'=>'300','formatting_comment_truncate_links'=>'1','max_comment_subject_chars'=>'50','max_comment_chars'=>'5000','allow_comment_wysiwyg'=>'0','allow_comment_html'=>'1','allow_comment_bbcode'=>'1','allow_comment_smilies'=>'1','allow_comment_links'=>'1','allow_comment_images'=>'0','no_comment_image_message'=>'[No image please]','no_comment_link_message'=>'[No links please]','allowed_comment_html_tags'=>'b,i,u,a','del_topic'=>'1','autogenerate_comments'=>'1','comments_pagination'=>'5','comments_forum_id'=>'11','show_pretext'=>'0','pt_header'=>'Article Submission Instructions','pt_body'=>'Please check your references and include as much information as you can.','notify'=>'0','notify_group'=>'0')); $this->vars_ts=array('config'=>1171493522) ?> |
|
From: Jon O. <jon...@us...> - 2007-02-15 12:43:55
|
Update of /cvsroot/mxbb/mx_bugsbt/admin In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv7691/admin Added Files: admin_bugsbt.php index.htm Log Message: Ok. here we go. This is the cool new mxBB Bugtracker ;) --- NEW FILE: admin_bugsbt.php --- <?php /** * * @package mxBB Portal Module - mx_bugsbt * @version $Id: admin_bugsbt.php,v 1.1 2007/02/15 12:43:42 jonohlsson Exp $ * @copyright (c) 2002-2006 [Jon Ohlsson, Cezary Tomczak] mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ define( 'IN_PORTAL', true ); define( 'MXBB_MODULE', true ); // // Main paths // $mx_root_path = './../../../'; $module_root_path = './../../../modules/mx_bugsbt/'; // // Left Pane Paths // $setmodules_root_path = './../'; $setmodules_module_path = 'modules/mx_bugsbt/'; $setmodules_admin_path = $setmodules_module_path . 'admin/'; define( 'MXBB_27x', file_exists( $setmodules_root_path . 'mx_login.php' ) ); $phpEx = substr(strrchr(__FILE__, '.'), 1); if ( !empty( $setmodules ) ) { include_once( $setmodules_root_path . $setmodules_module_path . 'bugsbt/includes/bugsbt_constants.' . $phpEx ); $filename = basename( __FILE__ ); $module['bugsbt_title']['1_Configuration'] = $setmodules_admin_path . $filename . "?action=settings"; $module['bugsbt_title']['2_Product_man'] = $setmodules_admin_path . $filename . "?action=cat_manage"; $module['bugsbt_title']['4_Permissions'] = $setmodules_admin_path . $filename . "?action=auth_manage"; $module['bugsbt_title']['5_Status_man'] = $setmodules_admin_path . $filename . "?action=types_manage"; $module['bugsbt_title']['6_Custom_Field'] = $setmodules_admin_path . $filename . "?action=custom_manage"; return; } // // Includes // require( $mx_root_path . '/admin/pagestart.' . $phpEx ); include( $module_root_path . 'bugsbt/bugsbt_common.' . $phpEx ); // ********************************************************************** // Read language definition // ********************************************************************** if ( !file_exists( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx ) ) { include( $module_root_path . 'language/lang_english/lang_admin.' . $phpEx ); } else { include( $module_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx ); } // // Get action variable other wise set it to the main // $action = ( isset( $_REQUEST['action'] ) ) ? htmlspecialchars( $_REQUEST['action'] ) : 'setting'; // // an array of all expected actions // $actions = array( 'settings' => 'settings', 'cat_manage' => 'cat_manage', 'auth_manage' => 'auth_manage', 'types_manage' => 'types_manage', 'custom_manage' => 'custom_manage' ); // // Lets Build the page // $mx_bugsbt->adminmodule( $actions[$action] ); $mx_bugsbt->modules[$actions[$action]]->main( $action ); $mx_bugsbt->modules[$actions[$action]]->_bugsbt(); include_once( $mx_root_path . 'admin/page_footer_admin.' . $phpEx ); ?> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |