Commit 7b2febb92e455e7accdd934121c0f9619757bb8a

Authored by Neil Blakey-Milner
1 parent 4990f34d

Change over fully to the new Criteria implementation.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3163 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/administration/browsemanagement/editBrowserUI.inc
@@ -22,6 +22,8 @@ @@ -22,6 +22,8 @@
22 * @package administration.groupmanagement 22 * @package administration.groupmanagement
23 */ 23 */
24 24
  25 +require_once(KT_LIB_DIR . '/browse/Criteria.inc');
  26 +
25 // Create two listbox 27 // Create two listbox
26 function renderBrowsePicker() { 28 function renderBrowsePicker() {
27 29
@@ -38,14 +40,14 @@ function renderBrowsePicker() { @@ -38,14 +40,14 @@ function renderBrowsePicker() {
38 $sToRender .= "</tr>"; 40 $sToRender .= "</tr>";
39 41
40 // Initialise structure 42 // Initialise structure
41 - $aInfo = InitCriteria(); 43 + $aSelectedCriteria = getSelectedCriteria();
42 44
43 // Select Boxes 45 // Select Boxes
44 $sToRender .= "<tr>\n"; 46 $sToRender .= "<tr>\n";
45 $sToRender .= "<td valign=\"top\" width=1%>\n"; 47 $sToRender .= "<td valign=\"top\" width=1%>\n";
46 $sToRender .= "<select name=\"browseSelect\" size=\"10\" multiple>\n"; 48 $sToRender .= "<select name=\"browseSelect\" size=\"10\" multiple>\n";
47 // retrieve users' groups 49 // retrieve users' groups
48 - $sToRender .= getSelected($aInfo); 50 + $sToRender .= showSelected($aSelectedCriteria);
49 $sToRender .= "</select></td>\n"; 51 $sToRender .= "</select></td>\n";
50 $sToRender .= "<td>"; 52 $sToRender .= "<td>";
51 $sToRender .= "<input TYPE=\"button\" NAME=\"up\" style=\"width:10px\" VALUE=\"^\" ONCLICK=\"moveOptionUp(optBrowse.left); optBrowse.update()\"> <br />"; 53 $sToRender .= "<input TYPE=\"button\" NAME=\"up\" style=\"width:10px\" VALUE=\"^\" ONCLICK=\"moveOptionUp(optBrowse.left); optBrowse.update()\"> <br />";
@@ -62,7 +64,7 @@ function renderBrowsePicker() { @@ -62,7 +64,7 @@ function renderBrowsePicker() {
62 $sToRender .= "<td valign=\"top\" width=1%>\n"; 64 $sToRender .= "<td valign=\"top\" width=1%>\n";
63 $sToRender .= "<select name=\"chosenCriteria\" size=\"10\" multiple>\n"; 65 $sToRender .= "<select name=\"chosenCriteria\" size=\"10\" multiple>\n";
64 // retrieve other groups 66 // retrieve other groups
65 - $sToRender .= getAvailable($aInfo); 67 + $sToRender .= showAvailable(Criteria::getAllCriteria(), $aSelectedCriteria);
66 $sToRender .= "</select></td>"; 68 $sToRender .= "</select></td>";
67 $sToRender .= "</tr>"; 69 $sToRender .= "</tr>";
68 70
@@ -76,11 +78,13 @@ function renderBrowsePicker() { @@ -76,11 +78,13 @@ function renderBrowsePicker() {
76 // Show current settings 78 // Show current settings
77 $sBgColor = "#F5F6EE"; 79 $sBgColor = "#F5F6EE";
78 $sToRender .= "<tr>"; 80 $sToRender .= "<tr>";
79 - $sToRender .= "<td colspan=\"3\"><strong>" . _("Current Users") . "</strong><BR>"; 81 + $sToRender .= "<td colspan=\"3\"><strong>" . _("Current Criteria") . "</strong><BR>";
80 $sToRender .= "<table cellspacing=1 border=0>"; 82 $sToRender .= "<table cellspacing=1 border=0>";
81 - for ($i=0; $i < count($aInfo[0]); $i++) {  
82 - $sName = criterionGet($aInfo[0][$i]);  
83 - $sToRender .= "<tr><td>" . ($i+1) . "</td><td bgcolor=$sBgColor>". $sName ."</td></tr>\n"; 83 + $i = 1;
  84 + foreach ($aSelectedCriteria as $oCriterion) {
  85 + $sName = $oCriterion->headerDisplay();
  86 + $sToRender .= "<tr><td>" . $i . "</td><td bgcolor=$sBgColor>". $sName ."</td></tr>\n";
  87 + $i++;
84 } 88 }
85 $sToRender .= "</table></td></tr>"; 89 $sToRender .= "</table></td></tr>";
86 90
@@ -95,62 +99,34 @@ function renderBrowsePicker() { @@ -95,62 +99,34 @@ function renderBrowsePicker() {
95 return $sToRender; 99 return $sToRender;
96 } 100 }
97 101
98 -$aBaseCriteria = array( 102 +/*$aBaseCriteria = array(
99 -1 => _('Title'), 103 -1 => _('Title'),
100 -2 => _('Description'), 104 -2 => _('Description'),
101 -3 => _('Creator'), 105 -3 => _('Creator'),
102 -4 => _('Date Created'), 106 -4 => _('Date Created'),
103 -5 => _('Document Type'), 107 -5 => _('Document Type'),
104 -6 => _('ID'), 108 -6 => _('ID'),
105 -);  
106 -  
107 -function criterionGet($iCriteriaID) {  
108 - global $default;  
109 - global $aBaseCriteria;  
110 - if ($iCriteriaID < 0) {  
111 - $sName = $aBaseCriteria[$iCriteriaID];  
112 - } else {  
113 - $aQuery = array("SELECT name FROM $default->document_fields_table WHERE id = ?", array($iCriteriaID)); /*ok*/  
114 - $sName = DBUtil::getOneResultKey($aQuery, 'name');  
115 - }  
116 - return $sName;  
117 -}  
118 -  
119 -/* Initialise some structures to build ui  
120 - * Return an array of:  
121 - * Current Users assigned to Group  
122 - * UnitAdmin Manageable User Ids  
123 -*/  
124 -function InitCriteria() {  
125 - global $default;  
126 - global $aBaseCriteria;  
127 -  
128 - $aAllCriteriaIDs = array_keys($aBaseCriteria);  
129 - $aQuery = array("SELECT id FROM $default->document_fields_table", array()); /*ok*/  
130 - $aIDs = DBUtil::getResultArrayKey($aQuery, 'id');  
131 - $aAllCriteriaIDs = array_merge($aAllCriteriaIDs, $aIDs); 109 +);*/
132 110
  111 +function getSelectedCriteria() {
133 $aQuery = array("SELECT criteria_id FROM browse_criteria ORDER BY precedence", array()); /*ok*/ 112 $aQuery = array("SELECT criteria_id FROM browse_criteria ORDER BY precedence", array()); /*ok*/
134 $aSelectedCriteriaIDs = DBUtil::getResultArrayKey($aQuery, 'criteria_id'); 113 $aSelectedCriteriaIDs = DBUtil::getResultArrayKey($aQuery, 'criteria_id');
135 -  
136 - return array($aSelectedCriteriaIDs, $aAllCriteriaIDs); 114 + $aSelectedCriteria = array();
  115 + foreach ($aSelectedCriteriaIDs as $iCriteriaID) {
  116 + $aSelectedCriteria[$iCriteriaID] =& Criteria::getCriterionByNumber($iCriteriaID);
  117 + }
  118 + return $aSelectedCriteria;
137 } 119 }
138 120
139 121
140 /* Get all Users in a Group */ 122 /* Get all Users in a Group */
141 -function getSelected($aInfo) { 123 +function showSelected($aInfo) {
142 global $default; 124 global $default;
143 global $aBaseCriteria; 125 global $aBaseCriteria;
144 126
145 - foreach ($aInfo[0] as $iCriteriaID) {  
146 - if ($iCriteriaID < 0) {  
147 - $sName = $aBaseCriteria[$iCriteriaID];  
148 - } else {  
149 - $aQuery = array("SELECT name FROM $default->document_fields_table WHERE id = ?", array($iCriteriaID)); /*ok*/  
150 - $sName = DBUtil::getOneResultKey($aQuery, 'name');  
151 - } 127 + foreach ($aInfo as $iCriteriaID => $oCriteria) {
152 $sToRender .= "<OPTION value=\"" . $iCriteriaID . "\" onDblClick=\"optBrowse.transferRight()\" >\n"; 128 $sToRender .= "<OPTION value=\"" . $iCriteriaID . "\" onDblClick=\"optBrowse.transferRight()\" >\n";
153 - $sToRender .= $sName; 129 + $sToRender .= $oCriteria->headerDisplay();
154 $sToRender .= "</OPTION>\n"; 130 $sToRender .= "</OPTION>\n";
155 } 131 }
156 132
@@ -159,23 +135,15 @@ function getSelected($aInfo) { @@ -159,23 +135,15 @@ function getSelected($aInfo) {
159 135
160 136
161 // Get other Users 137 // Get other Users
162 -function getAvailable($aInfo) { 138 +function showAvailable($aAvailable, $aSelected) {
163 global $default; 139 global $default;
164 - global $aBaseCriteria;  
165 -  
166 - $aOtherUserIDs = array();  
167 140
168 - $aOtherUserIDs = array_diff($aInfo[1], $aInfo[0]); 141 + $aOtherUserIDs = array_diff(array_keys($aAvailable), array_keys($aSelected));
169 142
170 foreach ($aOtherUserIDs as $iCriteriaID) { 143 foreach ($aOtherUserIDs as $iCriteriaID) {
171 - if ($iCriteriaID < 0) {  
172 - $sName = $aBaseCriteria[$iCriteriaID];  
173 - } else {  
174 - $aQuery = array("SELECT name FROM $default->document_fields_table WHERE id = ?", array($iCriteriaID)); /*ok*/  
175 - $sName = DBUtil::getOneResultKey($aQuery, 'name');  
176 - } 144 + $oCriterion = Criteria::getCriterionByNumber($iCriteriaID);
177 $sToRender .= "<OPTION value=\"" . $iCriteriaID . "\" onDblClick=\"optBrowse.transferRight()\" >\n"; 145 $sToRender .= "<OPTION value=\"" . $iCriteriaID . "\" onDblClick=\"optBrowse.transferRight()\" >\n";
178 - $sToRender .= $sName; 146 + $sToRender .= $oCriterion->headerDisplay();
179 $sToRender .= "</OPTION>\n"; 147 $sToRender .= "</OPTION>\n";
180 } 148 }
181 149