remove old readme
[atutor.git] / docs / mods / _core / languages / translator.php
1 <?php
2 /****************************************************************/
3 /* ATutor                                                                                                               */
4 /****************************************************************/
5 /* Copyright (c) 2002-2010                                      */
6 /* Inclusive Design Institute                                   */
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
112                 if ($row == '') {
113                         echo '<p>The source language was not found for that item (try using the English source).</p>';
114                         require (AT_INCLUDE_PATH.'footer.inc.php');
115                         exit;
116                 }
117
118                 if ($_SESSION['language'] == 'en') {
119                         $row2 = $row;
120                 } else {
121                         $sql    = "SELECT text FROM ".TABLE_PREFIX."language_text WHERE term='$_REQUEST[k]' AND variable='$_REQUEST[v]' AND language_code='$_SESSION[language]'";
122                 }
123
124                 $result = mysql_query($sql, $db);
125                 $row2   = mysql_fetch_array($result);
126
127 function trans_form($page) {
128         global $row0;
129         global $row;
130         global $row2;
131         global $langs;
132         global $success_error;
133         global $db;
134         global $_USER_ADMIN;
135         global $addslashes;
136         global $stripslashes;
137 ?>
138 <br />
139 <a name="anchor"></a>
140 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>#anchor">
141         <input type="hidden" name="v" value="<?php echo $row['variable']; ?>" />
142         <input type="hidden" name="k" value="<?php echo $row['term']; ?>" />
143         <input type="hidden" name="f" value="<?php echo $_REQUEST['f']; ?>" />
144         <input type="hidden" name="search_term" value="<?php echo htmlspecialchars($stripslashes($_REQUEST['search_term'])); ?>" />
145         <input type="hidden" name="page" value="<?php echo $page; ?>" />
146         <input type="hidden" name="function" value="edit_term" />
147
148         <?php ?>
149
150         <table border="0" cellspacing="0" cellpadding="2" width="90%" align="center" class="box">
151         <tr>
152                 <th class="box" colspan="2">Edit</th>
153         </tr>
154         <tr>
155                 <td align="right"><b>Context:</b></td>
156                 <td><?php
157                         if ($_SESSION['language'] == 'en') {
158                                 echo '<input type="text" name="context" class="input" value="'.$row['context'].'" size="45" />';
159                         } else {
160                                 if ($row['context'] == '') {
161                                         echo '<strong>None specified.</strong>';
162                                 } else {
163                                         echo $row['context'];
164                                 }
165                         } ?>&nbsp;</td>
166         </tr>
167         <tr>
168                 <td valign="top" align="right" nowrap="nowrap"><b>Pages:</b></td>
169                 <td><?php 
170                                         $sql    = "SELECT * FROM ".TABLE_PREFIX."language_pages WHERE term='$_REQUEST[k]' ORDER BY page LIMIT 11";
171                                         $result = mysql_query($sql, $db);
172
173                                         if (mysql_num_rows($result) > 10) {
174                                                 echo '<strong>Global (more than 10 pages)</strong>';
175                                         } else {
176                                                 while ($page_row = mysql_fetch_array($result)) {
177                                                         echo $page_row['page'] . '<br />';
178                                                 }
179                                         }
180
181                                  ?>
182                 </td>
183         </tr>
184         <tr>
185                 <td valign="top" align="right" nowrap="nowrap"><b><tt><?php echo $langs[$_REQUEST['f']]['name'];?></tt> text:</b></td>
186                 <td><?php echo nl2br(htmlspecialchars($row['text'])); ?></td>
187         </tr>
188         <tr>
189                 <td valign="top" align="right" nowrap="nowrap"><b><tt><?php echo $langs[$_SESSION['language']]['name'];?></tt> text:</b></td>
190                 <td><textarea cols="55" rows="8" name="text" class="input2"><?php echo $row2['text'];?></textarea></td>
191         </tr>
192         <tr>
193                 <td colspan="2" align="center"><input type="submit" name="submit" value="Save ALT-S" class="submit" accesskey="s" />
194                 <?php if ($_SESSION['language'] == 'en' && $_SESSION['status'] == $_USER_ADMIN): ?>
195                                         &nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="submit2" value="Delete" onClick="return confirm('Do you really want to delete?');" class="submit" />
196                 <?php endif; ?>
197                 </td>
198         </tr>
199         </table>
200         </form>
201
202         <?php
203                 echo $success_error;
204         }
205 }
206         //displaying templates
207         if (!$_REQUEST['search_term'] && ($_REQUEST['v'] == $variables[0])) {
208                 echo '<ul>';
209                 
210                 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>';
211                 
212                 if ($_REQUEST['page'] == 'all') {
213                         echo '<a name="anchor1"></a>';
214                         display_all_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
215                 }
216                 echo '</li>';
217
218                 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>';
219
220                 if ($_REQUEST['page'] == 'none') {
221                         echo '<a name="anchor1"></a>';
222                         display_unused_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
223                 }
224                 echo '</li>';
225
226                 $sql0 = "SELECT DISTINCT page FROM ".TABLE_PREFIX."language_pages ORDER BY page";
227                 $result0 = mysql_query($sql0, $db);
228                                 
229                 while ($row0 = mysql_fetch_assoc($result0)) {
230
231                         if ($_REQUEST['page'] == $row0['page']) {
232                                 display_page_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u'], $row0['page']);
233                         }
234                         else {
235                                 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>';
236                         }
237                 }
238                 echo '</ul>';
239         } else if (!$_REQUEST['search_term'] && ($_REQUEST['v'] == $variables[1])){
240                 //displaying messages
241                 display_all_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
242         } else if (!$_REQUEST['search_term'] && ($_REQUEST['v'] == $variables[2])){
243                 display_all_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
244         } else if ($_REQUEST['search_term']) {
245                 display_search_terms($_REQUEST['v'], $_REQUEST['k'], $_REQUEST['f'], $_REQUEST['n'], $_REQUEST['u']);
246         }
247
248
249 function delete_term($variable, $term) {
250         global $db;
251
252         $sql = "DELETE FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND term='$term'";
253         $result = mysql_query($sql, $db);
254
255         $sql3 = "DELETE FROM ".TABLE_PREFIX."language_pages WHERE term='$term'";
256         $result3 = mysql_query($sql3, $db);
257
258         unset($_REQUEST['k']);
259         echo '<div class="feedback2"">Success: deleted.</div>';
260 }
261
262 function update_term($text, $context, $variable, $term) {
263         global $addslashes, $db;
264         
265         $term    = $addslashes(trim($term));
266         $text    = $addslashes(trim($text));
267         $context = $addslashes(trim($context));
268
269         if ($_SESSION['language'] == 'en') {
270                 $sql    = "UPDATE ".TABLE_PREFIX."language_text SET text='$text', revised_date=NOW(), context='$context' WHERE variable='$variable' AND term='$term' AND language_code='en'";
271         }
272         
273         else {
274                 $sql    = "REPLACE INTO ".TABLE_PREFIX."language_text VALUES ('$_SESSION[language]', '$variable', '$term', '$text', NOW(), '')";
275
276                 $trans = get_html_translation_table(HTML_ENTITIES);
277                 $trans = array_flip($trans);
278                 $sql = strtr($sql, $trans);
279         }
280
281         $result = mysql_query($sql, $db);
282         
283         if (!$result) {
284                 echo mysql_error($db);
285                 echo '<div class="error">Error: changes not saved!</div>';
286                 $success_error = '<div class="error">Error: changes not saved!</div>';
287                 return $success_error;
288         }
289         else {
290                 echo '<div class="feedback2"">Success: changes saved.</div>';
291                 $success_error = '<div class="feedback2"">Success: changes saved.</div>';
292                 return $success_error;
293         }
294 }
295
296 function add_term($text, $context, $variable, $term) {
297         global $addslashes, $db;
298
299         $term    = $addslashes(trim($term));
300         $text    = $addslashes(trim($text));
301         $context = $addslashes(trim($context));
302
303         $sql    = "INSERT INTO ".TABLE_PREFIX."language_text VALUES ('en', '$variable', '$term', '$text', NOW(), '$context')";
304         $result = mysql_query($sql, $db);
305
306         if (!$result) {
307                 echo '<div class="error">Error: that term already exists!</div>';
308                 $success_error = '';            
309         } else {
310                 echo '<div class="feedback2"">Success: term added.</div>';
311                 $success_error = '<div class="feedback2"">Success: term added.</div>';
312                 return $success_error;
313         }
314 }
315
316 function display_page_terms ($variable, $term1, $lang_code, $new, $updated, $page) {
317         global $db;
318
319         echo '<li><a name="anchor1"></a>';
320         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>';
321                         
322         $sql1 = "SELECT term FROM ".TABLE_PREFIX."language_pages WHERE page='$page' ORDER BY term";
323         $result1 = mysql_query($sql1, $db);
324
325         $term_list = array();
326
327         while ($row1 = mysql_fetch_assoc($result1)) {
328         
329                 if ($_SESSION['language'] != 'en') {
330                         $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";
331                         $result = mysql_query($sql, $db);
332                                                                 
333                         while ($row = mysql_fetch_assoc($result)) {
334                                 $t_keys[$row['term']] = $row['r_date'];
335                         }
336                 }
337                 $term_list[] = $row1['term'];
338         }
339
340         echo '<ul>';
341         
342         foreach ($term_list as $term) {
343
344                 if ($_REQUEST['f'] == 'en') {
345                         $sql    = "SELECT *, revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$_REQUEST[v]' AND language_code='en' AND term='$term'";
346                 } else {
347                         $sql    = "SELECT * FROM ".TABLE_PREFIX."language_text WHERE variable='$_REQUEST[v]' AND language_code='$_REQUEST[f]' AND term='$term'";
348                 }
349
350                 $result = mysql_query($sql, $db);
351                 $row = mysql_fetch_assoc($result);
352
353                 if (mysql_num_rows($result) == 0) continue;
354                 
355                 if ($_SESSION['language'] != 'en') {
356                         if ($new && $updated) {
357                                 if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
358                                         continue;
359                                 }
360                         } else if ($new) {
361                                 if (!($t_keys[$row['term']] == '')) {   
362                                         continue;
363                                 }
364                         } else if ($updated) {
365                                 if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
366                                         continue;
367                                 }
368                         }
369                 }
370
371                 if ($term == $term1) {
372                         trans_form($page);
373                         echo '<li class="selected">';
374                 } else {
375                         echo '<li>';
376                 }
377                 echo '<small>';
378
379                 if ($_SESSION['language'] != 'en') {
380                         if ($t_keys[$row['term']] == '') {
381                                 echo '<b>*New*</b> ';
382                         } else if ($t_keys[$term] < $row['r_date']) {
383                                 echo '<b>*Updated*</b> ';
384                         }
385                 }
386
387                 if ($term != $term1) {
388                         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">';
389                         echo $term;
390                         echo '</a>';
391                 } else {
392                         echo $term;
393                 }
394                 echo '</small>';
395                 echo '</li>';
396         }
397         echo '</ul>';
398         echo '</li>';
399 }
400
401 function display_all_terms ($variable, $term1, $lang_code, $new, $updated) {
402         global $db;
403
404         if ($_SESSION['language'] != 'en') {
405                 $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";
406                 $result = mysql_query($sql, $db);
407
408                 $t_keys = array();
409                 while ($row = mysql_fetch_assoc($result)) {
410                         $t_keys[$row['term']] = $row['r_date'];
411                 }
412         }
413
414         if ($lang_code == 'en') {
415                 $sql    = "SELECT *, revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND language_code='en' ORDER BY term";
416         } else {
417                 $sql    = "SELECT * FROM ".TABLE_PREFIX."language_text WHERE variable='$variable' AND language_code='$lang_code' ORDER BY term";
418         }
419         $result = mysql_query($sql, $db);
420
421         echo '<ul>';
422         while ($row = mysql_fetch_assoc($result)) {
423                 if ($_SESSION['language'] != 'en') {
424                         if ($new && $updated) {
425                                 if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
426                                         continue;
427                                 }
428                         } else if ($new) {
429                                 if (!($t_keys[$row['term']] == '')) {   
430                                         continue;
431                                 }
432                         } else if ($updated) {
433                                 if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
434                                         continue;
435                                 }
436                         }
437                 }
438
439
440                 if ($row['term'] == $term1) {
441                         trans_form('all');
442                         echo '<li class="selected">';
443
444                 } else {
445                         echo '<li>';
446                 }
447                 echo '<small>';
448                 if ($_SESSION['language'] != 'en') {
449                         if ($t_keys[$row['term']] == '') {
450                                 echo '<b>*New*</b> ';
451                         } else if ($t_keys[$row['term']] < $row['r_date']) {
452                                 echo '<b>*Updated*</b> ';
453                         }
454                 }
455
456                 if ($row['term'] != $term1) {
457                         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">';
458                         echo $row['term'];
459                         echo '</a>';
460                 } else {
461                         echo $row['term'];
462                 }
463                 echo '</small>';
464                 echo '</li>';
465         }
466         echo '</ul>';
467 }
468
469 function display_unused_terms ($variable, $term1, $lang_code, $new, $updated) {
470         global $db;
471
472         if ($_SESSION['language'] != 'en') {
473                 $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";
474                 $result = mysql_query($sql, $db);
475
476                 $t_keys = array();
477                 while ($row = mysql_fetch_assoc($result)) {
478                         $t_keys[$row['term']] = $row['r_date'];
479                 }
480         }
481
482         if ($lang_code == 'en') {
483                 $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";
484         } else {
485                 $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";
486         }
487         $result = mysql_query($sql, $db);
488
489         echo '<ul>';
490         while ($row = mysql_fetch_assoc($result)) {
491                 if ($_SESSION['language'] != 'en') {
492                         if ($new && $updated) {
493                                 if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
494                                         continue;
495                                 }
496                         } else if ($new) {
497                                 if (!($t_keys[$row['term']] == '')) {   
498                                         continue;
499                                 }
500                         } else if ($updated) {
501                                 if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
502                                         continue;
503                                 }
504                         }
505                 }
506
507
508                 if ($row['term'] == $term1) {
509                         trans_form('none');
510                         echo '<li class="selected">';
511
512                 } else {
513                         echo '<li>';
514                 }
515                 echo '<small>';
516                 if ($_SESSION['language'] != 'en') {
517                         if ($t_keys[$row['term']] == '') {
518                                 echo '<b>*New*</b> ';
519                         } else if ($t_keys[$row['term']] < $row['r_date']) {
520                                 echo '<b>*Updated*</b> ';
521                         }
522                 }
523
524                 if ($row['term'] != $term1) {
525                         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">';
526                         echo $row['term'];
527                         echo '</a>';
528                 } else {
529                         echo $row['term'];
530                 }
531                 echo '</small>';
532                 echo '</li>';
533         }
534         echo '</ul>';
535 }
536
537
538 function display_search_terms ($variable, $term1, $lang_code, $new, $updated) {
539         global $db, $addslashes, $stripslashes;
540
541         $_REQUEST['search_term'] = $addslashes($_REQUEST['search_term']);
542
543         $sql    = "SELECT term, revised_date+0  AS r_date FROM ".TABLE_PREFIX."language_text WHERE (term LIKE '%$_REQUEST[search_term]%' OR CAST(text AS CHAR) LIKE '%$_REQUEST[search_term]%') AND (language_code='$_SESSION[language]' OR language_code='en') GROUP BY term ORDER BY term";
544         $result = mysql_query($sql, $db);
545
546         $t_keys = array();
547         while ($row = mysql_fetch_assoc($result)) {
548                 $t_keys[$row['term']] = $row['r_date'];
549         }
550
551         $sql    = "SELECT *, revised_date+0 AS r_date FROM ".TABLE_PREFIX."language_text WHERE (term LIKE '%$_REQUEST[search_term]%' OR CAST(text AS CHAR) LIKE '%$_REQUEST[search_term]%') AND (language_code='en' OR language_code='$_SESSION[language]') GROUP BY term ORDER BY term";
552         $result = mysql_query($sql, $db);
553
554         if (mysql_num_rows($result) == 0) {
555                 echo '<ul><li>No results found.</li></ul>';
556         } else {
557                 echo '<ul>';
558                 while ($row = mysql_fetch_assoc($result)) {
559                         if ($_SESSION['language'] != 'en') {
560                                 if ($new && $updated) {
561                                         if ((!($t_keys[$row['term']] == '')) && (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']]))) {
562                                                 continue;
563                                         }
564                                 } else if ($new) {
565                                         if (!($t_keys[$row['term']] == '')) {   
566                                                 continue;
567                                         }
568                                 } else if ($updated) {
569                                         if (!(($t_keys[$row['term']] < $row['r_date']) && $t_keys[$row['term']])) {
570                                                 continue;
571                                         }
572                                 }
573                         }
574
575
576                         if ($row['term'] == $term1) {
577                                 trans_form('search');
578                                 echo '<li class="selected">';
579
580                         } else {
581                                 echo '<li>';
582                         }
583                         echo '<small>';
584                         if ($_SESSION['language'] != 'en') {
585                                 if ($t_keys[$row['term']] == '') {
586                                         echo '<b>*New*</b> ';
587                                 } else if ($t_keys[$row['term']] < $row['r_date']) {
588                                         echo '<b>*Updated*</b> ';
589                                 }
590                         }
591
592                         if ($row['term'] != $term1) {
593                                 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">';
594                                 echo $row['term'];
595                                 echo '</a>';
596                         } else {
597                                 echo $row['term'];
598                         }
599                         echo '</small>';
600                         echo '</li>';
601                 }
602                 echo '</ul>';
603         }
604 }
605 ?>