Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
Open sidebar
lolo888
ISPConfig 3
Commits
04e09afc
Commit
04e09afc
authored
Sep 27, 2010
by
filip
Browse files
Implemented new FAQ functionality in help module
parent
fb33392c
Changes
25
Hide whitespace changes
Inline
Side-by-side
install/sql/incremental/upd_0004.sql
0 → 100644
View file @
04e09afc
-- --------------------------------------------------------
-- tables for the FAQ module
CREATE
TABLE
`help_faq_sections`
(
`hfs_id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`hfs_name`
varchar
(
255
)
DEFAULT
NULL
,
`hfs_order`
int
(
11
)
DEFAULT
'0'
,
`sys_userid`
int
(
11
)
DEFAULT
NULL
,
`sys_groupid`
int
(
11
)
DEFAULT
NULL
,
`sys_perm_user`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_group`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_other`
varchar
(
5
)
DEFAULT
NULL
,
PRIMARY
KEY
(
`hfs_id`
)
)
ENGINE
=
MyISAM
AUTO_INCREMENT
=
1
;
INSERT
INTO
`help_faq_sections`
VALUES
(
1
,
'General'
,
0
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
CREATE
TABLE
`help_faq`
(
`hf_id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`hf_section`
int
(
11
)
DEFAULT
NULL
,
`hf_order`
int
(
11
)
DEFAULT
'0'
,
`hf_question`
text
,
`hf_answer`
text
,
`sys_userid`
int
(
11
)
DEFAULT
NULL
,
`sys_groupid`
int
(
11
)
DEFAULT
NULL
,
`sys_perm_user`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_group`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_other`
varchar
(
5
)
DEFAULT
NULL
,
PRIMARY
KEY
(
`hf_id`
)
)
ENGINE
=
MyISAM
AUTO_INCREMENT
=
1
;
INSERT
INTO
`help_faq`
VALUES
(
1
,
1
,
0
,
'I
\'
d like to know ...'
,
'Yes, of course.'
,
1
,
1
,
'riud'
,
'riud'
,
'r'
);
install/sql/ispconfig3.sql
View file @
04e09afc
...
...
@@ -1617,6 +1617,38 @@ INSERT INTO `country` (`iso`, `name`, `printable_name`, `iso3`, `numcode`) VALUE
(
'ZW'
,
'ZIMBABWE'
,
'Zimbabwe'
,
'ZWE'
,
716
);
-- --------------------------------------------------------
-- tables for the FAQ module
CREATE
TABLE
`help_faq_sections`
(
`hfs_id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`hfs_name`
varchar
(
255
)
DEFAULT
NULL
,
`hfs_order`
int
(
11
)
DEFAULT
'0'
,
`sys_userid`
int
(
11
)
DEFAULT
NULL
,
`sys_groupid`
int
(
11
)
DEFAULT
NULL
,
`sys_perm_user`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_group`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_other`
varchar
(
5
)
DEFAULT
NULL
,
PRIMARY
KEY
(
`hfs_id`
)
)
ENGINE
=
MyISAM
AUTO_INCREMENT
=
1
;
INSERT
INTO
`help_faq_sections`
VALUES
(
1
,
'General'
,
0
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
CREATE
TABLE
`help_faq`
(
`hf_id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`hf_section`
int
(
11
)
DEFAULT
NULL
,
`hf_order`
int
(
11
)
DEFAULT
'0'
,
`hf_question`
text
,
`hf_answer`
text
,
`sys_userid`
int
(
11
)
DEFAULT
NULL
,
`sys_groupid`
int
(
11
)
DEFAULT
NULL
,
`sys_perm_user`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_group`
varchar
(
5
)
DEFAULT
NULL
,
`sys_perm_other`
varchar
(
5
)
DEFAULT
NULL
,
PRIMARY
KEY
(
`hf_id`
)
)
ENGINE
=
MyISAM
AUTO_INCREMENT
=
1
;
INSERT
INTO
`help_faq`
VALUES
(
1
,
1
,
0
,
'I
\'
d like to know ...'
,
'Yes, of course.'
,
1
,
1
,
'riud'
,
'riud'
,
'r'
);
-- --------------------------------------------------------
SET
FOREIGN_KEY_CHECKS
=
1
;
interface/web/help/faq_delete.php
0 → 100644
View file @
04e09afc
<?php
// From and List definition files
$list_def_file
=
'list/faq_list.php'
;
$tform_def_file
=
'form/faq.tform.php'
;
// Include the base libraries
require_once
(
'../../lib/config.inc.php'
);
require_once
(
'../../lib/app.inc.php'
);
// Check module permissions
if
(
!
stristr
(
$_SESSION
[
's'
][
'user'
][
'modules'
],
'help'
))
{
header
(
'Location: ../index.php'
);
die
;
}
// Load the form
$app
->
uses
(
'tform_actions'
);
$app
->
tform_actions
->
onDelete
();
?>
interface/web/help/faq_edit.php
0 → 100644
View file @
04e09afc
<?php
// Set the path to the form definition file.
$tform_def_file
=
'form/faq.tform.php'
;
// include the core configuration and application classes
require_once
(
'../../lib/config.inc.php'
);
require_once
(
'../../lib/app.inc.php'
);
// Check the module permissions and redirect if not allowed.
if
(
!
stristr
(
$_SESSION
[
's'
][
'user'
][
'modules'
],
'help'
))
{
header
(
'Location: ../index.php'
);
die
;
}
// Load the templating and form classes
$app
->
uses
(
'tpl,tform,tform_actions'
);
$app
->
load
(
'tform_actions'
);
// Create a class page_action that extends the tform_actions base class
class
page_action
extends
tform_actions
{
//* Customisations for the page actions will be defined here
}
// Create the new page object
$page
=
new
page_action
();
// Start the page rendering and action handling
$page
->
onLoad
();
?>
interface/web/help/faq_list.php
0 → 100644
View file @
04e09afc
<?php
require_once
(
'../../lib/config.inc.php'
);
require_once
(
'../../lib/app.inc.php'
);
// Path to the list definition file
$list_def_file
=
'list/faq_list.php'
;
// Check the module permissions
if
(
!
stristr
(
$_SESSION
[
's'
][
'user'
][
'modules'
],
'help'
))
{
header
(
'Location: ../index.php'
);
die
();
}
// Loading the class
$app
->
uses
(
'listform_actions'
);
// Optional limit
$hf_section
=
0
;
if
(
isset
(
$_GET
[
'hfs_id'
]))
$hf_section
=
preg_replace
(
"/[^0-9]/"
,
""
,
$_GET
[
'hfs_id'
]);
// if section id is not specified in the url, choose the first existing section
if
(
!
$hf_section
)
{
$res
=
$app
->
db
->
queryOneRecord
(
"SELECT MIN(hfs_id) AS min_id FROM help_faq_sections"
);
$hf_section
=
$res
[
'min_id'
];
}
$app
->
listform_actions
->
SQLExtWhere
=
"hf_section =
$hf_section
"
;
$res
=
$app
->
db
->
queryOneRecord
(
"SELECT hfs_name FROM help_faq_sections WHERE hfs_id=
$hf_section
"
);
// Start the form rendering and action ahndling
echo
"<h2>FAQ: "
.
$res
[
'hfs_name'
]
.
"</h2>"
;
$app
->
listform_actions
->
onLoad
();
?>
interface/web/help/faq_sections_delete.php
0 → 100644
View file @
04e09afc
<?php
// From and List definition files
$list_def_file
=
'list/faq_sections_list.php'
;
$tform_def_file
=
'form/faq_sections.tform.php'
;
// Include the base libraries
require_once
(
'../../lib/config.inc.php'
);
require_once
(
'../../lib/app.inc.php'
);
// Check module permissions
if
(
!
stristr
(
$_SESSION
[
's'
][
'user'
][
'modules'
],
'help'
))
{
header
(
'Location: ../index.php'
);
die
;
}
// Load the form
$app
->
uses
(
'tform_actions'
);
$app
->
tform_actions
->
onDelete
();
?>
interface/web/help/faq_sections_edit.php
0 → 100644
View file @
04e09afc
<?php
// Set the path to the form definition file.
$tform_def_file
=
'form/faq_sections.tform.php'
;
// include the core configuration and application classes
require_once
(
'../../lib/config.inc.php'
);
require_once
(
'../../lib/app.inc.php'
);
// Check the module permissions and redirect if not allowed.
if
(
!
stristr
(
$_SESSION
[
's'
][
'user'
][
'modules'
],
'help'
))
{
header
(
'Location: ../index.php'
);
die
;
}
// Load the templating and form classes
$app
->
uses
(
'tpl,tform,tform_actions'
);
$app
->
load
(
'tform_actions'
);
// Create a class page_action that extends the tform_actions base class
class
page_action
extends
tform_actions
{
//* Customisations for the page actions will be defined here
}
// Create the new page object
$page
=
new
page_action
();
// Start the page rendering and action handling
$page
->
onLoad
();
?>
interface/web/help/faq_sections_list.php
0 → 100644
View file @
04e09afc
<?php
require_once
(
'../../lib/config.inc.php'
);
require_once
(
'../../lib/app.inc.php'
);
// Path to the list definition file
$list_def_file
=
'list/faq_sections_list.php'
;
// Check the module permissions
if
(
!
stristr
(
$_SESSION
[
's'
][
'user'
][
'modules'
],
'help'
))
{
header
(
'Location: ../index.php'
);
die
();
}
// Loading the class
$app
->
uses
(
'listform_actions'
);
// Start the form rendering and action ahndling
$app
->
listform_actions
->
onLoad
();
?>
interface/web/help/form/faq.tform.php
0 → 100644
View file @
04e09afc
<?php
// Title of the form.
$form
[
'title'
]
=
'Frequently Asked Questions'
;
// Optional description of the form.
$form
[
'description'
]
=
''
;
// Name of the form which cannot contain spaces or foreign characters.
$form
[
'name'
]
=
'faq_form'
;
// The file that is used to call the form in the browser.
$form
[
'action'
]
=
'faq_edit.php'
;
// The name of the database table used to store the data
$form
[
'db_table'
]
=
'help_faq'
;
// The name of the database table index field.
// This field must be a numeric auto increment column.
$form
[
'db_table_idx'
]
=
'hf_id'
;
// Should changes to this table be stored in the database history (sys_datalog) table.
// This should be set to 'yes' for all tables that store configuration information.
$form
[
'db_history'
]
=
'no'
;
// The name of the tab that is shown when the form is opened
$form
[
'tab_default'
]
=
'message'
;
// The name of the default list file of this form
$form
[
'list_default'
]
=
'faq_list.php'
;
// Use the internal authentication system for this table. This should
// be set to 'yes' in most cases, otherwise 'no'.
$form
[
'auth'
]
=
'yes'
;
//** Authentication presets. The defaults below does not need to be changed in most cases.
// 0 = id of the user, > 0 id must match with id of current user
$form
[
'auth_preset'
][
'userid'
]
=
0
;
// 0 = default groupid of the user, > 0 id must match with groupid of current
$form
[
'auth_preset'
][
'groupid'
]
=
0
;
// Permissions with the following codes: r = read, i = insert, u = update, d = delete
$form
[
'auth_preset'
][
'perm_user'
]
=
'riud'
;
$form
[
'auth_preset'
][
'perm_group'
]
=
'riud'
;
$form
[
'auth_preset'
][
'perm_other'
]
=
'r'
;
// The form definition of the first tab. The name of the tab is called 'message'. We refer
// to this name in the $form['tab_default'] setting above.
$form
[
'tabs'
][
'message'
]
=
array
(
'title'
=>
'FAQ'
,
// Title of the Tab
'width'
=>
100
,
// Tab width
'template'
=>
'templates/faq_edit.htm'
,
// Template file name
'fields'
=>
array
(
//*** BEGIN Datatable columns **********************************
'hf_section'
=>
array
(
'datatype'
=>
'INTEGER'
,
'formtype'
=>
'SELECT'
,
'default'
=>
''
,
'datasource'
=>
array
(
'type'
=>
'SQL'
,
'querystring'
=>
'SELECT hfs_id,hfs_name FROM help_faq_sections'
,
'keyfield'
=>
'hfs_id'
,
'valuefield'
=>
'hfs_name'
),
'validators'
=>
array
(
0
=>
array
(
'type'
=>
'ISINT'
,
'errmsg'
=>
'recipient_id_is_not_integer'
),
),
'value'
=>
(
$_SESSION
[
's'
][
'user'
][
'typ'
]
!=
'admin'
)
?
array
(
1
=>
'Administrator'
)
:
''
),
'hf_question'
=>
array
(
'datatype'
=>
'VARCHAR'
,
'formtype'
=>
'TEXT'
,
'validators'
=>
array
(
0
=>
array
(
'type'
=>
'NOTEMPTY'
,
'errmsg'
=>
'subject_is_empty'
),
),
'default'
=>
''
,
'value'
=>
''
,
'width'
=>
'30'
,
'maxlength'
=>
'255'
),
'hf_answer'
=>
array
(
'datatype'
=>
'TEXT'
,
'formtype'
=>
'TEXTAREA'
,
'validators'
=>
array
(
0
=>
array
(
'type'
=>
'NOTEMPTY'
,
'errmsg'
=>
'message_is_empty'
),
),
'default'
=>
''
,
'value'
=>
''
,
'cols'
=>
'30'
,
'rows'
=>
'10'
,
'maxlength'
=>
'255'
),
//*** END Datatable columns **********************************
)
);
?>
interface/web/help/form/faq_sections.tform.php
0 → 100644
View file @
04e09afc
<?php
// Title of the form.
$form
[
'title'
]
=
'FAQ Sections'
;
// Optional description of the form.
$form
[
'description'
]
=
''
;
// Name of the form which cannot contain spaces or foreign characters.
$form
[
'name'
]
=
'faq_sections_form'
;
// The file that is used to call the form in the browser.
$form
[
'action'
]
=
'faq_sections_edit.php'
;
// The name of the database table used to store the data
$form
[
'db_table'
]
=
'help_faq_sections'
;
// The name of the database table index field.
// This field must be a numeric auto increment column.
$form
[
'db_table_idx'
]
=
'hfs_id'
;
// Should changes to this table be stored in the database history (sys_datalog) table.
// This should be set to 'yes' for all tables that store configuration information.
$form
[
'db_history'
]
=
'no'
;
// The name of the tab that is shown when the form is opened
$form
[
'tab_default'
]
=
'message'
;
// The name of the default list file of this form
$form
[
'list_default'
]
=
'faq_sections_list.php'
;
// Use the internal authentication system for this table. This should
// be set to 'yes' in most cases, otherwise 'no'.
$form
[
'auth'
]
=
'yes'
;
//** Authentication presets. The defaults below does not need to be changed in most cases.
// 0 = id of the user, > 0 id must match with id of current user
$form
[
'auth_preset'
][
'userid'
]
=
0
;
// 0 = default groupid of the user, > 0 id must match with groupid of current
$form
[
'auth_preset'
][
'groupid'
]
=
0
;
// Permissions with the following codes: r = read, i = insert, u = update, d = delete
$form
[
'auth_preset'
][
'perm_user'
]
=
'riud'
;
$form
[
'auth_preset'
][
'perm_group'
]
=
'riud'
;
$form
[
'auth_preset'
][
'perm_other'
]
=
''
;
// The form definition of the first tab. The name of the tab is called 'message'. We refer
// to this name in the $form['tab_default'] setting above.
$form
[
'tabs'
][
'message'
]
=
array
(
'title'
=>
'FAQ'
,
// Title of the Tab
'width'
=>
100
,
// Tab width
'template'
=>
'templates/faq_sections_edit.htm'
,
// Template file name
'fields'
=>
array
(
//*** BEGIN Datatable columns **********************************
'hfs_name'
=>
array
(
'datatype'
=>
'VARCHAR'
,
'formtype'
=>
'TEXT'
,
'validators'
=>
array
(
0
=>
array
(
'type'
=>
'NOTEMPTY'
,
'errmsg'
=>
'subject_is_empty'
),
),
'default'
=>
''
,
'value'
=>
''
,
'width'
=>
'30'
,
'maxlength'
=>
'255'
),
//*** END Datatable columns **********************************
)
);
?>
interface/web/help/lib/lang/cz.lng
View file @
04e09afc
...
...
@@ -6,4 +6,8 @@ $wb['View messages'] = 'Zobrazit zprávu';
$wb
[
'Support'
]
=
'Podpora'
;
$wb
[
'About ISPConfig'
]
=
'O ISPConfigu'
;
$wb
[
'Version'
]
=
'Verze'
;
$wb
[
'Frequently Asked Questions'
]
=
'Často kladené dotazy'
;
$wb
[
'FAQ Sections'
]
=
'Sekce FAQ'
;
$wb
[
'Manage Sections'
]
=
'Spravovat sekce'
;
$wb
[
'Add a Question & Answer Pair'
]
=
'Přidat otázku a odpověď'
;
?>
interface/web/help/lib/lang/cz_faq_form.lng
0 → 100644
View file @
04e09afc
<?php
$wb
[
'faq_faq_txt'
]
=
"Často kladené dotazy"
;
$wb
[
'faq_question_txt'
]
=
"Otázka"
;
$wb
[
'faq_answer_txt'
]
=
"Odpověď"
;
$wb
[
'faq_section_txt'
]
=
"Sekce"
;
?>
interface/web/help/lib/lang/cz_faq_sections_form.lng
0 → 100644
View file @
04e09afc
<?php
$wb
[
'faq_section_name_txt'
]
=
"Název sekce"
;
?>
interface/web/help/lib/lang/cz_help_faq_sections_list.lng
0 → 100644
View file @
04e09afc
<?php
$wb
[
'faq_section_name_txt'
]
=
"Název sekce"
;
$wb
[
'faq_delete_txt'
]
=
"Smazat"
;
$wb
[
'faq_edit_txt'
]
=
"Upravit"
;
$wb
[
'faq_sections_txt'
]
=
"Sekce"
;
$wb
[
'faq_faq_sections_txt'
]
=
"Sekce FAQ"
;
$wb
[
'faq_new_section_txt'
]
=
"Přidat novou sekci"
;
?>
interface/web/help/lib/lang/en.lng
View file @
04e09afc
...
...
@@ -6,5 +6,10 @@ $wb['View messages'] = 'View messages';
$wb
[
'Support'
]
=
'Support'
;
$wb
[
'About ISPConfig'
]
=
'About ISPConfig'
;
$wb
[
'Version'
]
=
'Version'
;
$wb
[
'Frequently Asked Questions'
]
=
'Frequently Asked Questions'
;
$wb
[
'FAQ Sections'
]
=
'FAQ Sections'
;
$wb
[
'Manage Sections'
]
=
'Manage Sections'
;
$wb
[
'Add a Question & Answer Pair'
]
=
'Add a Question & Answer Pair'
;
?>
interface/web/help/lib/lang/en_faq_form.lng
0 → 100644
View file @
04e09afc
<?php
$wb
[
'faq_faq_txt'
]
=
"Frequently Asked Questions"
;
$wb
[
'faq_question_txt'
]
=
"Question"
;
$wb
[
'faq_answer_txt'
]
=
"Answer"
;
$wb
[
'faq_section_txt'
]
=
"Section"
;
?>
interface/web/help/lib/lang/en_faq_sections_form.lng
0 → 100644
View file @
04e09afc
<?php
$wb
[
'faq_section_name_txt'
]
=
"Section Name"
;
?>
interface/web/help/lib/lang/en_help_faq_sections_list.lng
0 → 100644
View file @
04e09afc
<?php
$wb
[
'faq_section_name_txt'
]
=
"Section Name"
;
$wb
[
'faq_delete_txt'
]
=
"Delete"
;
$wb
[
'faq_edit_txt'
]
=
"Edit"
;
$wb
[
'faq_sections_txt'
]
=
"Sections"
;
$wb
[
'faq_faq_sections_txt'
]
=
"FAQ Sections"
;
$wb
[
'faq_new_section_txt'
]
=
"Add a new section"
;
?>
interface/web/help/lib/module.conf.php
View file @
04e09afc
...
...
@@ -10,7 +10,10 @@ $module['title'] = 'top_menu_help';
$module
[
'template'
]
=
'module.tpl.htm'
;
//* The page that is displayed when the module is loaded. the path must is relative to the web directory
$module
[
'startpage'
]
=
'help/index.php'
;
if
(
isset
(
$_GET
[
'go2_faq_sections_list'
]))
$module
[
'startpage'
]
=
'help/faq_sections_list.php'
;
else
$module
[
'startpage'
]
=
'help/index.php'
;
//* The width of the tab. Normally you should leave this empty and let the browser define the width automatically.
$module
[
'tab_width'
]
=
''
;
...
...
@@ -39,6 +42,33 @@ $module['nav'][] = array( 'title' => 'Support',
'open'
=>
1
,
'items'
=>
$items
);
//* the FAQ menu section
$itemsfaq
=
array
();
//* admin's tools
if
(
$_SESSION
[
's'
][
'user'
][
'typ'
]
==
'admin'
)
{
$itemsfaq
[]
=
array
(
'title'
=>
'Add a Question & Answer Pair'
,
'target'
=>
'content'
,
'link'
=>
'help/faq_edit.php'
);
$itemsfaq
[]
=
array
(
'title'
=>
'Manage Sections'
,
'target'
=>
'content'
,
'link'
=>
'help/faq_sections_list.php'
);
}
$sql
=
"SELECT * FROM help_faq_sections"
;
$res
=
$app
->
db
->
queryAllRecords
(
$sql
);
//* all the content sections
foreach
(
$res
as
$v
)
{
$itemsfaq
[]
=
array
(
'title'
=>
$v
[
'hfs_name'
],
'target'
=>
'content'
,
'link'
=>
'help/faq_list.php?hfs_id='
.
$v
[
'hfs_id'
]);
}
$module
[
'nav'
][]
=
array
(
'title'
=>
'FAQ'
,
'open'
=>
1
,
'items'
=>
$itemsfaq
);
//* -- end of the FAQ menu section
if
(
$_SESSION
[
's'
][
'user'
][
'typ'
]
==
'admin'
)
{
//* make sure that the items array is empty
...
...
@@ -60,4 +90,4 @@ $module['nav'][] = array( 'title' => 'About ISPConfig',
?>
\ No newline at end of file
?>
interface/web/help/list/faq_list.php
0 → 100644
View file @
04e09afc
<?php
// Name of the list
$liste
[
'name'
]
=
'help_faq'
;
// Database table
$liste
[
'table'
]
=
'help_faq'
;
// Index index field of the database table
$liste
[
'table_idx'
]
=
'hf_id'
;
// Search Field Prefix
#$liste['search_prefix'] = 'search_';
// Records per page
$liste
[
'records_per_page'
]
=
100
;
// Script File of the list
$liste
[
'file'
]
=
'faq_list.php'
;
// Script file of the edit form
$liste
[
'edit_file'
]
=
'faq_edit.php'
;
// Script File of the delete script
$liste
[
'delete_file'
]
=
'faq_delete.php'
;
// Paging Template
$liste
[
'paging_tpl'
]
=
'templates/paging.tpl.htm'
;
// Enable auth
$liste
[
'auth'
]
=
'yes'
;
?>
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment