tagging as ATutor 1.5.4-release
[atutor.git] / admin / translator.php
1 <?php
2 /****************************************************************/
3 /* ATutor                                                                                                               */
4 /****************************************************************/
5 /* Copyright (c) 2002-2003 by Greg Gay & Joel Kronenberg        */
6 /* Adaptive Technology Resource Centre / University of Toronto  */
7 /* http://atutor.ca                                                                                             */
8 /*                                                              */
9 /* This program is free software. You can redistribute it and/or*/
10 /* modify it under the terms of the GNU General Public License  */
11 /* as published by the Free Software Foundation.                                */
12 /****************************************************************/
13 // $Id$
14
15 if ( !isset($db) || !defined('AT_INCLUDE_PATH') || !isset($_SESSION['language'])        ) { echo 'xx'; exit; }
16
17 if ($_POST['function'] == 'edit_term') {
18         if ($_POST['submit2']) {
19                 delete_term($_POST['v'], $_POST['k']);
20         } else {
21                 $success_error = update_term($_POST['text'], $_POST['context'], $_POST['v'], $_POST['k']);
22         }
23 } else if ($_POST['function'] == 'add_term') {
24         $success_error = add_term($_POST['text'], $_POST['context'], $_POST['v'], $_POST['k']);
25         $_REQUEST['page'] = 'none';
26 }
27
28 if ($_REQUEST['n']) {
29         $n = ' checked="checked"';
30                 }
31 if ($_REQUEST['u']) {
32         $u = ' checked="checked"';
33 }
34
35 if ($_SESSION['language'] != 'en') {
36         echo '<li>Choose the New and Updated filters to display only language that has not been translated, or language that needs to be modified<br />';
37
38         echo '<table border="0" cellspacing="0" cellpadding="2" style="border: 1px solid #cccccc;"><tr><td  bgcolor="#eeeeee" nowrap="nowrap"><h5 class="heading2">Filter</h5></td><td>';
39         echo '<form method="get" action="'.$_SERVER['PHP_SELF'].'">
40                 <input type="hidden" name="v" value="'.$_REQUEST['v'].'" />
41                 <input type="hidden" name="f" value="'.$_REQUEST['f'].'" /><input type="checkbox" name="n" id="n" value="1" '.$n.' /><label for="n">New Language</label>, <input type="checkbox" name="u" id="u" value="1" '.$u.'/><label for="u">Updated Language</label> <input type="submit" name="filter" value="Apply" class="submit" /></form></td></tr></table><br />';
42         echo '</li>';
43 }
44 ?>
45
46         <!--//display messages and templates, with option to add new language terms/messages//-->
47         <li>Choose Template,  Msgs, or Modules to display a list of language variables. Click on a variable name to display its associated language.
48                 <ul>
49                 <?php foreach ($variables as $row) { ?>
50                         <li><strong>
51                         <?php echo '<a href="'.$_SERVER['PHP_SELF'].'?v='.$row.SEP.'f='.$_REQUEST['f'].SEP.'n='.$_REQUEST['n'].SEP.'u='.$_REQUEST['u'].'">';
52                         echo ucwords(str_replace('_', '', $row));
53                         echo '</a>';
54                         if ($_SESSION['status'] == $_USER_ADMIN && ($_SESSION['language'] == 'en')) {
55                                 echo ' | <a href="'.$_SERVER['PHP_SELF'].'?v='.$row.SEP.'new=1">new</a>';
56                         }
57                         ?>
58                         </strong></li>
59                 <?php } ?>
60                 </ul>
61                 <br />
62         </li>
63
64         <li>
65                 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
66                         <input type="text" name="search_term" value="<?php echo htmlspecialchars($stripslashes($_REQUEST['search_term'])); ?>" /> <input type="submit" name="search" value="Search Phrase" class="submit" /> 
67                 </form>
68         </li>
69 </ol>
70 <hr />
71
72 <?php if (($_REQUEST['new'] == 1) && $_SESSION['status'] == $_USER_ADMIN) { ?>
73 <a name="anchor"></a>
74 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>#anchor">
75         <input type="hidden" name="search_term" value="<?php echo htmlspecialchars($stripslashes($_REQUEST['search_term'])); ?>" />
76         <input type="hidden" name="v" value="<?php echo $_REQUEST['v']; ?>" />
77         <input type="hidden" name="page" value="<?php echo $_REQUEST['page']; ?>" />
78         <input type="hidden" name="function" value="add_term" />
79
80         <table border="0" cellspacing="0" cellpadding="3" width="75%" align="center" class="box">
81         <tr>
82                 <th colspan="2" class="box">New</th>
83         </tr>
84         <tr>
85                 <td align="right"><b>Variable:</b></td>
86                 <td><tt><?php echo $_REQUEST['v'];?></tt></td>
87         </tr>
88         <tr>
89                 <td align="right"><b>Term:</b></td>
90                 <td><input type="text" name="k" class="input" /></td>
91         </tr>
92         <tr>
93                 <td align="right"><b>Context:</b></td>
94                 <td><input type="text" name="context" class="input" /></td>
95         </tr>
96         <tr>
97                 <td valign="top" align="right" nowrap="nowrap"><b><tt><?php echo $langs[$_SESSION['language']]['name'];?></tt> text:</b></td>
98                 <td><textarea cols="45" rows="5" name="text" class="input2"><?php echo $row2['text'];?></textarea></td>
99         </tr>
100         <tr>
101                 <td colspan="2" align="center"><input type="submit" name="submit" value="Save ALT-S" class="submit" accesskey="s" /></td>
102         </tr>
103         </table>
104 </form>
105 <?php
106         }
107         if ($_REQUEST['v'] && $_REQUEST['k']) {
108                 $sql    = "SELECT * FROM ".TABLE_PREFIX."language_text WHERE term='$_REQUEST[k]' AND variable='$_REQUEST[v]' AND `language_code`='$_REQUEST[f]'";
109                 $result = mysql_query($sql, $db);
110                 $row    = mysql_fetch_assoc($result);
111                 if ($row == '') {
112                         echo '<p>The source language was not found for that item (try using the English source).</p>';
113                         require (AT_INCLUDE_PATH.'footer.inc.php');
114                         exit;
115                 }
116
117                 if ($_SESSION['language'] == 'en') {
118                         $row2 = $row;
119                 } else {
120                         $sql    = "SELECT text FROM ".TABLE_PREFIX."language_text WHERE term='$_REQUEST[k]' AND variable='$_REQUEST[v]' AND `language_code`='$_SESSION[language]'";
121                 }
122
123                 $result = mysql_query($sql, $db);
124                 $row2   = mysql_fetch_array($result);
125
126 function trans_form($page) {
127         global $row0;
128         global $row;
129         global $row2;
130         global $langs;
131         global $success_error;
132         global $db;
133         global $_USER_ADMIN;
134         global $addslashes;
135         global $stripslashes;
136 ?>
137 <br />
138 <a name="anchor"></a>
139 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>#anchor">
140         <input type="hidden" name="v" value="<?php echo $row['variable']; ?>" />
141         <input type="hidden" name="k" value="<?php echo $row['term']; ?>" />
142         <input type="hidden" name="f" value="<?php echo $_REQUEST['f']; ?>" />
143         <input type="hidden" name="search_term" value="<?php echo htmlspecialchars($stripslashes($_REQUEST['search_term'])); ?>" />
144         <input type="hidden" name="page" value="<?php echo $page; ?>" />
145         <input type="hidden" name="function" value="edit_term" />
146
147         <?php ?>
148
149         <table border="0" cellspacing="0" cellpadding="2" width="90%" align="center" class="box">
150         <tr>
151                 <th class="box" colspan="2">Edit</th>
152         </tr>
153         <tr>
154                 <td align="right"><b>Context:</b></td>
155                 <td><?php
156                         if ($_SESSION['language'] == 'en') {
157                                 echo '<input type="text" name="context" class="input" value="'.$row['context'].'" size="45" />';
158                         } else {
159                                 if ($row['context'] == '') {
160                                         echo '<em>None specified.</em>';
161                                 } else {
162                                         echo $row['context'];
163                                 }
164                         } ?>&nbsp;</td>
165         </tr>
166         <tr>
167                 <td valign="top" align="right" nowrap="nowrap"><b>Pages:</b></td>
168                 <td><?php 
169                                         $sql    = "SELECT * FROM ".TABLE_PREFIX."language_pages WHERE `term`='$_REQUEST[k]' ORDER BY page LIMIT 11";
170                                         $result = mysql_query($sql, $db);
171
172                                         if (mysql_num_rows($result) > 10) {
173                                                 echo '<em>Global (more than 10 pages)</em>';
174                                         } else {
175                                                 while ($page_row = mysql_fetch_array($result)) {
176                                                         echo $page_row['page'] . '<br />';
177                                                 }
178                                         }
179
180                                  ?>
181                 </td>
182         </tr>
183         <tr>
184                 <td valign="top" align="right" nowrap="nowrap"><b><tt><?php echo $langs[$_REQUEST['f']]['name'];?></tt> text:</b></td>
185                 <td><?php echo nl2br(htmlspecialchars($row['text'])); ?></td>
186         </tr>
187         <tr>
188                 <td valign="top" align="right" nowrap="nowrap"><b><tt><?php echo $langs[$_SESSION['language']]['name'];?></tt> text:</b></td>
189                 <td><textarea cols="55" rows="8" name="text" class="input2"><?php echo $row2['text'];?></textarea></td>
190         </tr>
191         <tr>
192                 <td colspan="2" align="center"><input type="submit" name="submit" value="Save ALT-S" class="submit" accesskey="s" />
193                 <?php if ($_SESSION['language'] == 'en' && $_SESSION['status'] == $_USER_ADMIN): ?>
194                                         &nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="submit2" value="Delete" onClick="return confirm('Do you really want to delete?');" class="submit" />
195                 <?php endif; ?>
196                 </td>
197         </tr>
198         </table>
199         </form>
200
201         <?php
202                 echo $success_error;
203         }
204 }
205         //displaying templates
206         if (!$_REQUEST['search_term'] && ($_REQUEST['v'] == $variables[0])) {
207                 echo '<ul>';
208                 
209                 echo '<li><a href="'.$_SERVER['PHP_SELF'].'?v='.$_REQUEST['v'].SEP.'page=all'.SEP.'f='.$_REQUEST['f'].SEP.'n='.$_REQUEST['n'].SEP.'u='.$_REQUEST['u'].'#anchor1">View All Terms</a>';
210                 
211                 if ($_REQUEST['page'] == 'all') {
212                         echo '<a name="anchor1"></a>';
213                         display_all_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
214                 }
215                 echo '</li>';
216
217                 echo '<li><a href="'.$_SERVER['PHP_SELF'].'?v='.$_REQUEST['v'].SEP.'page=none'.SEP.'f='.$_REQUEST['f'].SEP.'n='.$_REQUEST['n'].SEP.'u='.$_REQUEST['u'].'#anchor1">View Unused Terms</a>';
218
219                 if ($_REQUEST['page'] == 'none') {
220                         echo '<a name="anchor1"></a>';
221                         display_unused_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
222                 }
223                 echo '</li>';
224
225                 $sql0 = "SELECT DISTINCT page FROM ".TABLE_PREFIX."language_pages ORDER BY page";
226                 $result0 = mysql_query($sql0, $db);
227                                 
228                 while ($row0 = mysql_fetch_assoc($result0)) {
229
230                         if ($_REQUEST['page'] == $row0['page']) {
231                                 display_page_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u'], $row0['page']);
232                         }
233                         else {
234                                 echo '<li><a href="'.$_SERVER['PHP_SELF'].'?v='.$_REQUEST['v'].SEP.'page='.urlencode($row0['page']).SEP.'f='.$_REQUEST['f'].SEP.'n='.$_REQUEST['n'].SEP.'u='.$_REQUEST['u'].'#anchor1">'.$row0['page'].'</a></li>';
235                         }
236                 }
237                 echo '</ul>';
238         } else if (!$_REQUEST['search_term'] && ($_REQUEST['v'] == $variables[1])){
239                 //displaying messages
240                 display_all_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
241         } else if (!$_REQUEST['search_term'] && ($_REQUEST['v'] == $variables[2])){
242                 display_all_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
243         } else if ($_REQUEST['search_term']) {
244                 display_search_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
245         }
246
247
248 function delete_term($variable, $term) {
249         global $db;
250
251         $sql = "DELETE FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND term='$term'";
252         $result = mysql_query($sql, $db);
253
254         $sql3 = "DELETE FROM ".TABLE_PREFIX."language_pages WHERE term='$term'";
255         $result3 = mysql_query($sql3, $db);
256
257         unset($_REQUEST['k']);
258         echo '<div class="feedback2"">Success: deleted.</div>';
259 }
260
261 function update_term($text, $context, $variable, $term) {
262         global $addslashes, $db;
263         
264         $term    = $addslashes(trim($term));
265         $text    = $addslashes(trim($text));
266         $context = $addslashes(trim($context));
267
268         if ($_SESSION['language'] == 'en') {
269                 $sql    = "UPDATE ".TABLE_PREFIX."language_text SET `text`='$text', revised_date=NOW(), context='$context' WHERE variable='$variable' AND term='$term' AND language_code='en'";
270         }
271         
272         else {
273                 $sql    = "REPLACE INTO ".TABLE_PREFIX."language_text VALUES ('$_SESSION[language]', '$variable', '$term', '$text', NOW(), '')";
274
275                 $trans = get_html_translation_table(HTML_ENTITIES);
276                 $trans = array_flip($trans);
277                 $sql = strtr($sql, $trans);
278         }
279
280         $result = mysql_query($sql, $db);
281         
282         if (!$result) {
283                 echo mysql_error($db);
284                 echo '<div class="error">Error: changes not saved!</div>';
285                 $success_error = '<div class="error">Error: changes not saved!</div>';
286                 return $success_error;
287         }
288         else {
289                 echo '<div class="feedback2"">Success: changes saved.</div>';
290                 $success_error = '<div class="feedback2"">Success: changes saved.</div>';
291                 return $success_error;
292         }
293 }
294
295 function add_term($text, $context, $variable, $term) {
296         global $addslashes, $db;
297
298         $term    = $addslashes(trim($term));
299         $text    = $addslashes(trim($text));
300         $context = $addslashes(trim($context));
301
302         $sql    = "INSERT INTO ".TABLE_PREFIX."language_text VALUES ('en', '$variable', '$term', '$text', NOW(), '$context')";
303         $result = mysql_query($sql, $db);
304
305         if (!$result) {
306                 echo '<div class="error">Error: that term already exists!</div>';
307                 $success_error = '';            
308         } else {
309                 echo '<div class="feedback2"">Success: term added.</div>';
310                 $success_error = '<div class="feedback2"">Success: term added.</div>';
311                 return $success_error;
312         }
313 }
314
315 function display_page_terms ($variable, $term1, $lang_code, $new, $updated, $page) {
316         global $db;
317         
318         echo '<li><a name="anchor1"></a>';
319         echo '<a href="'.$_SERVER['PHP_SELF'].'?v='.$variable.SEP.'page='.urlencode($page).SEP.'f='.$lang_code.SEP.'n='.$new.SEP.'u='.updated.'#anchor">'.$page.'</a>';
320                         
321         $sql1 = "SELECT term FROM ".TABLE_PREFIX."language_pages WHERE page='$page' ORDER BY term";
322         $result1 = mysql_query($sql1, $db);
323
324         $term_list = array();
325
326         while ($row1 = mysql_fetch_assoc($result1)) {
327         
328                 if ($_SESSION['language'] != 'en') {
329                         $sql    = "SELECT term, revised_date+0  AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND `language_code`='$_SESSION[language]' AND term='$row1[term]' ORDER BY `term`";
330                         $result = mysql_query($sql, $db);
331                                                                 
332                         while ($row = mysql_fetch_assoc($result)) {
333                                 $t_keys[$row['term']] = $row['r_date'];
334                         }
335                 }
336                 $term_list[] = $row1['term'];
337         }
338
339         echo '<ul>';
340         
341         foreach ($term_list as $term) {
342
343                 if ($_REQUEST['f'] == 'en') {
344                         $sql    = "SELECT *, revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$_REQUEST[v]' AND language_code='en' AND term='$term'";
345                 } else {
346                         $sql    = "SELECT * FROM ".TABLE_PREFIX."language_text WHERE variable='$_REQUEST[v]' AND language_code='$_REQUEST[f]' AND term='$term'";
347                 }
348                                 
349                 $result = mysql_query($sql, $db);
350                 $row = mysql_fetch_assoc($result);
351
352                 if ($_SESSION['language'] != 'en') {
353                         if ($new && $updated) {
354                                 if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
355                                         continue;
356                                 }
357                         } else if ($new) {
358                                 if (!($t_keys[$row['term']] == '')) {   
359                                         continue;
360                                 }
361                         } else if ($updated) {
362                                 if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
363                                         continue;
364                                 }
365                         }
366                 }
367
368                 if ($term == $term1) {
369                         trans_form($page);
370                         echo '<li class="selected">';
371                 } else {
372                         echo '<li>';
373                 }
374                 echo '<small>';
375
376                 if ($_SESSION['language'] != 'en') {
377                         if ($t_keys[$row['term']] == '') {
378                                 echo '<b>*New*</b> ';
379                         } else if ($t_keys[$term] < $row['r_date']) {
380                                 echo '<b>*Updated*</b> ';
381                         }
382                 }
383
384                 if ($term != $term1) {
385                         echo '<a href="'.$_SERVER['PHP_SELF'].'?v='.$variable.SEP.'k='.$term.SEP.'f='.$lang_code.SEP.'n='.$new.SEP.'u='.$updated.SEP.'page='.urlencode($page).'#anchor">';
386                         echo $term;
387                         echo '</a>';
388                 } else {
389                         echo $term;
390                 }
391                 echo '</small>';
392                 echo '</li>';
393         }
394         echo '</ul>';
395         echo '</li>';
396 }
397
398 function display_all_terms ($variable, $term1, $lang_code, $new, $updated) {
399         global $db;
400
401         if ($_SESSION['language'] != 'en') {
402                 $sql    = "SELECT term, revised_date+0  AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND `language_code`='$_SESSION[language]' ORDER BY `term`";
403                 $result = mysql_query($sql, $db);
404
405                 $t_keys = array();
406                 while ($row = mysql_fetch_assoc($result)) {
407                         $t_keys[$row['term']] = $row['r_date'];
408                 }
409         }
410
411         if ($lang_code == 'en') {
412                 $sql    = "SELECT *, revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND language_code='en' ORDER BY term";
413         } else {
414                 $sql    = "SELECT * FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND language_code='$lang_code' ORDER BY term";
415         }
416         $result = mysql_query($sql, $db);
417
418         echo '<ul>';
419         while ($row = mysql_fetch_assoc($result)) {
420                 if ($_SESSION['language'] != 'en') {
421                         if ($new && $updated) {
422                                 if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
423                                         continue;
424                                 }
425                         } else if ($new) {
426                                 if (!($t_keys[$row['term']] == '')) {   
427                                         continue;
428                                 }
429                         } else if ($updated) {
430                                 if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
431                                         continue;
432                                 }
433                         }
434                 }
435
436
437                 if ($row['term'] == $term1) {
438                         trans_form('all');
439                         echo '<li class="selected">';
440
441                 } else {
442                         echo '<li>';
443                 }
444                 echo '<small>';
445                 if ($_SESSION['language'] != 'en') {
446                         if ($t_keys[$row['term']] == '') {
447                                 echo '<b>*New*</b> ';
448                         } else if ($t_keys[$row['term']] < $row['r_date']) {
449                                 echo '<b>*Updated*</b> ';
450                         }
451                 }
452
453                 if ($row['term'] != $term1) {
454                         echo '<a href="'.$_SERVER['PHP_SELF'].'?v='.$variable.SEP.'k='.$row['term'].SEP.'page=all'.SEP.'f='.$lang_code.SEP.'n='.$new.SEP.'u='.$updated.'#anchor">';
455                         echo $row['term'];
456                         echo '</a>';
457                 } else {
458                         echo $row['term'];
459                 }
460                 echo '</small>';
461                 echo '</li>';
462         }
463         echo '</ul>';
464 }
465
466 function display_unused_terms ($variable, $term1, $lang_code, $new, $updated) {
467         global $db;
468
469         if ($_SESSION['language'] != 'en') {
470                 $sql    = "SELECT term, revised_date+0  AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND `language_code`='$_SESSION[language]' ORDER BY `term`";
471                 $result = mysql_query($sql, $db);
472
473                 $t_keys = array();
474                 while ($row = mysql_fetch_assoc($result)) {
475                         $t_keys[$row['term']] = $row['r_date'];
476                 }
477         }
478
479         if ($lang_code == 'en') {
480                 $sql    = "SELECT lt.*, lt.revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text lt LEFT JOIN ".TABLE_PREFIX."language_pages lp ON lt.term = lp.term WHERE lp.term IS NULL AND lt.variable='$variable' AND lt.language_code='en' ORDER BY lt.term";
481         } else {
482                 $sql    = "SELECT lt.* FROM ".TABLE_PREFIX."language_text lt LEFT JOIN ".TABLE_PREFIX."language_pages lp ON lt.term = NULL WHERE lt.variable='$variable' AND lt.language_code='$lang_code' ORDER BY lt.term";
483         }
484         $result = mysql_query($sql, $db);
485
486         echo '<ul>';
487         while ($row = mysql_fetch_assoc($result)) {
488                 if ($_SESSION['language'] != 'en') {
489                         if ($new && $updated) {
490                                 if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
491                                         continue;
492                                 }
493                         } else if ($new) {
494                                 if (!($t_keys[$row['term']] == '')) {   
495                                         continue;
496                                 }
497                         } else if ($updated) {
498                                 if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
499                                         continue;
500                                 }
501                         }
502                 }
503
504
505                 if ($row['term'] == $term1) {
506                         trans_form('none');
507                         echo '<li class="selected">';
508
509                 } else {
510                         echo '<li>';
511                 }
512                 echo '<small>';
513                 if ($_SESSION['language'] != 'en') {
514                         if ($t_keys[$row['term']] == '') {
515                                 echo '<b>*New*</b> ';
516                         } else if ($t_keys[$row['term']] < $row['r_date']) {
517                                 echo '<b>*Updated*</b> ';
518                         }
519                 }
520
521                 if ($row['term'] != $term1) {
522                         echo '<a href="'.$_SERVER['PHP_SELF'].'?v='.$variable.SEP.'k='.urlencode($row['term']).SEP.'page=none'.SEP.'f='.$lang_code.SEP.'n='.$new.SEP.'u='.$updated.'#anchor">';
523                         echo $row['term'];
524                         echo '</a>';
525                 } else {
526                         echo $row['term'];
527                 }
528                 echo '</small>';
529                 echo '</li>';
530         }
531         echo '</ul>';
532 }
533
534
535 function display_search_terms ($variable, $term1, $lang_code, $new, $updated) {
536         global $db, $addslashes, $stripslashes;
537
538         $_REQUEST['search_term'] = $addslashes($_REQUEST['search_term']);
539
540         $sql    = "SELECT term, revised_date+0  AS r_date FROM ".TABLE_PREFIX."language_text WHERE (variable LIKE '%$_REQUEST[search_term]%' OR text LIKE '%$_REQUEST[search_term]%') AND (`language_code`='$_SESSION[language]' OR `language_code`='en') GROUP BY `term` ORDER BY `term`";
541         $result = mysql_query($sql, $db);
542
543         $t_keys = array();
544         while ($row = mysql_fetch_assoc($result)) {
545                 $t_keys[$row['term']] = $row['r_date'];
546         }
547
548         $sql    = "SELECT *, revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text WHERE (variable LIKE '%$_REQUEST[search_term]%' OR text LIKE '%$_REQUEST[search_term]%') AND (language_code='en' OR language_code='$_SESSION[language]') GROUP BY `term` ORDER BY term";
549         $result = mysql_query($sql, $db);
550
551         if (mysql_num_rows($result) == 0) {
552                 echo '<ul><li>No results found.</li></ul>';
553         } else {
554                 echo '<ul>';
555                 while ($row = mysql_fetch_assoc($result)) {
556                         if ($_SESSION['language'] != 'en') {
557                                 if ($new && $updated) {
558                                         if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
559                                                 continue;
560                                         }
561                                 } else if ($new) {
562                                         if (!($t_keys[$row['term']] == '')) {   
563                                                 continue;
564                                         }
565                                 } else if ($updated) {
566                                         if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
567                                                 continue;
568                                         }
569                                 }
570                         }
571
572
573                         if ($row['term'] == $term1) {
574                                 trans_form('search');
575                                 echo '<li class="selected">';
576
577                         } else {
578                                 echo '<li>';
579                         }
580                         echo '<small>';
581                         if ($_SESSION['language'] != 'en') {
582                                 if ($t_keys[$row['term']] == '') {
583                                         echo '<b>*New*</b> ';
584                                 } else if ($t_keys[$row['term']] < $row['r_date']) {
585                                         echo '<b>*Updated*</b> ';
586                                 }
587                         }
588
589                         if ($row['term'] != $term1) {
590                                 echo '<a href="'.$_SERVER['PHP_SELF'].'?v='.$row['variable'].SEP.'search=1'.SEP.'search_term='.urlencode($stripslashes($_REQUEST['search_term'])).SEP.'k='.$row['term'].SEP.'f='.$lang_code.SEP.'n='.$new.SEP.'u='.$updated.'#anchor">';
591                                 echo $row['term'];
592                                 echo '</a>';
593                         } else {
594                                 echo $row['term'];
595                         }
596                         echo '</small>';
597                         echo '</li>';
598                 }
599                 echo '</ul>';
600         }
601 }
602 ?>