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 22 * @package administration.groupmanagement
23 23 */
24 24  
  25 +require_once(KT_LIB_DIR . '/browse/Criteria.inc');
  26 +
25 27 // Create two listbox
26 28 function renderBrowsePicker() {
27 29  
... ... @@ -38,14 +40,14 @@ function renderBrowsePicker() {
38 40 $sToRender .= "</tr>";
39 41  
40 42 // Initialise structure
41   - $aInfo = InitCriteria();
  43 + $aSelectedCriteria = getSelectedCriteria();
42 44  
43 45 // Select Boxes
44 46 $sToRender .= "<tr>\n";
45 47 $sToRender .= "<td valign=\"top\" width=1%>\n";
46 48 $sToRender .= "<select name=\"browseSelect\" size=\"10\" multiple>\n";
47 49 // retrieve users' groups
48   - $sToRender .= getSelected($aInfo);
  50 + $sToRender .= showSelected($aSelectedCriteria);
49 51 $sToRender .= "</select></td>\n";
50 52 $sToRender .= "<td>";
51 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 64 $sToRender .= "<td valign=\"top\" width=1%>\n";
63 65 $sToRender .= "<select name=\"chosenCriteria\" size=\"10\" multiple>\n";
64 66 // retrieve other groups
65   - $sToRender .= getAvailable($aInfo);
  67 + $sToRender .= showAvailable(Criteria::getAllCriteria(), $aSelectedCriteria);
66 68 $sToRender .= "</select></td>";
67 69 $sToRender .= "</tr>";
68 70  
... ... @@ -76,11 +78,13 @@ function renderBrowsePicker() {
76 78 // Show current settings
77 79 $sBgColor = "#F5F6EE";
78 80 $sToRender .= "<tr>";
79   - $sToRender .= "<td colspan=\"3\"><strong>" . _("Current Users") . "</strong><BR>";
  81 + $sToRender .= "<td colspan=\"3\"><strong>" . _("Current Criteria") . "</strong><BR>";
80 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 89 $sToRender .= "</table></td></tr>";
86 90  
... ... @@ -95,62 +99,34 @@ function renderBrowsePicker() {
95 99 return $sToRender;
96 100 }
97 101  
98   -$aBaseCriteria = array(
  102 +/*$aBaseCriteria = array(
99 103 -1 => _('Title'),
100 104 -2 => _('Description'),
101 105 -3 => _('Creator'),
102 106 -4 => _('Date Created'),
103 107 -5 => _('Document Type'),
104 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 112 $aQuery = array("SELECT criteria_id FROM browse_criteria ORDER BY precedence", array()); /*ok*/
134 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 122 /* Get all Users in a Group */
141   -function getSelected($aInfo) {
  123 +function showSelected($aInfo) {
142 124 global $default;
143 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 128 $sToRender .= "<OPTION value=\"" . $iCriteriaID . "\" onDblClick=\"optBrowse.transferRight()\" >\n";
153   - $sToRender .= $sName;
  129 + $sToRender .= $oCriteria->headerDisplay();
154 130 $sToRender .= "</OPTION>\n";
155 131 }
156 132  
... ... @@ -159,23 +135,15 @@ function getSelected($aInfo) {
159 135  
160 136  
161 137 // Get other Users
162   -function getAvailable($aInfo) {
  138 +function showAvailable($aAvailable, $aSelected) {
163 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 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 145 $sToRender .= "<OPTION value=\"" . $iCriteriaID . "\" onDblClick=\"optBrowse.transferRight()\" >\n";
178   - $sToRender .= $sName;
  146 + $sToRender .= $oCriterion->headerDisplay();
179 147 $sToRender .= "</OPTION>\n";
180 148 }
181 149  
... ...