/**
* Manage fulltext configurations, dictionaries and mappings
*
- * $Id: fulltext.php,v 1.4 2007/11/23 17:58:47 xzilla Exp $
+ * $Id: fulltext.php,v 1.5 2007/11/30 15:17:22 soranzo Exp $
*/
// Include application functions
doAlterConfig($lang['strftsconfigalteredbad']);
}
- /**
- * View list of FTS parsers
- */
- function doViewParsers($msg = '') {
- global $data, $misc;
- global $lang;
+ /**
+ * View list of FTS parsers
+ */
+ function doViewParsers($msg = '') {
+ global $data, $misc;
+ global $lang;
- $misc->printTrail('database');
+ $misc->printTrail('database');
$misc->printTabs('database','fulltext');
- $misc->printTabs('fulltext','ftsparsers');
- $misc->printMsg($msg);
+ $misc->printTabs('fulltext','ftsparsers');
+ $misc->printMsg($msg);
- $parsers = $data->getFtsParsers();
+ $parsers = $data->getFtsParsers();
- $columns = array(
- 'schema' => array(
- 'title' => $lang['strschema'],
- 'field' => field('schema'),
- ),
- 'name' => array(
- 'title' => $lang['strname'],
- 'field' => field('name'),
- ),
- 'comment' => array(
- 'title' => $lang['strcomment'],
- 'field' => field('comment'),
- ),
+ $columns = array(
+ 'schema' => array(
+ 'title' => $lang['strschema'],
+ 'field' => field('schema'),
+ ),
+ 'name' => array(
+ 'title' => $lang['strname'],
+ 'field' => field('name'),
+ ),
+ 'comment' => array(
+ 'title' => $lang['strcomment'],
+ 'field' => field('comment'),
+ ),
+ );
- );
+ $actions = array();
- $actions = array();
+ $misc->printTable($parsers, $columns, $actions, $lang['strftsnoparsers']);
- $misc->printTable($parsers, $columns, $actions, $lang['strftsnoparsers']);
+ //TODO: create parser
+ //echo "<ul class=\"navlink\">\n";
+ //echo "\t<li><a href=\"#\">{$lang['strftscreateparser']}</a></li>\n";
+ //echo "</ul>\n";
+ }
- //TODO: create parser
- //echo "<ul class=\"navlink\">\n";
- //echo "\t<li><a href=\"#\">{$lang['strftscreateparser']}</a></li>\n";
- //echo "</ul>\n";
- }
+ /**
+ * View list of FTS dictionaries
+ */
+ function doViewDicts($msg = '') {
+ global $data, $misc;
+ global $lang;
+ $misc->printTrail('database');
+ $misc->printTabs('database','fulltext');
+ $misc->printTabs('fulltext','ftsdicts');
+ $misc->printMsg($msg);
- /**
- * View list of FTS dictionaries
- */
- function doViewDicts($msg = '') {
- global $data, $misc;
- global $lang;
+ $dicts = $data->getFtsDictionaries();
- $misc->printTrail('database');
- $misc->printTabs('database','fulltext');
- $misc->printTabs('fulltext','ftsdicts');
- $misc->printMsg($msg);
-
- $dicts = $data->getFtsDictionaries();
-
- $columns = array(
- 'schema' => array(
- 'title' => $lang['strschema'],
- 'field' => field('schema'),
- ),
- 'name' => array(
- 'title' => $lang['strname'],
- 'field' => field('name'),
- ),
- 'actions' => array(
- 'title' => $lang['stractions'],
- ),
- 'comment' => array(
- 'title' => $lang['strcomment'],
- 'field' => field('comment'),
- ),
-
- );
-
- $actions = array(
- 'drop' => array(
- 'title' => $lang['strdrop'],
- 'url' => "fulltext.php?action=dropdict&{$misc->href}&",
- 'vars' => array('ftsdict' => 'name'),
- ),
- 'alter' => array(
- 'title' => $lang['stralter'],
- 'url' => "fulltext.php?action=alterdict&{$misc->href}&",
- 'vars' => array('ftsdict' => 'name'),
- ),
- );
-
- $misc->printTable($dicts, $columns, $actions, $lang['strftsnodicts']);
-
- echo "<ul class=\"navlink\">\n";
- echo "\t<li><a href=\"fulltext.php?action=createdict&{$misc->href}&\">{$lang['strftscreatedict']}</a></li>\n";
- echo "</ul>\n";
-
- }
+ $columns = array(
+ 'schema' => array(
+ 'title' => $lang['strschema'],
+ 'field' => field('schema'),
+ ),
+ 'name' => array(
+ 'title' => $lang['strname'],
+ 'field' => field('name'),
+ ),
+ 'actions' => array(
+ 'title' => $lang['stractions'],
+ ),
+ 'comment' => array(
+ 'title' => $lang['strcomment'],
+ 'field' => field('comment'),
+ ),
+ );
+
+ $actions = array(
+ 'drop' => array(
+ 'title' => $lang['strdrop'],
+ 'url' => "fulltext.php?action=dropdict&{$misc->href}&",
+ 'vars' => array('ftsdict' => 'name'),
+ ),
+ 'alter' => array(
+ 'title' => $lang['stralter'],
+ 'url' => "fulltext.php?action=alterdict&{$misc->href}&",
+ 'vars' => array('ftsdict' => 'name'),
+ ),
+ );
+
+ $misc->printTable($dicts, $columns, $actions, $lang['strftsnodicts']);
+
+ echo "<ul class=\"navlink\">\n";
+ echo "\t<li><a href=\"fulltext.php?action=createdict&{$misc->href}&\">{$lang['strftscreatedict']}</a></li>\n";
+ echo "</ul>\n";
+ }
/**
$ftsdicttemplates = $data->getFtsDictionaryTemplates();
$misc->printTrail('schema');
- $misc->printTitle($lang['strftscreatedict'],'PUT_DOC_LINK_HERE');
+ // TODO: create doc links
+ $misc->printTitle($lang['strftscreatedict'], 'PUT_DOC_LINK_HERE');
$misc->printMsg($msg);
echo "<form action=\"fulltext.php\" method=\"post\">\n";
}
if ($confirm) {
- $misc->printTrail('ftscfg'); // TODO: proper breadcrumbs
- $misc->printTitle($lang['strdrop'], 'PUT_DOC_LINK_HERE');
+ $misc->printTrail('ftscfg'); // TODO: proper breadcrumbs
+ $misc->printTitle($lang['strdrop'], 'PUT_DOC_LINK_HERE');
- echo "<form action=\"fulltext.php\" method=\"post\">\n";
+ echo "<form action=\"fulltext.php\" method=\"post\">\n";
- // Case of multiaction drop
- if (isset($_REQUEST['ma'])) {
+ // Case of multiaction drop
+ if (isset($_REQUEST['ma'])) {
- foreach($_REQUEST['ma'] as $v) {
- $a = unserialize(htmlspecialchars_decode($v, ENT_QUOTES));
- echo "<p>", sprintf($lang['strconfdropftsmapping'], $misc->printVal($a['mapping']), $misc->printVal($_REQUEST['ftscfg'])), "</p>\n";
- printf('<input type="hidden" name="mapping[]" value="%s" />', htmlspecialchars($a['mapping']));
- }
+ foreach($_REQUEST['ma'] as $v) {
+ $a = unserialize(htmlspecialchars_decode($v, ENT_QUOTES));
+ echo "<p>", sprintf($lang['strconfdropftsmapping'], $misc->printVal($a['mapping']), $misc->printVal($_REQUEST['ftscfg'])), "</p>\n";
+ printf('<input type="hidden" name="mapping[]" value="%s" />', htmlspecialchars($a['mapping']));
+ }
} else {
- echo "<p>", sprintf($lang['strconfdropftsmapping'], $misc->printVal($_REQUEST['mapping']), $misc->printVal($_REQUEST['ftscfg'])), "</p>\n";
- echo "<input type=\"hidden\" name=\"mapping\" value=\"", htmlspecialchars($_REQUEST['mapping']), "\" />\n";
- }
+ echo "<p>", sprintf($lang['strconfdropftsmapping'], $misc->printVal($_REQUEST['mapping']), $misc->printVal($_REQUEST['ftscfg'])), "</p>\n";
+ echo "<input type=\"hidden\" name=\"mapping\" value=\"", htmlspecialchars($_REQUEST['mapping']), "\" />\n";
+ }
echo "<input type=\"hidden\" name=\"ftscfg\" value=\"{$_REQUEST['ftscfg']}\" />\n";
echo "<input type=\"hidden\" name=\"action\" value=\"dropmapping\" />\n";
- echo $misc->form;
+ echo $misc->form;
echo "<input type=\"submit\" name=\"drop\" value=\"{$lang['strdrop']}\" />\n";
echo "<input type=\"submit\" name=\"cancel\" value=\"{$lang['strcancel']}\" />\n";
echo "</form>\n";
} else {
- // Case of multiaction drop
- if (is_array($_REQUEST['mapping'])) {
- $status = $data->changeFtsMapping($_REQUEST['ftscfg'], $_REQUEST['mapping'], 'drop');
+ // Case of multiaction drop
+ if (is_array($_REQUEST['mapping'])) {
+ $status = $data->changeFtsMapping($_REQUEST['ftscfg'], $_REQUEST['mapping'], 'drop');
if ($status != 0) {
doViewConfig($_REQUEST['ftscfg'], $lang['strftsmappingdroppedbad']);
return;
}
doViewConfig($_REQUEST['ftscfg'], $lang['strftsmappingdropped']);
- } else {
- $status = $data->changeFtsMapping($_REQUEST['ftscfg'], array($_REQUEST['mapping']), 'drop');
- if ($status == 0) {
- doViewConfig($_REQUEST['ftscfg'], $lang['strftsmappingdropped']);
- } else {
- doViewConfig($_REQUEST['ftscfg'], $lang['strftsmappingdroppedbad']);
- }
- }
+ } else {
+ $status = $data->changeFtsMapping($_REQUEST['ftscfg'], array($_REQUEST['mapping']), 'drop');
+ if ($status == 0) {
+ doViewConfig($_REQUEST['ftscfg'], $lang['strftsmappingdropped']);
+ } else {
+ doViewConfig($_REQUEST['ftscfg'], $lang['strftsmappingdroppedbad']);
+ }
+ }
}
- }
+ }
function doAlterMapping($msg = '') {
global $data, $misc, $lang;
echo "\t\t<th class=\"data left required\">{$lang['strftsmapping']}</th>\n";
echo "\t\t<td class=\"data1\">";
- // Case of multiaction drop
- if (isset($_REQUEST['ma'])) {
- $ma_mappings = array();
- $ma_mappings_names = array();
- foreach($_REQUEST['ma'] as $v) {
- $a = unserialize(htmlspecialchars_decode($v, ENT_QUOTES));
- printf('<input type="hidden" name="formMapping[]" value="%s" />', htmlspecialchars($a['mapping']));
- $ma_mappings[] = $data->getFtsMappingByName($_POST['ftscfg'], $a['mapping']);
- $ma_mappings_names[] = $a['mapping'];
- }
- echo implode(", ", $ma_mappings_names);
- } else {
+ // Case of multiaction drop
+ if (isset($_REQUEST['ma'])) {
+ $ma_mappings = array();
+ $ma_mappings_names = array();
+ foreach($_REQUEST['ma'] as $v) {
+ $a = unserialize(htmlspecialchars_decode($v, ENT_QUOTES));
+ printf('<input type="hidden" name="formMapping[]" value="%s" />', htmlspecialchars($a['mapping']));
+ $ma_mappings[] = $data->getFtsMappingByName($_POST['ftscfg'], $a['mapping']);
+ $ma_mappings_names[] = $a['mapping'];
+ }
+ echo implode(", ", $ma_mappings_names);
+ } else {
$mapping = $data->getFtsMappingByName($_POST['ftscfg'], $_POST['formMapping']);
echo $mapping->fields['name'];
echo "<input type=\"hidden\" name=\"formMapping\" value=\"", htmlspecialchars($_POST['formMapping']), "\" />\n";
- }
+ }
echo "\t\t</td>\n";
echo "\t</tr>\n";
- // Dictionary
+ // Dictionary
echo "\t<tr>\n";
echo "\t\t<th class=\"data left required\">{$lang['strftsdict']}</th>\n";
echo "\t\t<td class=\"data1\">";
echo "\t</tr>\n";
- // Dictionary
+ // Dictionary
echo "\t<tr>\n";
echo "\t\t<th class=\"data left required\">{$lang['strftsdict']}</th>\n";
echo "\t\t<td class=\"data1\">";
function doTree() {
global $misc, $data, $lang, $slony;
- $tabs = $misc->getNavTabs('fulltext');
- $items = $misc->adjustTabsForTree($tabs);
+ $tabs = $misc->getNavTabs('fulltext');
+ $items = $misc->adjustTabsForTree($tabs);
$reqvars = $misc->getRequestVars('ftscfg');
$attrs = array(
- 'text' => noEscape(field('title')),
- 'icon' => field('icon'),
+ 'text' => noEscape(field('title')),
+ 'icon' => field('icon'),
'action' => url('fulltext.php',
- $reqvars,
- field('urlvars')
- ),
- 'branch' => url('fulltext.php',
- $reqvars,
- array(
- 'action' => 'subtree',
- 'what' => field('icon') // IZ: yeah, it's ugly, but I do not want to change navigation tabs arrays
- )
- ),
+ $reqvars,
+ field('urlvars')
+ ),
+ 'branch' => url('fulltext.php',
+ $reqvars,
+ array(
+ 'action' => 'subtree',
+ 'what' => field('icon') // IZ: yeah, it's ugly, but I do not want to change navigation tabs arrays
+ )
+ ),
);
$misc->printTreeXML($items, $attrs);
exit;
}
- function doSubTree($what) {
- global $misc, $data, $lang;
-
- switch($what) {
- case 'FtsCfg':
- $items = $data->getFtsConfigurations();
- $urlvars = array('action' => 'viewconfig', 'ftscfg' => field('name'));
- break;
- case 'FtsDict':
- $items = $data->getFtsDictionaries();
- $urlvars = array('action' => 'viewdicts');
- break;
- case 'FtsParser':
- $items = $data->getFtsParsers();
- $urlvars = array('action' => 'viewparsers');
- break;
- default:
- exit;
- }
-
- $reqvars = $misc->getRequestVars('ftscfg');
-
- $attrs = array(
- 'text' => noEscape(field('name')),
- 'icon' => $what,
- 'toolTip'=> field('comment'),
- 'action' => url('fulltext.php',
- $reqvars,
- $urlvars
- ),
- 'branch' => ifempty(
- field('branch'), '', url('fulltext.php',
- $reqvars,
- array(
- 'action' => 'subtree',
- 'ftscfg' => field('name')
- )
- )),
- );
-
- $misc->printTreeXML($items, $attrs);
- exit;
- }
+ function doSubTree($what) {
+ global $misc, $data, $lang;
+
+ switch($what) {
+ case 'FtsCfg':
+ $items = $data->getFtsConfigurations();
+ $urlvars = array('action' => 'viewconfig', 'ftscfg' => field('name'));
+ break;
+ case 'FtsDict':
+ $items = $data->getFtsDictionaries();
+ $urlvars = array('action' => 'viewdicts');
+ break;
+ case 'FtsParser':
+ $items = $data->getFtsParsers();
+ $urlvars = array('action' => 'viewparsers');
+ break;
+ default:
+ exit;
+ }
+
+ $reqvars = $misc->getRequestVars('ftscfg');
+
+ $attrs = array(
+ 'text' => noEscape(field('name')),
+ 'icon' => $what,
+ 'toolTip'=> field('comment'),
+ 'action' => url('fulltext.php',
+ $reqvars,
+ $urlvars
+ ),
+ 'branch' => ifempty(field('branch'),
+ '',
+ url('fulltext.php',
+ $reqvars,
+ array(
+ 'action' => 'subtree',
+ 'ftscfg' => field('name')
+ )
+ )
+ ),
+ );
+
+ $misc->printTreeXML($items, $attrs);
+ exit;
+ }
if ($action == 'tree') doTree();
- if ($action == 'subtree') doSubTree($_REQUEST['what']);
+ if ($action == 'subtree') doSubTree($_REQUEST['what']);
$misc->printHeader($lang['strschemas']);
$misc->printBody();
case 'viewconfig':
doViewConfig($_REQUEST['ftscfg']);
break;
- case 'viewparsers':
- doViewParsers();
- break;
- case 'viewdicts':
- doViewDicts();
- break;
+ case 'viewparsers':
+ doViewParsers();
+ break;
+ case 'viewdicts':
+ doViewDicts();
+ break;
case 'createdict':
if (isset($_POST['create'])) doSaveCreateDict();
else doCreateDict();